VxRail: Jak sprawdzić, która maszyna wirtualna blokuje plik .vmdk
Podsumowanie: W tym artykule wyjaśniono, jak zidentyfikować maszynę wirtualną (VM) korzystającą z pliku .vmdk i zapobiegającą jego usunięciu.
Instrukcje
Czasami w przypadku korzystania z opcji Usuń z dysku na maszynie wirtualnej powoduje to, że folder maszyny wirtualnej nie został usunięty i nadal znajdują się w nim stare pliki .vmdk. Zwykle ten plik .vmdk jest nadal używany, więc jest zablokowany, dlatego nie można go usunąć.
Zdarza się to często podczas korzystania z migawek i może być związane z różnymi przyczynami, takimi jak oprogramowanie do tworzenia kopii zapasowych innej firmy, VMware Horizon lub inne.
Tradycyjnym sposobem rozwiązania tego problemu jest sprawdzenie wszystkich ustawień maszyn wirtualnych klastra do momentu znalezienia maszyny wirtualnej, która nadal korzysta z pliku .vmdk. Istnieje jednak inna metoda, która jest szybsza, którą można zastosować w tej sytuacji:
- W tym przykładzie utworzono dwie testowe maszyny wirtualne w celu odtworzenia tego problemu:
myVM-01 Test-VM-01
- Utworzono również dwa pliki .vmdk dla maszyny wirtualnej
myVM-01:
myVM-01.vmdk myVM-01_1.vmdk
- Następnie
myVM-01_1.vmdkzostała odłączona od oryginalnej maszyny wirtualnej i dodana (dołączona) do maszyny wirtualnejTest-VM-01. Test-VM-01jest włączona, więc nowo podłączony dysk vDiskmyVM-01_1.vmdkjest zablokowany i nie można go usunąć.- Na koniec maszyna wirtualna
myVM-01został usunięty z dysku, ale zgodnie z oczekiwaniami plik .vmdk nie został usunięty:

