Don’t Panik: Was tun, wenn die VMDK Datei weg ist…

Gestern war es mal wieder so weit: Durch Storage VMotion wollte ich alte SAN Disks leeren. Daei blieb auf einer SAN-Disk Dateien einer VM zurück, die eindeutig schon verschoben war. In der Annahme, dass es sich dabei um Altlasten handelte, löschte ich diese spontan. Leider handelte es sich dabei um einen Clone der anderen Machine, die im Dateisystem leider den gleichen Namen behalten hat.

Die meisten Dateien waren gesperrt und konnten zum Glück nicht gelöscht werden. Was aber erst später auffiel: Es wurde erfolgreich die Description Datei der Platten gelöscht:

Nebenbei: Die virtuelle Disk bei VMWare besteht bei Standarddisks (also ohne Snapshot, keine RAW Files) aus zwei Dateien: eine Beschreibungsdatei mit Namen diskname.vmdk und den eigentlichen Daten in diskname-flat.vmdk. Die Beschreibungsdatei ist eine reine Textdatei mit Unix Zeilenumbrüchen (natürlich).

Solange die Maschine auf einem Host läuft, ist es noch kein Problem und fällt leider nicht auf, wenn die erste Datei fehlt. Sobald aber ein vMotion auf einen anderen Host stattfindet, dann tritt ein Fehler auf, die VM stürzt ab und kann nicht mehr gestartet werden. Im Storage Browser erkennt man den Fehler daran, dass bei derVMDK Datei kein passendes Icon davor steht bzw. nur die Datei mit -flat.vmdk zu sehen ist.

Noch kein Grund zur Panik: Zuerst: Sicherung erstellen. Besonders wichtig sind die Log Dateien. In diesen Dateien sind die später notwendigen Parametern enthalten, mit denen man die Description Datei vollständig wiederherstellen kann.

Dann: Der Anleitung unter http://sanbarrow.com/vmdk/extracting-vmdk-from-log.html folgen. Dabei ist es wichtig, einen Editor zu verwenden, der auch mit Unix Zeilenumbrüchen speichern kann (Wordpad kann es anzeigen, aber wandelt die Datei beim Anspeichern wieder um). Sobald man die Beschreibungsdatei wieder erstellt hat, kann man sie über den Storagebrowser wieder hochladen. Verschwindet die -flat.vmdk Datei nach einem Refresh und taucht das Icon vor der diskname.vmdk wieder auf, dann stehen die Chancen sehr gut, dass die Maschine wieder startet. (In meinem Fall war es zum Glück so…)

Bei Fragen einfach einen Kommentar anhängen.

This entry was posted in VMWare and tagged , , , , , . Bookmark the permalink.

3 Responses to Don’t Panik: Was tun, wenn die VMDK Datei weg ist…

  1. Joachim says:

    Wie kann CID u. ddb.uuid ermittelt werden?

  2. markus says:

    Welche VMWare Version? Dieser Artikel bezieht sich noch auf esx 3.5.
    CID ist einfach nur eine eindeutige ID für die Disk. Man kann ein beliebige Nummer nehmen, z.B. aus den Beispielen auf der verlinkten Seite. (Die ID wird für die Referenz auf die Parent Disk verwendet)
    ddb.uuid scheint die neuer eindeutige ID zu sein. Neue generieren geht wohl über “You can regenerate new UUID to the vmdk by:

    /usr/sbin/vmkfstools -J setuuid $path_to_vm/vmname.vmdk “

  3. Dirk says:

    Ich habe auf einem Ubuntu Linux host virtualbox und versehentlich die *.vmdk gelöscht von der sich verschiedene Snapshot allerdings auf einem RAID1 befinden. Eigentlich sollte sich da auch diese virtuelle Maschine befinden wie auch die anderen virtuellen Maschine. Da mir das Laufwerk des host zu voll wurde habe ich auch den dort befindlichen Ordner für die virtuelle Maschine gelöscht, da ich bisher in der Annahme war, dass diese sich auch mit auf dem RAID-Laufwerken befindet. Gibt es eine Möglichkeit die virtuelle Maschine anhand der aktuellen differenziellen Snapshot auf dem RAID wiederherzustellen?

Leave a Reply