Articles

Erfahren Sie, wie und wann vSphere-Snapshots zu verwenden sind

Der Zustand einer virtuellen Maschine zu einem bestimmten Zeitpunkt kann durch einen so genannten Snapshot erhalten werden.

Die VMware-Snapshot-Funktion ist besonders nützlich in Szenarien, in denen Sie sich schnell von einem Fehler erholen oder einfach zu einem gewünschten Zustand zurückkehren möchten. Die Wiederherstellung einer VM in einen funktionalen Zustand nach einem verpfuschten Update oder Patch ist ein häufiger Anwendungsfall. Ebenso können Sie Snapshots verwenden, um eine VM auf einen Basiszustand zurückzusetzen, sobald ein Anwender sie nicht mehr verwendet, z. B. als Teil eines Schulungslabor-Wartungsprogramms.

Die Snapshot-Funktion ist sowohl auf eigenständigen ESXi-Hosts als auch auf vCenter Server verfügbar.

Arbeiten mit Snapshots und Snapshot Manager

Sie können mit Snapshots von jedem vSphere-Client aus oder durch API-Aufrufe von PowerCLI oder ähnlichem arbeiten. Verschiedene Aufgaben wie das Zurücksetzen von Snapshots, das Löschen von Snapshots usw. folgen demselben Klick- und Auswahlmuster. Der gemeinsame Nenner ist hier der Snapshot Manager, mit dem Sie in der Lage sind:

  • Snapshots zu erstellen.
  • Zurückkehren zum letzten Snapshot oder einem anderen Snapshot.
  • Löschen eines Snapshots.
  • Löschen aller Snapshots.
  • Bearbeiten eines Snapshots (Name und Beschreibung).
  • Snapshots verwalten.
  • Festplatten konsolidieren.

Vom vSphere-Client aus müssen Sie immer mit der rechten Maustaste auf den VM-Namen klicken und im Kontext- oder Aktionsmenü der VM die Option Snapshot(s) auswählen, gefolgt von der gewünschten Operation. Dies ist in Abbildung 1 als Option A dargestellt. Alternativ können Sie den VM-Namen markieren, auf die Registerkarte „Snapshots“ klicken und eine Aufgabe aus dem Dropdown-Menü „Alle Aktionen“ oder durch Klicken auf das entsprechende Aufgabensymbol auswählen, d. h. Option B.

Abbildung 1 – Zwei Möglichkeiten zur Durchführung einer Snapshot-bezogenen Aktion auf einer VM

Beachten Sie, dass jede VM maximal 32 Snapshots haben kann. Um die beste Leistung zu erzielen, wird empfohlen, sich auf 2-3 Snapshots pro VM zu beschränken. Wenn diese Grenze überschritten wird, wird die in Abbildung 2 gezeigte Fehlermeldung ausgegeben.

Abbildung 2 – Fehler, der anzeigt, dass die maximale Anzahl von Snapshots pro VM überschritten wurde

Eine weitere zu beachtende Grenze ist die der Aufbewahrung. Es wird empfohlen, einen Snapshot nicht länger als 72 Stunden aufzubewahren, da die Dateien, aus denen der Snapshot besteht, ständig wachsen und die Systemleistung beeinträchtigen können, abgesehen von der Tatsache, dass der Speicherplatz auf relativ kleinen Datenspeichern knapp werden kann.

Snapshots erstellen

Wenn Sie einen Snapshot einer VM erstellen, bleiben die folgenden Informationen erhalten.

  • Einstellungen der virtuellen Maschine. Das Verzeichnis der virtuellen Maschine, das die nach der Erstellung des Snapshots hinzugefügten oder geänderten Festplatten enthält.
  • Stromversorgungsstatus. Die virtuelle Maschine kann eingeschaltet, ausgeschaltet oder angehalten sein.
  • Festplattenstatus. Status aller virtuellen Festplatten der virtuellen Maschine.
  • (Optional) Speicherstatus. Der Inhalt des Speichers der virtuellen Maschine.

Zwei optionale Einstellungen bestimmen den Zustand, in dem eine VM wiederhergestellt wird, wenn sie von einem Snapshot zurückkehrt. Beachten Sie, dass keine dieser Optionen verfügbar bzw. erforderlich ist, wenn ein Snapshot erstellt wird, während die VM ausgeschaltet ist. Die beiden Optionen sind:

