Snapshots Umgang mit Snapshots unter VMware

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen
Hinweis: Bitte beachten Sie, dass dieser Artikel / diese Kategorie sich entweder auf ältere Software/Hardware Komponenten bezieht oder aus sonstigen Gründen nicht mehr gewartet wird.
Diese Seite wird nicht mehr aktualisiert und ist rein zu Referenzzwecken noch hier im Archiv abrufbar.

VMware-Serversysteme


Immer wieder, treffe ich auf VMware Infrastrukturen mit verwaisten, zu groß geratenen oder defekten Snapshots. Die Gründe hierfür sind vielfältig und reichen von Drittherstellersoftware, welche Snapshots anlegt und danach abstürzt bis hin zu fehlerhaften (veralteten) VCB Versionen.

Ich will hier nur einmal ein paar Beispiele von Snapshot - Problemen rausgreifen und deren Lösung angegeben. Wie immer ohne Gewähr, da leider viele Infrastrukturthemen mit einhergehen, wodurch jede Umgebung anders reagieren kann. Übrigens - immer das Backup prüfen, bevor man sich in die Tiefen der Snapshotproblematiken wagt. Notfalls aus dem Gast mit Imaging Tools oder VMware Converter das System vor dem Zurückschreiben riesiger oder defekter Snapshots sichern.

Beim Anlegen von Snapshots werden mehrere Dateien angelegt, .vmsn (Snapshot State File), 000###.vmdk (Snapshot Disk Descriptor), 000###-delta.vmdk (Snapshot Disk Data) und .vmsd (Snapshot Descriptor, Metadata)


1) Snapshot Descriptor defekt

Eine Datei die abhanden kommen kann, ist die vmsd Datei, in welcher die Angaben zu den vorhandenen Snapshots einer virtuellen Maschine stehen. Dies kann bspw. bei Fehlern beim Zurückschreiben der Änderungen (Delete All) vorkommen.

Der Snapshot Manager erkennt ab diesem Zeitpunkt keine Snapshots mehr, obwohl physikalisch nach wie vor 000###-delta Snapshot Dateien vorhanden sind.

Hier gibt es 2 Tricks:

nochmals einen Snapshot über die Kommandozeile anlegen (da der Fehler über den Snapshot Manager nochmals vorkommen könnte) und direkt wieder zurückschreiben

  1. vmware-cmd <VMX Datei der VM> createsnapshot "testsnap" -> Nach der Anlage des neuen Snapshots ist auch die vmsd Datei wieder vorhanden
  2. vmware-cmd <VMX Datei der VM> removesnapshots -> Zurückschreiben aller Änderungen / Löschen der Snapshots

Der zweite (gefährlichere) Weg läuft über die Nutzung von VMotion, da bei VMotion ebenfalls die vmsd Datei neu angelegt und ausgelesen wird. Nach der VMotion Migration kann der oder die Snapshots gelöscht werden.


2) Snapshot wächst und füllt damit den Datastore

Schreibt man bspw. alle Änderungen über den Snapshot Manager zurück (Snapshot Delete All) und es kommt zu einem Fehler, ist die Datei nicht mehr vorhanden. Hintergrund, der Snapshot Manager löscht zuerst die vmsd Datei bevor die Snapshots mit dem Original zusammengeführt werden. Ein Fehler kann z. B. vorliegen, wenn der Datastore zu sehr gefüllt ist und bspw. nur noch wenige MB verfügbar sind. Ursache ist zumeist das Snapshot Wachstum.

Hier kann man die gleichen Methoden wie unter 1) anwenden, allerdings muss man vorher den gefüllten Datastore von Dateien befreien, um zumindest ein paar Prozente freie Kapazität zu erhalten. Dies kann durch Herunterfahren von VMs (da dann die Swap Dateien der VMs gelöscht werden) oder durch Löschen von ISO Dateien oder Backups passieren. Wenn man keinen sanften Weg des Aufräumens findet, muss eine VM heruntergefahren und mittels Migration auf einen anderen Datastore verschoben werden.

In diesem Fall ist es oft unmöglich die vom Snapshot betroffene VM online zu "reparieren".

VI PowerScripter kann prima zur frühzeitigen Warnung genutzt werden.


3) vergessene Snapshots

Snapshots sollten generell regelmäßig kontrolliert werden. Dabei sind Erstellungsdatum und Snapshotgröße von Bedeutung und als Merkmal für die Gültigkeit zu sehen. Meist sind Snapshots von mehreren GByte oder einem Alter von mehreren Wochen vergessen worden und sollten schnellstmöglich zurückgeschrieben werden.

VI PowerScripter kann sehr gut zum Auffinden von vergessenen Snapshots genutzt werden.


4) defekte Snapshots

Ein ganz unangenehmer Fall sind Snapshots, die nicht mehr korrekt arbeiten. Bspw. existieren 3 Snapshots, 0001, 0002 und 0004. Hier erkennt man anhand der Nummerierung direkt, dass Nummer 003 fehlt. Legt man einen weiteren Snapshot an, wird dieser als 0003 angelegt, der nächste als 0005. In diesem Fall sollte man auch über die Kommandozeile mit vmware-cmd (Info 1) ) arbeiten. Ist einer der Snapshots defekt, muss dieser geortet werden. Hier sollte man auf Berater oder den VMware Support zurückgreifen - da man sehr vorsichtig vorgehen muss, um keine Daten zu verlieren.

Dies kann man nochmals toppen, wenn bei VMs mit mehreren virtuellen Festplatten folgendes vorliegt: disk1-0001.vmdk, disk2-0001.vmdk, disk2-0002.vmdk.

Hier ist zu erkennen, dass eine Festplatte über mehr Snapshots verfügt als die andere, obwohl die gleiche virtuelle Maschinen betroffen ist. Auch hier sollte man auf Berater oder den VMware Support zurückgreifen - da man sehr vorsichtig vorgehen muss, um keine Daten zu verlieren.

Für diejenigen, die sich des Risikos bewusst sind bzw. sehr gute VMware Kenntnisse haben, sie erwähnt, dass der Trick im isolieren der einzelnen Snapshots liegt. D. h. man ändert in der VMX Datei die Zuordnung einer der Platten (scsi#:#.present = false) schreibt den Snapshot zurück. Dies wiederholt man mit allen virtuellen Festplatten. Wichtig, es darf immer nur eine Festplatte bzw. Snapshotversion (z. B. alle vmdk Dateien mit 2 Snapshots) zugeordnet sein, damit der Trick funktioniert.

VI PowerScripter kann zum Auffinden von defekten oder verwaisten Snapshots genutzt werden.


Autor: Dennis Zimmer, VMachine.de

VMware-VMachineLogo.jpg

Das könnte Sie auch interessieren

ESX und ESXi Updates mit vihostupdate installieren
VMware ESXi Hardware mit Nagios oder Icinga überwachen