Der Umgang mit einem gelöschten, verlorenen oder beschädigten VMFS-Datenspeicher auf einem ESXi-Host ist äußerst ärgerlich – insbesondere, wenn dies versehentlich geschah, beispielsweise durch Klicken auf „Löschen“ anstatt auf „Aushängen“.Manchmal können auch Speicherfehler oder Festplattenprobleme dazu führen, dass ein Datenspeicher ohne Vorwarnung verschwindet. In diesem Fall besteht kein Grund zur Panik. Es besteht die Möglichkeit, die Partition auf Ihrer Festplatte manuell wiederherzustellen. Dies erfordert jedoch etwas Erfahrung mit der Kommandozeile und Geduld. Ziel ist es, den Zugriff auf Ihre VMFS-Daten wiederherzustellen, um eine Neuformatierung oder Neuerstellung von Grund auf zu vermeiden, was sehr aufwendig sein kann. Rechnen Sie damit, einige Zeit per SSH zu verbringen, Partitionierungsbefehle auszuführen und die Festplattendaten sorgfältig zu überprüfen. Mit einigen sorgfältigen Schritten ist die Wiederherstellung jedoch machbar. Diese Art der Wiederherstellung ist nicht hundertprozentig sicher, aber sie kann lebensrettend sein, wenn Sie versuchen, wichtige VM-Dateien oder ISO-Images zu retten, die sich noch auf der LUN befinden.
Wie man einen gelöschten oder beschädigten VMFS-Datenspeicher in ESXi wiederherstellt
Was tun, wenn Ihr VMFS-Datenspeicher fehlt oder als unbekannt angezeigt wird?
Als Erstes sollten Sie prüfen, ob der Datenspeicher nicht nur ausgeblendet oder nicht eingebunden ist. Normalerweise melden Sie sich dazu per SSH auf dem ESXi-Host an (sofern SSH aktiviert ist – was übrigens nicht immer standardmäßig der Fall ist).Sie können SSH über die Direct Console User Interface (DCUI) oder im vSphere Client unter Host > Aktionen > Dienste > SSH aktivieren aktivieren aktivieren. Nach der Anmeldung müssen Sie die Festplatte/LUN finden, auf der sich das VMFS befand – typischerweise über Speicher > Geräte in vCenter oder per esxcfg-scsidevs -lSSH. Suchen Sie nach dem Gerät mit der NAA -Kennung, z. B.` /var/data/ns /vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565/`.In manchen Konfigurationen ist dieser Pfad entscheidend, da er direkt auf das Speichermedium mit dem fehlenden Datenspeicher verweist. Falls Ihre Festplatte als fehlend angezeigt wird oder die Partitionstabelle nicht mehr vorhanden ist, hilft Ihnen diese Wiederherstellungsanleitung, die Partitionstabelle manuell wiederherzustellen, ohne Daten zu überschreiben.
Prüfen Sie, ob die Partitionstabelle vorhanden ist, und ermitteln Sie das Festplattenlayout.
Führen Sie den Befehl aus partedUtil getptbl /vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565. Wenn eine vorhandene GPT (GUID-Partitionstabelle) gemeldet wird, ist das ein gutes Zeichen – die Partitionsinformationen sind technisch gesehen noch vorhanden, werden aber nicht korrekt erkannt. Wird nichts angezeigt oder erscheinen Fehlermeldungen wie „Unbekannte Partitionstabelle“, müssen Sie die GPT-Bezeichnung manuell festlegen. Hier wird es etwas knifflig. Es geht darum, den ersten und letzten Block der VMFS-Partition zu identifizieren, um sie später wiederherstellen zu können.
Um den Anfang der gelöschten VMFS-Partition zu finden, können Sie ein Skript verwenden, das die Festplattenblöcke überprüft, zum Beispiel:
offset="128 2048"; for dev in `esxcfg-scsidevs -l | grep "Console Device:" | awk {'print $3'}`; do disk=$dev; echo $disk; partedUtil getptbl $disk; { for i in `echo $offset`; do echo "Checking offset at $i:"; hexdump -n4 -s $((0x100000+(512*$i))) $disk; done; } | grep -B 1 -A 5 d00d; echo "---------------------"; done
Dies hilft dabei, den Startblock der Partition zu finden. Angenommen, Sie finden ihn bei 2048 – das ist Ihr erster Hinweis für den nächsten Schritt.
Ermitteln Sie den letzten Block der VMFS-Partition
Laufen:
partedUtil getUsableSectors /vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565
Dadurch erhalten Sie die Gesamtzahl der nutzbaren Sektoren, was dem Ende Ihrer Partition entspricht – etwa 20.971.486. Falls die Fehlermeldung „Unbekannte Partitionstabelle“ erscheint, müssen Sie die GPT-Bezeichnung wie folgt neu erstellen:
partedUtil mklabel /vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565 gpt
Dadurch werden die Partitionsinformationen gelöscht. Führen Sie diesen Schritt daher nur aus, wenn Sie sicher sind, dass Ihre Festplatte ansonsten intakt ist. Anschließend müssen Sie die exakte GUID für das VMFS erneut anwenden. Diese lautet immer AA31E02A400F11DB9590000C2911D1B8. Um zu überprüfen, ob Sie die richtigen GUIDs haben, können Sie folgenden Befehl ausführen partedUtil showGuids:
Erstellen Sie die Partitionstabelle mit Ihren Festplatteninformationen neu.
Nachdem Sie nun die Start- und Endblöcke sowie die GUID haben, können Sie die Partitionsinformationen erneut festlegen mit:
partedUtil setptbl /vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565 gpt "1 2048 20971486 AA31E02A400F11DB9590000C2911D1B8 0"
Nach der Ausführung sollten Sie die Partitionsliste noch einmal überprüfen, um sicherzustellen, dass Ihre VMFS-Partition nun angezeigt wird:
partedUtil getptbl /vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565
Wenn alles in Ordnung ist, scannen Sie Ihre Speicheradapter einfach erneut mit esxcfg-rescander Schaltfläche „Speicher neu scannen“ in vSphere. Ihr Datenspeicher sollte dann sofort wieder angezeigt werden.
Mounten / Neu scannen & Wiederherstellung überprüfen
Führen Sie den Befehl aus vmkfstools -Vund anschließend einen erneuten Scan mit:
esxcfg-rescan -a
Sobald ESXi die wiederhergestellte Partition erkennt, überprüfen Sie in Ihrem vSphere Client Ihre Datenspeicher. Sind Ihre Dateien, VM-Images oder ISO-Images noch vorhanden, haben Sie alles richtig gemacht. Manchmal genügt es, die Partition erneut einzubinden oder die Speicheransicht zu aktualisieren.
Und noch ein kleiner Tipp: Es ist zwar meist sicherer, diese Schritte durchzuführen, aber erstellen Sie zur Sicherheit unbedingt ein Backup Ihrer LUN oder Festplatte – denn das Schlimmste, was jetzt passieren kann, ist, Ihre Daten versehentlich zu überschreiben. Der Vorgang kann etwas knifflig sein, insbesondere wenn sich auf Ihrer Festplatte bereits andere Partitionen oder Daten befinden.
Wenn Sie sich eingehender mit der Verwaltung von Partitionstabellen in ESXi befassen möchten, bietet VMware einen hilfreichen Knowledgebase-Artikel zur Verwendung von partedUtil. Beachten Sie jedoch: Bei manchen Konfigurationen ist es ratsam, nach Änderungen einen anderen Ansatz zu wählen oder das System neu zu starten.
Natürlich ist jede Umgebung anders, daher verläuft nicht immer alles reibungslos. In den meisten Fällen lässt sich mit dieser Methode jedoch das verlorene VMFS wiederherstellen, sodass man nicht von vorne beginnen muss. Hoffentlich hilft dies jemandem, den langwierigen Wiederherstellungsalptraum zu vermeiden.
Zusammenfassung
- Stellen Sie per SSH eine Verbindung zum ESXi-Host her und lokalisieren Sie die Festplatte mit dem verloren gegangenen Datenspeicher.
- Prüfen Sie mit
partedUtil getptbl. - Bei Bedarf kann die GPT-Bezeichnung manuell mit
partedUtil mklabel. - Identifizieren Sie die Start- und Endblöcke der VMFS-Partition.
- Die Partitionstabelle wird neu erstellt mit
partedUtil setptbl. - Speicher erneut scannen und Datenspeichersichtbarkeit überprüfen.
Zusammenfassung
Wenn es mal schnell gehen muss, können diese Kommandozeilen-Tricks helfen, einen scheinbar verlorenen Datenspeicher zu retten. Es klingt seltsam, aber in vielen Fällen existiert die Partition noch – nur eben nicht so, wie ESXi sie erkennt. Nehmen Sie sich Zeit und überprüfen Sie die Befehle sorgfältig, denn Fehler können die Wiederherstellung erheblich erschweren. Hoffentlich erspart das jemandem viel Ärger. Viel Erfolg – und denken Sie an Ihre Backups!