Snapshot des Speichers der virtuellen Maschine: Diese Option ist standardmäßig aktiviert und löscht den Speicherinhalt einer VM als Teil des Snapshots auf die Festplatte. Dadurch kann eine VM genau in den Zustand zurückversetzt werden, in dem sie sich zum Zeitpunkt der Erstellung des Snapshots befand. Wenn diese Option abgewählt ist und auch die Ruhephase nicht aktiviert ist, erstellt der Snapshot Dateien, die absturzsicher sind, was bedeutet, dass Sie die VM nach der Wiederherstellung aus dem Snapshot manuell einschalten müssen. Die Fertigstellung eines Speicher-Snapshots dauert deutlich länger. Außerdem wird eine VM „eingefroren“, um die Integrität des Status zu gewährleisten.

Gastdateisystem stilllegen: Diese Option setzt voraus, dass die VMware Tools installiert sind und ordnungsgemäß funktionieren. Das Ruhigstellen einer VM ist die bevorzugte Methode, um einen für Backups geeigneten Zustand zu gewährleisten. Dazu gehören Vorgänge wie das Flushen von schmutzigen Puffern aus dem In-Memory-Cache des Betriebssystems auf die Festplatte oder andere anwendungsspezifische Aufgaben auf höherer Ebene. Quiescing bezeichnet das Anhalten oder Ändern des Zustands laufender Prozesse auf einem Computer, insbesondere derjenigen, die während eines Backups auf der Festplatte gespeicherte Informationen verändern könnten, um ein konsistentes und brauchbares Backup zu gewährleisten. Quiescing ist für Speicher-Snapshots nicht erforderlich; es wird in erster Linie für Backups verwendet.

Abbildung 3 zeigt eine Reihe von Screenshots, die zeigen, wie Snapshots von VMs, die sich in verschiedenen Umgebungen befinden, mit einem bestimmten vSphere- oder Host-Client erstellt werden.

  • Beispiel 1 – Erstellen eines Snapshots einer von vCenter Server 6.5 verwalteten VM über den vSphere Web-Client.
  • Beispiel 2 – Erstellen eines Snapshots einer VM, die auf einem ESXi 6.5 Standalone-Host gehostet wird, über den ESXi-Host-Client.
  • Beispiel 3 – Erstellen eines Snapshots einer VM, die auf einem ESXi 6.0 Standalone-Host gehostet wird, über den C# vSphere-Client.

Abbildung 3 – Verschiedene Beispiele für die Erstellung von Snapshots

Das vierte und letzte Beispiel zeigt, wie PowerCLI verwendet wird, um einen Snapshot einer von vCSA 6.5 verwalteten VM zu erstellen. Es gibt zwei Möglichkeiten, wie Sie einen Snapshot einer VM erstellen können. Im ersten Beispiel rufe ich einfach eine VM mit Get-VM ab, die ich dann über die Pipeline in das Cmdlet „New-Snapshot“ einführe. Im zweiten Beispiel habe ich das Cmdlet „New-Snapshot“ allein verwendet, wobei Sie die VM, von der Sie einen Snapshot erstellen möchten, über den Parameter „-VM“ angeben. In beiden Beispielen weist der Parameter -Name dem Snapshot einen Namen zu.

PowerShell

1
get-vm -name „windows 7“ | New-Snapshot -.Name „Pre Windows Update“

PowerShell

1
Neu-.Snapshot -VM „Windows 7“ -Name „Pre Windows Update“

Abbildung 4 – Zwei Möglichkeiten zum Erstellen von Snapshots mit PowerCLI

Festplatten von einem Snapshot ausschließen

Es gibt Fälle, in denen Sie nicht möchten, dass die Festplatten einer VM von Snapshots betroffen sind. Um dies zu erreichen, ändern Sie den Festplattenmodus einer VM in den Einstellungen der VM auf Unabhängig – Persistent oder Unabhängig – Nicht persistent. Die beiden Optionen unterscheiden sich geringfügig, wie von VMware erläutert:

Independent – Persistent: Festplatten im persistenten Modus verhalten sich wie herkömmliche Festplatten auf Ihrem physischen Computer. Alle Daten, die auf eine Festplatte im persistenten Modus geschrieben werden, werden dauerhaft auf die Festplatte geschrieben.

