VxRail: So ermitteln Sie, welche VM eine .vmdk-Datei sperrt
Zusammenfassung: In diesem Artikel wird erläutert, wie Sie die virtuelle Maschine (VM) identifizieren, die Ihre VMDK-Datei verwendet, und verhindern, dass sie gelöscht wird.
Weisungen
Wenn Sie die Option "Von Festplatte löschen " auf einer VM verwenden, führt dies manchmal dazu, dass der VM-Ordner nicht gelöscht wird und die alten VMDK-Dateien immer noch vorhanden sind. Normalerweise wird diese .vmdk-Datei noch verwendet, daher ist sie gesperrt, weshalb sie nicht gelöscht werden konnte.
Dies geschieht häufig bei der Verwendung von Snapshots und kann verschiedene Gründe haben, z. B. eine Backupsoftware von Drittanbietern, VMware Horizon oder mehr.
Die herkömmliche Methode zur Behebung dieses Problems besteht darin, die Einstellungen aller Cluster-VMs zu überprüfen, bis Sie die VM finden, die die .vmdk-Datei noch verwendet. Es gibt jedoch eine andere Methode, die schneller ist und auf diese Situation angewendet werden kann:
- In diesem Beispiel wurden zwei Test-VMs erstellt, um dieses Problem zu reproduzieren:
myVM-01 Test-VM-01
- Außerdem wurden zwei .vmdk-Dateien für VM erstellt
myVM-01verwalten:
myVM-01.vmdk myVM-01_1.vmdk
- Dann
myVM-01_1.vmdkwurde von der ursprünglichen VM getrennt und der VM hinzugefügt (angefügt)Test-VM-01. Test-VM-01eingeschaltet ist, wird die neu angehängte vDiskmyVM-01_1.vmdkist gesperrt und kann nicht gelöscht werden.- Schließlich verfügt die VM
myVM-01wurde von der Festplatte gelöscht, aber wie erwartet wurde die .vmdk-Datei nicht gelöscht:

Schritt-für-Schritt-Anleitung:
- Öffnen Sie eine SSH-Sitzung auf einem der VxRail (vSAN) ESXi-Hosts.
- Wechseln Sie in das Verzeichnis des VM-Ordners, in dem sich die VMDK-Datei befindet.
[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]
- Rufen Sie die .vmdk-UUID (Universally Unique Identifier) mit dem Befehl
Grep RW vmdk_name.vmdk-Befehl überprüfen, ob sie ausgeführt werden:[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]
- Holen Sie sich die
.vmdk.lckDatei, deren Name dieselbe .vmdk-UUID aus dem vorherigen Befehl enthält:ls -lah .*.lckoderls -lah *.lckWenn die Sperrdatei nicht ausgeblendet ist.[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]
- In der obigen Ausgabe wird die Sperrdatei der .vmdk als ausgeblendet angezeigt.
- In der obigen Ausgabe wird die Sperrdatei der .vmdk als ausgeblendet angezeigt.
- Überprüfen Sie, wer der Node-Eigentümer der Sperre ist, indem Sie die Option
vmfsfilelockinfo -p <.lck_filename>-Befehl überprüfen, ob sie ausgeführt werden:[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]- Aus der obigen Ausgabe ist ersichtlich, dass der Sperrinhaber der Host ist
vcxxxxxx-esx03.vxxx.local.
- Aus der obigen Ausgabe ist ersichtlich, dass der Sperrinhaber der Host ist
- Öffnen Sie eine SSH-Sitzung mit dem Node-Eigentümer.
- Suchen Sie die VM, an die die .vmdk-Datei angehängt ist, mit dem Befehl
Find /vmfs/volumes/*-name *.vmx -exec grep -Hi vmdk_name.vmdk {} \;-Befehl überprüfen, ob sie ausgeführt werden:[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:~]- Bei der
findzeigt zwei VMs an, die unsere .vmdk-Datei in ihren Konfigurationsdateien haben (.vmx) enthalten. - Wie die Befehlsausgabe zeigt, ist es möglich, die VM zu finden, der diese spezifische .vmdk-Datei zugewiesen ist, nämlich
Test-VM-01 VM.
- Bei der
- Wenn die VM identifiziert wurde, kann die Sperre für diese .vmdk-Datei entfernt werden, indem sie aus den Bearbeitungseinstellungen der VM entfernt und dann manuell gelöscht wird.