Einleitung
Nichts verursacht mehr Stress bei einem Administrator als eine virtuelle Maschine, die nicht mehr startet. Eine häufige Ursache sind korrupte virtuelle Festplatten (.vmdk), oft erkennbar an Fehlermeldungen wie «The file specified is not a virtual disk» oder E/A-Fehlern. Glücklicherweise bietet der ESXi-Hypervisor mit vmkfstools ein mächtiges Werkzeug zur Diagnose und Reparatur auf der Kommandozeile.
Dieses Tutorial führt durch den Prozess der Prüfung und Reparatur einer beschädigten VMDK-Datei.
Voraussetzungen:
- SSH-Zugriff auf den ESXi-Host (aktiviert)
- Root-Zugriff
- VM muss ausgeschaltet sein
- Aktuelles Backup (wenn möglich)
[BILD 1: Fehlermeldung im vSphere Client beim Starten einer VM]
Überblick
Nach Durchlauf dieser Schritte haben wir:
- Die Konsistenz der virtuellen Disk geprüft
- Strukturelle Fehler im Header oder der Dateistruktur behoben
- Die VM wieder bootfähig gemacht
Schritt-für-Schritt Anleitung
- Vorbereitung: Snapshots bereinigen
Bevor Sie Reparaturen an der Basis-Disk durchführen, dürfen keine aktiven Snapshots vorhanden sein, da diese sonst ungültig werden. Prüfen Sie dies im Snapshot-Manager und löschen Sie («Consolidate») alle Snapshots.
[BILD 2: Snapshot-Manager in VMware mit der Option ‚Alle löschen‘] - Pfad zur VMDK ermitteln
Melden Sie sich per SSH auf dem ESXi-Host an. Navigieren Sie zu dem Datastore, auf dem die VM liegt. Üblicherweise finden Sie diesen unter/vmfs/volumes/.
Befehl:cd /vmfs/volumes/DatastoreName/VM_Ordner/ ls -l *.vmdk - Integritätsprüfung durchführen
Nutzen Sie den Parameter-x check, um die Datei auf Fehler zu untersuchen, ohne sie zu verändern. Dies gibt Aufschluss über die Schwere des Schadens.
Befehl:vmkfstools -x check maschine.vmdk - Reparatur starten
Wenn der Check Fehler meldet, versuchen Sie die Reparatur mit dem Parameter-x repair. Dieser Vorgang kann je nach Grösse der Disk einige Zeit in Anspruch nehmen.
Befehl:vmkfstools -x repair maschine.vmdk
[BILD 3: Terminal-Ausgabe während des Reparaturprozesses] - Funktionstest
Nach Abschluss des Befehls (achten Sie auf die Meldung «Disk needs repair» oder «Disk was repaired»), versuchen Sie die VM über den vSphere Client zu starten.
Wichtige Hinweise & Stolperfallen
Datensicherung: Führen Sie Reparaturen niemals ohne vorheriges Backup der defekten Dateien durch (einfaches Kopieren in einen anderen Ordner reicht oft). Sollte die Reparatur fehlschlagen, werden die Daten eventuell weiter beschädigt.
Locked Files: Sollten Sie eine Meldung erhalten, dass die Datei gesperrt («locked») ist, stellen Sie sicher, dass die VM wirklich ausgeschaltet ist und kein anderer Host im Cluster Zugriff auf die Datei hält.
Ergebnis & Fazit
Das Tool vmkfstools ist oft die letzte Rettung bei beschädigten Header-Informationen einer virtuellen Festplatte. Sollte auch die Reparatur fehlschlagen, bleibt oft nur das Erstellen einer neuen VM und das Einbinden der alten VMDK als sekundäre Platte, um Daten zu retten, oder das Einspielen eines Backups.