Unabhängig – Nicht persistent: Änderungen an Festplatten im nicht-persistenten Modus werden verworfen, wenn Sie die virtuelle Maschine ausschalten oder zurücksetzen. Im nicht persistenten Modus können Sie die virtuelle Maschine mit einer virtuellen Festplatte starten, die sich jedes Mal im selben Zustand befindet. Änderungen an der Festplatte werden in eine Redo-Log-Datei geschrieben und daraus gelesen, die beim Ausschalten oder Zurücksetzen gelöscht wird.

Abbildung 5 – Ändern des Festplattenmodus eines VMDK, um auszuschließen, dass es von Snapshots betroffen ist

Wie Sie zu einem Snapshot zurückkehren

Um zu einem Snapshot zurückzukehren, wählen Sie entweder die Option „Zum letzten Snapshot zurückkehren“. Wenn eine VM mehrere Snapshots hat, markieren Sie einfach den Snapshot, zu dem Sie zurückkehren möchten, in der Snapshot-Hierarchie, die im Snapshot-Manager angezeigt wird, und klicken Sie auf das Symbol „Zurückkehren zu“, wie in Abb. 6 dargestellt.

Abbildung 6 – Auswahl des Snapshots, zu dem im Snapshot-Manager zurückgekehrt werden soll

Der Zustand, zu dem eine VM zurückkehrt, hängt von den ausgewählten Optionen zum Zeitpunkt der Erstellung des Snapshots ab. Wenn die Speicheroption ausgewählt wurde, bleibt die VM eingeschaltet, während sie in einen früheren Zustand zurückkehrt. Wenn die Speicheroption zum Zeitpunkt der Erstellung des Snapshots nicht aktiviert war, müssen Sie die VM manuell einschalten, nachdem Sie aus dem Snapshot zurückgekehrt sind, unabhängig davon, in welchem Zustand sich die VM zum Zeitpunkt der Erstellung des Snapshots befand.

Wenn Sie aus dem Snapshot zurückkehren, werden Sie gewarnt, dass der aktuelle Zustand der VM verloren geht, wenn Sie keinen Snapshot erstellen, wie in Abb. 7 gezeigt.

Abbildung 7 – Warnung über den Verlust des aktuellen Zustands bei der Rückkehr zu einem Snapshot

Wenn bei der Erstellung des Snapshots die Option „Speicher“ ausgewählt wurde, wird Ihnen die Möglichkeit geboten, die VM während der Rückkehr anzuhalten. Wenn Sie diese Option wählen, müssen Sie die VM manuell „entpuffen“, indem Sie sie wieder einschalten.

Abbildung 8 – Anhalten der VM während der Rückführung vom Snapshot

Der erste Snapshot wird als übergeordneter Basis-Snapshot bezeichnet. Dies ist die zuletzt gespeicherte Version des aktuellen Zustands der virtuellen Maschine. Der übergeordnete Snapshot ist immer der Snapshot, der im Snapshot-Manager direkt über dem Symbol Sie befinden sich hier angezeigt wird. Wenn Sie einen Snapshot zurücksetzen oder wiederherstellen, wird dieser Snapshot zum übergeordneten Snapshot des aktuellen Zustands von Sie befinden sich hier. Ein Snapshot einer VM, der nach dem übergeordneten Snapshot erstellt wurde, wird als untergeordneter Snapshot bezeichnet.

Abbildung 9 – Snapshot-Hierarchie zur Veranschaulichung der Beziehung zwischen übergeordneten und untergeordneten Snapshots und dem aktuellen Zustand, der durch „Sie befinden sich hier“ dargestellt wird

Snapshots löschen

Sie können einen einzelnen Snapshot oder alle vorhandenen Snapshots auf einmal löschen. Das Löschen von Snapshots ist ein E/A-intensiver Prozess und kann die Leistung beeinträchtigen. Wenn ein Snapshot gelöscht wird, bleibt der aktuelle Zustand einer VM unverändert. Allerdings werden dann alle bis dahin aufgelaufenen Änderungen von den Deltaplatten kopiert und in einem Prozess namens Konsolidierung auf die Basisplatte geschrieben. Im Anschluss daran sorgt der Konsolidierungsprozess dafür, dass alle redundanten Dateien, die mit dem gerade gelöschten Snapshot verbunden sind, entfernt werden.

