vmware esxi 5, kann keine Snapshots erstellen und die Konsolidierung schlägt fehl. Wie lösche ich alte oder konsolidiere Redo-Protokolle?

8

Ich habe eine VM, die anscheinend einwandfrei funktioniert, aber wenn VMWare DR (oder ich) versucht, eine Momentaufnahme zu erstellen, schlägt dies fehl. Wenn ich die Zusammenfassungsseite der VM ansehe, wird oben eine Warnung angezeigt, die anzeigt, dass die Festplatten vorhanden sind müssen konsolidiert werden.

Also gehe ich zum Snapshot-Manager für die VM und wähle Konsolidieren (im Snapshot-Manager sind übrigens keine Snapshots aufgeführt). Wenn dies mit diesem Fehler fehlschlägt:

Diese virtuelle Maschine verfügt über 255 oder mehr Redo-Protokolle in einem einzelnen Zweig ihres Snapshot-Baums. Das maximal unterstützte Limit wurde erreicht. Das Erstellen neuer Snapshots ist nicht zulässig. Um neue Snapshots zu erstellen, löschen Sie bitte alte Snapshots oder konsolidieren Sie die Redo-Protokolle.

Wenn ich den Datenspeicher durchsuche (der viel freien Speicherplatz, 2 TB und diese VM unter 40 GB hat), sehe ich im VM-Ordner tatsächlich eine Reihe von Dateien, die bis 0255 nummeriert sind:

  • myvm-000255-ctk.vmdk
  • myvm-000255-delta.vmdk
  • myvm-000255.vmdk

Wie kann ich das alles aufräumen? Gibt es einen SSH-Befehlszeilenbefehl oder kann ich einige der Dateien sicher löschen? Vielen Dank!

Scott Szretter
quelle
2
Kannst du es klonen?
Chopper3
Also habe ich es versucht und es lief lange (Stunden). Gegen Ende kam es schließlich zu einem Fehler "Fehler, der durch die Datei [datastore1] myvm / myvm-000255.vmdk verursacht wurde. Das Klonen schlug also fehl.
Scott Szretter
Wenn ich jetzt versuche, Snapshots zu konsolidieren, wird sie eine Weile ausgeführt, anstatt sofort mit dem Fehler 255 oder mehr zu scheitern. Dann wird eine Fehlermeldung angezeigt, die fehlgeschlagen ist, weil kein Speicher zugewiesen werden konnte. Dennoch sind ungefähr 60% kostenlos (von 16 Gigs).
Scott Szretter
2
Ich denke, es ist Zeit, einen Support-Anruf zu tätigen, um ehrlich zu sein.
Chopper3
1
Dies kann hilfreich sein und erklärt, wie ein Snapshot konsolidiert wird.
JMeterX

Antworten:

2

Was ich getan habe, ist Folgendes:

Mit Vorsicht verwenden und Befehle nicht blind kopieren. Ihre tatsächlichen Dateinamen, Nummern, Speicherorte usw. können variieren. Sie sollten Backups Ihrer Daten haben!

Während die virtuelle Maschine noch läuft:

/vmfs/volumes/XXXXXXXXX/myvm # mkdir consolidate
/vmfs/volumes/XXXXXXXXX/myvm # vmkfstools -e myvm-000254.vmdk 
Disk chain is consistent.
/vmfs/volumes/XXXXXXXXX/myvm # vmkfstools -i myvm-000254.vmdk -d zeroedthick consolidate/myvm.vmdk

Dadurch werden alle Schnappschüsse bis zur Schnappschuss-Nr. 254 in einer einzelnen Platte in consolidate/myvm.vmdk. Wir können dies tun, da die eigentliche Schreibaktivität nur auf myvm-000255.vmdk (dem letzten Snapshot der Festplatte) erfolgt.

Beachten Sie, dass Ihre tatsächlichen Zahlen variieren können.

Fahren Sie nun die VM herunter.

Entfernen Sie die VM aus dem Inventar.

/vmfs/volumes/XXXXXXXXX/myvm # mkdir backup
/vmfs/volumes/XXXXXXXXX/myvm # mv *.vmdk backup/
/vmfs/volumes/XXXXXXXXX/myvm # cp backup/myvm-000255*.vmdk consoldidate/

Bearbeiten consolidate/myvm-000255.vmdk:

Wechseln Sie parentCIDzum CID-Eintrag von consolidate/myvm.vmdk(In meinem Fall war dies bereits in Ordnung, da vmkfstools -idie CID beibehalten zu werden scheint.)

Änderung parentFileNameHint:

parentFileNameHint="myvm.vmdk"

Kopieren Sie nun die Dateien von consolidate/hinten:

/vmfs/volumes/XXXXXXXXX/myvm # mv consolidate/*.vmdk .
/vmfs/volumes/XXXXXXXXX/myvm # rmdir consolidate
/vmfs/volumes/XXXXXXXXX/myvm # vmkfstools -e myvm-000255.vmdk
Disk chain is consistent.

Registrieren Sie Ihre VM erneut.

Schalten Sie Ihre VM ein.

Jetzt können Sie die Konsolidierungsoption in vSphere Web Client verwenden, um das letzte Delta zu konsolidieren, während die VM bereits ausgeführt wird.

Wenn alles gut läuft, können Sie den Sicherungsordner löschen.

Im Allgemeinen ist eine gute Ressource für die manuelle Bearbeitung von VMWare-Festplatten: http://sanbarrow.com/vmdk-handbook.html

Hanno S.
quelle
Vielen Dank dafür - hat mir geholfen - Sie möchten vielleicht betonen, um auf den vorletzten Schnappschuss zu konsolidieren - es war mir nicht sofort klar :)
Cairnz
0

Obwohl dies als solches kein "Fix" ist und für einen Produktionsserver möglicherweise nicht von Nutzen ist, finde ich die einfachste Lösung, wenn ich in der Vergangenheit mit solchen Problemen konfrontiert wurde, nur die Verwendung des VMware-Konverters in v2v Auf dem Computer wird ein identischer Computer mit einem einzelnen VMDK pro Festplatte bereitgestellt und mit einem Agenten innerhalb der VM und nicht auf Hypervisor-Ebene ausgeführt, sodass keine Snapshots bekannt sind.

Alex Berry
quelle