Przewodnik krok po kroku:
- Otwórz sesję SSH na jednym z hostów ESXi VxRail (vSAN).
- Zmień katalog na folder maszyny wirtualnej, w którym znajduje się wspomniany plik .vmdk.
[root@vcxxxxxx-esx01:~] cd /vmfs/volumes/VxRail-Virtual-SAN-Datastore-1591ac9b-6337-4f4d-b72a-8b78dd2b9547/myVM-01/ [root@vcxxxxxx-esx01:/vmfs/volumes/vsan:522f8adc3102b750-7ce28cbf91a437bc/9ebf0164-4e7c-20f0-c91f-00505683bcb2]
- Pobierz unikalny identyfikator uniwersalny (UUID) .vmdk za pomocą atrybutu
Grep RW vmdk_name.vmdk:[root@vcxxxxxx-esx01:/vmfs/volumes/vsan:522f8adc3102b750-7ce28cbf91a437bc/9ebf0164-4e7c-20f0-c91f-00505683bcb2] grep RW myVM-01_1.vmdk RW 20971520 VMFS "vsan://522f8adc3102b750-7ce28cbf91a437bc/9fbf0164-b6e0-ec93-d3d9-00505683bcb2" [root@vcxxxxxx-esx01:/vmfs/volumes/vsan:522f8adc3102b750-7ce28cbf91a437bc/9ebf0164-4e7c-20f0-c91f-00505683bcb2]
- Pobierz
.vmdk.lckplik, który ma w nazwie ten sam identyfikator UUID .vmdk z poprzedniego polecenia:ls -lah .*.lcklubls -lah *.lckJeśli plik blokady nie jest ukryty.[root@vcxxxxxx-esx01:/vmfs/volumes/vsan:522f8adc3102b750-7ce28cbf91a437bc/9ebf0164-4e7c-20f0-c91f-00505683bcb2] ls -lah .*.lck -rw------- 1 root root 0 Mar 3 09:36 .9fbf0164-b6e0-ec93-d3d9-00505683bcb2.lck [root@vcxxxxxx-esx01:/vmfs/volumes/vsan:522f8adc3102b750-7ce28cbf91a437bc/9ebf0164-4e7c-20f0-c91f-00505683bcb2] ls -lah *.lck ls: *.lck: No such file or directory [root@vcxxxxxx-esx01:/vmfs/volumes/vsan:522f8adc3102b750-7ce28cbf91a437bc/9ebf0164-4e7c-20f0-c91f-00505683bcb2]
- W powyższych danych wyjściowych plik blokady .vmdk może być widoczny jako ukryty.
- W powyższych danych wyjściowych plik blokady .vmdk może być widoczny jako ukryty.
- Sprawdź, kto jest właścicielem węzła zamka, za pomocą
vmfsfilelockinfo -p <.lck_filename>:[root@vcxxxxxx-esx01:/vmfs/volumes/vsan:522f8adc3102b750-7ce28cbf91a437bc/9ebf0164-4e7c-20f0-c91f-00505683bcb2] vmfsfilelockinfo -p .9fbf0164-b6e0-ec93-d3d9-00505683bcb2.lck vmfsfilelockinfo Version 2.0 Looking for lock owners on ".9fbf0164-b6e0-ec93-d3d9-00505683bcb2.lck" ".9fbf0164-b6e0-ec93-d3d9-00505683bcb2.lck" is locked in Exclusive mode by host having mac address ['00:xx:xx:xx:xx:a4'] Trying to make use of Fault Domain Manager ---------------------------------------------------------------------- Found 4 ESX hosts using Fault Domain Manager. ---------------------------------------------------------------------- Searching on Host vcxxxxxx-esx02.vxxx.local Searching on Host vcxxxxxx-esx04.vxxx.local Searching on Host vcxxxxxx-esx01.vxxx.local Searching on Host vcxxxxxx-esx03.vxxx.local MAC Address : 00:xx:xx:xx:xx:a4 Host owning the lock on file is vcxxxxxx-esx03.vxxx.local, lockMode : Exclusive Total time taken : 0.4937002270016819 seconds. [root@vcxxxxxx-esx01:/vmfs/volumes/vsan:522f8adc3102b750-7ce28cbf91a437bc/9ebf0164-4e7c-20f0-c91f-00505683bcb2]- Z powyższych danych wyjściowych widać, że właścicielem blokady jest host
vcxxxxxx-esx03.vxxx.local.
- Z powyższych danych wyjściowych widać, że właścicielem blokady jest host
- Otwórz sesję SSH dla właściciela węzła.
- Znajdź maszynę wirtualną z dołączonym plikiem .vmdk za pomocą
Find /vmfs/volumes/*-name *.vmx -exec grep -Hi vmdk_name.vmdk {} \;:[root@vcxxxxxx-esx03:~] find /vmfs/volumes/* -name *.vmx -exec grep -Hi myVM-01_1.vmdk {} \; /vmfs/volumes/vsan:522f8adc3102b750-7ce28cbf91a437bc/66bf0164-d6f2-2682-c1d1-00505683bcb2/Test-VM-01.vmx:scsi0:1.fileName = "/vmfs/volumes/vsan:522f8adc3102b750-7ce28cbf91a437bc/9ebf0164-4e7c-20f0-c91f-00505683bcb2/myVM-01_1.vmdk" grep: /vmfs/volumes/vsan:522f8adc3102b750-7ce28cbf91a437bc/faa1de62-1cfc-948c-f01c-005056833d65/VxRail Manager.vmx: Device or resource busy grep: /vmfs/volumes/vsan:522f8adc3102b750-7ce28cbf91a437bc/d1b6de62-3871-269d-eee4-005056832fb7/vCLS-0017eb10-16d2-470a-86eb-caac2239ff2f.vmx: Device or resource busy grep: /vmfs/volumes/vsan:522f8adc3102b750-7ce28cbf91a437bc/5d97de62-64d5-a2c4-9e85-005056833d65/VMware vCenter Server Appliance.vmx: Device or resource busy /vmfs/volumes/vsan:522f8adc3102b750-7ce28cbf91a437bc/9ebf0164-4e7c-20f0-c91f-00505683bcb2/myVM-01.vmx:scsi0:1.fileName = "myVM-01_1.vmdk" [root@vcxxxxxx-esx03:~]- Pakiet
findpokazuje dwie maszyny wirtualne, które mają nasz plik .vmdk w swoich plikach konfiguracyjnych (.vmx). - Jak pokazują dane wyjściowe polecenia, można znaleźć maszynę wirtualną z przypisanym konkretnym plikiem .vmdk, który jest
Test-VM-01 VM.
- Pakiet
- Teraz, po zidentyfikowaniu maszyny wirtualnej, można usunąć blokadę tego pliku .vmdk, usuwając go z ustawień edycji maszyny wirtualnej, a następnie usuwając go ręcznie.