Wenn der Konsolidierungsprozess fehlschlägt, können Sie den Prozess manuell über das Menü „Snapshots“ durch Auswahl der Option „Konsolidieren“ starten. Es ist wichtig, dass die Konsolidierung erfolgreich durchgeführt wird, da die redundanten Delta-Festplatten (siehe nächster Abschnitt) die Leistung beeinträchtigen können.

Abbildung 10 – Manuelle Festplattenkonsolidierung durchführen

Weitere Informationen finden Sie im Artikel How to consolidate snapshots in vSphere 5.x/6.x KB-Artikel.

Snapshots aus der Dateiperspektive

Ein Snapshot besteht aus einer Reihe von Dateien, die Sie im Datastore-Browser anzeigen können, nachdem Sie zu einem VM-Ordner navigiert haben, für den Snapshots erstellt wurden.

Ein Snapshot besteht aus den folgenden Dateien:

Delta-Disk-Dateien: Eine .vmdk-Datei, in die das Gastbetriebssystem schreiben kann. Die Delta-Diskette stellt den Unterschied zwischen dem aktuellen Zustand der virtuellen Festplatte und dem Zustand zum Zeitpunkt der Erstellung des letzten Snapshots dar. Wenn Sie einen Snapshot erstellen, bleibt der Zustand der virtuellen Festplatte erhalten, so dass das Gastbetriebssystem nicht darauf schreiben kann, und es wird eine Delta- oder untergeordnete Festplatte erstellt. Ein Delta-Laufwerk besteht aus zwei Dateien: einer kleinen Deskriptor-Datei mit Informationen über das virtuelle Laufwerk und einer entsprechenden Datei mit den Rohdaten. Die Dateien, aus denen der Delta-Datenträger besteht, werden als Child-Datenträger oder Redo-Logs bezeichnet.

Flat-Datei: Eine -flat.vmdk-Datei, die eine der beiden Dateien ist, aus denen die Basisdiskette besteht. Die flache Diskette enthält die Rohdaten für die Basisdiskette. Diese Datei erscheint nicht als separate Datei im Datenspeicher-Browser, wird aber bei der Auflistung des Verzeichnisinhalts separat aufgeführt, wenn sie mit ESXi verbunden ist.

Abbildung 11 – Einige Dateien sind nur sichtbar, wenn sie mit ESXi verbunden sind

Datenbankdatei: Eine .vmsd-Datei, die die Snapshot-Informationen der VM enthält und die primäre Informationsquelle für den Snapshot Manager ist. Diese Datei, die in einem beliebigen Texteditor angezeigt werden kann, enthält Zeileneinträge, die die Beziehungen zwischen Snapshots und den untergeordneten Festplatten für jeden Snapshot definieren.

Speicherdatei: Eine .vmsn-Datei, die den aktiven Zustand einer VM enthält und den Speicherstatus der VM erfasst, damit Sie den Zustand einer eingeschalteten virtuellen Maschine wiederherstellen können. Wenn die Snapshot-Speicheroption abgewählt ist, können Sie nur zu einem ausgeschalteten VM-Zustand zurückkehren.

Weitere Informationen finden Sie im Beitrag Die Anatomie einer virtuellen VMware-Maschine.

Abbildung 12 – Zuordnung der im Datenspeicher-Browser angezeigten Snapshot-Dateien zu den Einträgen in der Datenbankdatei

Wie bereits erwähnt, bewahrt ein Snapshot den Festplatten- und/oder VM-Status zu einem bestimmten Zeitpunkt, indem er eine Reihe von Delta-Disks für jede angeschlossene virtuelle Festplatte oder virtuelle RDM erstellt. Optional werden der Speicher- und Energiestatus durch Erstellen einer Speicherdatei erhalten.

Jeder Snapshot erstellt eine zusätzliche Deltadatei. Wenn Sie einen Snapshot erstellen, verhindert der Snapshot-Mechanismus, dass das Gastbetriebssystem in die Basis-.vmdk-Datei schreibt, und leitet stattdessen alle Schreibvorgänge an die Delta-Disk-Datei weiter. Die Deltadiskette stellt den Unterschied zwischen dem aktuellen Zustand der virtuellen Festplatte und dem Zustand zum Zeitpunkt der Erstellung des letzten Snapshots dar. Wenn mehr als ein Snapshot vorhanden ist, können Deltadisketten den Unterschied zwischen den einzelnen Snapshots darstellen. Delta-Disk-Dateien können schnell wachsen und so groß werden wie die gesamte virtuelle Festplatte, wenn das Gastbetriebssystem auf jeden Block der virtuellen Festplatte schreibt.

Weitere Details finden Sie unter den folgenden Links:

  • Verstehen von VM-Snapshots in ESXi / ESX
  • Bestimmen, ob es übrig gebliebene Delta-Dateien oder Snapshots gibt, die VMware vSphere oder Infrastructure Client nicht erkennen können

Einschränkungen von Snapshots

Es gibt eine Reihe von Einschränkungen, die Sie beachten müssen. Einige davon, wie z. B. die Interaktion von Snapshots mit vMotion, müssen richtig angegangen werden, wenn Sie noch ältere Versionen von vSphere verwenden.

  • Snapshots von VMs mit Raw Disks, RDM Physical Mode Disks oder Gastbetriebssystemen, die einen iSCSI-Initiator im Gast verwenden, werden nicht unterstützt.
  • VMs mit unabhängigen Festplatten müssen ausgeschaltet sein, bevor Sie einen Snapshot erstellen.
  • Snapshots von eingeschalteten oder angehaltenen VMs mit unabhängigen Festplatten werden nicht unterstützt.
  • Snapshots werden nicht mit PCI vSphere Direct Path-E/A-Geräten unterstützt.
  • Snapshots von VMs, die für die gemeinsame Nutzung von Bussen konfiguriert sind, sind keine von VMware unterstützte Option.
  • Obwohl Snapshots ein zeitpunktbezogenes Abbild der Festplatte liefern, das von Backup-Lösungen verwendet werden kann, sind sie nicht als robuste Methode für Backup und Wiederherstellung gedacht. Wenn die Dateien, die eine virtuelle Maschine enthalten, verloren gehen, sind auch die Snapshot-Dateien verloren. Außerdem ist eine große Anzahl von Snapshots schwer zu verwalten, verbraucht viel Festplattenspeicher und ist im Falle eines Hardwareausfalls nicht geschützt.
  • Snapshots können die Leistung einer virtuellen Maschine negativ beeinflussen. Die Leistungsverschlechterung hängt davon ab, wie lange der Snapshot oder die Snapshot-Struktur vorhanden ist, wie tief die Struktur ist und wie sehr sich die virtuelle Maschine und ihr Gastbetriebssystem seit der Erstellung des Snapshots verändert haben. Außerdem kann es zu einer Verzögerung bei der Zeit kommen, die die virtuelle Maschine zum Einschalten benötigt. Führen Sie virtuelle Maschinen aus Snapshots nicht dauerhaft in der Produktion aus.
  • Wenn eine virtuelle Maschine über virtuelle Festplatten verfügt, die größer als 2 TB sind, kann die Fertigstellung von Snapshot-Vorgängen erheblich länger dauern.

Wenn Sie Umgebungen aus der Zeit vor vSphere 6.0 haben, lesen Sie unbedingt den KB-Artikel Migrieren virtueller Maschinen mit Snapshots. Ein häufiges Problem, auf das ich häufig gestoßen bin, war, dass man einen Host in den Wartungsmodus versetzte und darauf wartete, dass die VMs automatisch von ihm migriert wurden, nur um dann festzustellen, dass der Prozess stecken blieb, weil eine oder mehrere VMs Snapshots hatten.

Fehlerbehebung

Hier sind einige KB-Artikel, die einige der häufigsten Probleme behandeln, mit denen Sie bei der Arbeit mit Snapshots wahrscheinlich konfrontiert werden.

  • Fehlerbehebung bei der Erstellung oder Übertragung von Snapshots in VMware ESXi/ESX
  • Snapshots der virtuellen Maschine können nicht gelöscht werden
  • Nach dem Entfernen eines Datenträgers aus der virtuellen Maschine können keine neuen Snapshots auf einer virtuellen Maschine erstellt werden
  • Die Aufgabe zum Entfernen von Snapshots hält bei 99 % in ESXi/ESX an