VMware-Snapshot
Was ist ein VMware-Snapshot?
Ein VMware-Snapshot ist eine Kopie einer virtuellen Maschine (VM) in einer VMware-Umgebung, die zu einem bestimmten Zeitpunkt erstellt wurden. Um eine VM im Falle eines Systemausfalls oder -fehlers an einem bestimmten Punkt wiederherzustellen, sind Snapshots nützlich. Sie sind nicht für die Erstellung von VM-Backups geeignet.
Ein VM-Snapshot ist ein zeitpunktbezogenes Abbild des Zustands und der Daten einer VM. Der Zustand bezieht sich darauf, ob die VM eingeschaltet, ausgeschaltet oder angehalten ist. In jedem dieser Zustände kann ein Snapshot der VM erstellt werden. Die Daten der VM umfassen alle Dateien, Komponenten und Geräte, wie Speicher, Festplatten und virtuelle Netzwerkkarten (NIC). Das Erstellen des Snapshots dauert länger, wenn der Speicherzustand der VM miterfasst wird. Die Netzwerkreaktion kann sich ebenfalls verlangsamen.
Um ein Backup zu erstellen, wird eine VM in den Ruhezustand versetzt. Das heißt, die Daten des VM-Dateisystems auf der Festplatte werden in einen für Backups geeigneten Zustand gebracht. Bei diesem Vorgang werden die auf der VM laufenden Prozesse angehalten oder ihr Zustand wird geändert. Snapshots allein sollten nicht als Backup für virtuelle Festplatten betrachtet werden, die mit einer oder mehreren VMs verbunden sind. Außerdem kann der Betrieb einer VM auf einem Snapshot über einen längeren Zeitraum zu Systeminstabilität und/oder Datenverlusten führen.
Snapshot in VMware vSphere
VMware vSphere ist eine Servervirtualisierungs- und Unternehmens-Workload-Plattform für lokale und Cloud-Anwendungen, die Benutzern eine zentralisierte Managementplattform für ihre VMs bietet. Die Plattform umfasst zahlreiche Produkte, darunter die folgenden:
- VMware ESXi: ein Typ-1-Hypervisor, der die Ausführung von VMs verwaltet
- VMware vCenter Server: eine Serveranwendung zum Erstellen, Starten, Stoppen und Verwalten von VMs
- VMware vSphere Client: eine Windows-Anwendung für das Management zur vSphere-Umgebung
- VMware VMFS-Datenspeicher: das Dateisystem von vSphere zur Verwaltung der Festplattenressourcen für VMs
Die VMware-Snapshot-Funktion ist auf eigenständigen ESXi-Hosts, vCenter Server und in VMware Workstation verfügbar. Wenn der Snapshot erstellt wird, wird in der vSphere-Umgebung der gesamte Zustand der VM erfasst. Wie erwähnt, lassen sich Snapshots erstellen, wenn die VM eingeschaltet, ausgeschaltet oder angehalten ist. VMware empfiehlt jedoch, dass der Snapshot erst nach Abschluss des Anhaltevorgangs erstellt werden, wenn sich die VM im angehaltenen Zustand befindet.
Alle beschreibbaren Daten auf der VM werden schreibgeschützt, wenn der VMware-Snapshot erstellt wird. Um mehrere mögliche Point-in-Time-Wiederherstellungspunkte zu erzeugen, können VMware-Administratoren mehrere VM-Snapshots erstellen. Wenn eine VM auf einen Snapshot zurückgreift, werden ihre aktuellen Festplatten- und Speicherzustände gelöscht, und der Snapshot wird zum neuen übergeordneten Snapshot für diese VM. Die Snapshot-Datei darf die Größe der ursprünglichen Festplattendatei nicht überschreiten und benötigt außerdem einen gewissen Overhead-Speicherplatz. Bei hoher Schreibaktivität werden Snapshots auf der Festplatte schnell anwachsen.
Wie bei VM-Snapshots im Allgemeinen lassen sich auch vSphere-Snapshots für Entwicklung und Tests verwenden. Der nützliche Ausfallsicherungsmechanismus ermöglicht einfach System-Rollbacks während der Entwicklung, des Testens, des Patchens oder der Konfigurationsänderungen.
Vorteile durch das Erstellen von VMware-Snapshots
Das Erstellen eines VM-Snapshots ist nützlich für die Entwicklung und das Testen von VMs, für die mehrere VMs mit ähnlichen Konfigurationen erforderlich sein können. Auch in Entwicklungs- und Testumgebungen sind Snapshots von Vorteil, in denen Codeänderungen iterativ durchgeführt werden und ein sicherer Rollback-Punkt erforderlich ist, um Fehler rückgängig zu machen.
Um zu einem bestimmten VM-Status zurückzukehren, ohne mehrere VMs erstellen zu müssen, bietet ein Snapshot eine schnelle Ausfallsicherung. Das macht Snapshots besonders nützlich in Umgebungen, in denen wiederholte Rollbacks erforderlich sind. Beispiele hierfür sind das Durchführen von Upgrades und das Ändern an VM-Einstellungen oder -Konfigurationen. Der Snapshot bietet in beiden Fällen einen sicheren Wiederherstellungspunkt, wenn Änderungen rückgängig gemacht werden müssen.
Ruhigstellen einer VM mit VMware-Snapshots
VMware Tools bezieht sich auf eine Reihe von Services und Modulen, die das Management von Gastbetriebssystemen und Anwenderinteraktionen in vCenter Server und anderen VMware-Produkten vereinfachen. Beispielsweise können VMware Tools zur Anpassung eines Gastbetriebssystems, zur Ausführung von Skripten zur Automatisierung von Gastbetriebssystemvorgängen und zur Synchronisierung der Systemzeit eines Gastbetriebssystems mit dem Host-Betriebssystem verwendet werden.
Auch bei der Erstellung von Snapshots können VMware Tools helfen, indem sie das Dateisystem in der VM in den Ruhezustand versetzen. Alle auf der VM laufenden Vorgänge werden dadurch angehalten, einschließlich der Prozesse, die die VM-Festplatte während eines Revertierungsvorgangs ändern könnten. Die VM muss eingeschaltet und die VMware Tools müssen vorinstalliert sein, um die VM-Dateien in den Ruhezustand zu versetzen. Außerdem muss der Benutzer, der den Snapshot erstellt, über VM-Snapshot-Verwaltungsberechtigungen für diese VM verfügen.
VMware-Snapshots und Snapshot-Manager in vSphere
Mit dem vSphere Web Client erstellen oder entfernen Sie Snapshots und kehren zum letzten Snapshot zurück. Auf die Snapshot-Manager-Funktion können Sie zurückgreifen, indem Sie im vSphere Client mit der rechten Maustaste auf die VM klicken und im Dropdown-Menü Aktionen (Actions) an der VM die Option Snapshots auswählen.
Folgende Aktionen werden mit der Snapshot-Funktion durchgeführt:
- Erstellen neuer Snapshots
- Löschen eines bestimmten Snapshots oder aller Snapshots
- Bearbeiten des Namens und der Beschreibung eines Snapshots
- Verwalten von Snapshots
- Zurückkehren zu einem beliebigen Snapshot
- Konsolidierung von Festplatten
Anstatt mit der rechten Maustaste zu klicken, können Sie die oben genannten Snapshot-Vorgänge auch ausführen, indem Sie den VM-Namen markieren, auf die Registerkarte Snapshots klicken und die gewünschte Aufgabe aus dem Menü Alle Aktionen (All Actions) auswählen.
Mit einem VMware-Snapshot erstellte Dateiformate
Wenn ein VMware-Snapshot erstellt wird, werden die folgenden vier Dateitypen angelegt:
- Das Gastbetriebssystem kann in eine .vmdk-Datei schreiben.
- Eine delta.vmdk-Datei resultiert aus dem Erstellen eines Delta-Datenträgers, wenn ein Snapshot erstellt wird. Die Delta-Disk zeigt den Unterschied zwischen dem aktuellen Zustand der VM und dem Zustand beim letzten Snapshot. Sie besteht aus einer kleinen Deskriptor-Datei und einer Datei mit Rohdaten.
- Eine .vmsd-Datei enthält Informationen über den Snapshot und die Beziehungen zwischen den Snapshots und Delta-Disks für jeden Snapshot.
- Eine .vmsn-Datei sichert den VM-Arbeitsspeicher.
Nachteile von VMware-Snapshots
Eine zu große Anzahl von Snapshots kann die VM-Performance beeinträchtigen, da Snapshots die gleichen Ressourcen wie die übergeordnete VM verwenden. VMware unterstützt keinen anwendungskonsistenten Ruhezustand (Quiescing) für VMs mit integrierter Entwicklungsumgebung oder SATA-Festplatten (Serial Advanced Technology Attachment). Snapshots für Raw Disks, Raw Device Mapping (RDM), Physical Mode Disks und Gastbetriebssysteme mit iSCSI-Initiatoren sind ebenfalls nicht zulässig.
Snapshots benötigen viel Speicherplatz und sind daher für Backup und Wiederherstellung ungeeignet. Darüber hinaus können Snapshot-Vorgänge für große Terabyte-Festplatten viel Zeit in Anspruch nehmen und zu Verzögerungen führen.
Die Größe der VM-Festplatte kann in vSphere-Umgebungen nicht erhöht werden, während die VM einen Snapshot im eingeschalteten/ausgeschalteten Zustand ausführt. Auch das Vergrößern der Festplattengröße oder virtueller RDM-Festplatten, wenn Snapshots verfügbar sind, kann Snapshots beschädigen und zu Datenverlust führen.
Best Practices bei der Arbeit mit VMware-Snapshots
VMware empfiehlt, Snapshots innerhalb von 24 Stunden zu löschen, da sie mit zunehmender Anzahl mehr Speicherplatz benötigen. Am besten ist es, einen einzelnen Snapshot weniger als 72 Stunden aufzubewahren und eine Snapshot-Kette auf drei Snapshots zu begrenzen. Es werden aber bis zu 32 Snapshots in einer Kette unterstützt. VMware empfiehlt keine manuellen Modifikationen, wenn die Kette geändert werden soll, da das die Kette beeinträchtigen und zu Datenverlusten führen könnte.
Bei der Wiederherstellung von I/O-intensiven VMs mit schnellen Datenänderungen können erhebliche Dateninkonsistenzen auftreten. Es ist für solche VMs nicht ratsam, sich auf Snapshots als Failsafe oder Backup zu verlassen. Für Backups ist es am besten, ein Backup-Softwareangebot im Rechenzentrum zu verwenden. VMware empfiehlt bei der Verwendung eines Drittanbieter-Backup-Angebots, Snapshots nach einem erfolgreichen Backup zu löschen.
Der Verzicht auf die Verwendung von Snapshots auf Produktions-VMs ist eine weitere Best Practice. Aufgrund von CPU-Overheads und Änderungen in der VM und ihrem Gastbetriebssystem können Snapshots in Produktionsumgebungen zu einer Leistungsverschlechterung führen.
Der Snapshot-Manager eignet sich in VMware vSphere-Umgebungen ausschließlich zum Erstellen, Erkennen und Verwalten von Snapshots für einzelne VMs. Für die Verwaltung von Snapshots für mehrere VMs ist der Snapshot-Manager möglicherweise nicht geeignet, und Snapshot-Management-Angebote von Drittanbietern sind eventuell die bessere Wahl. Es ist wichtig, über die Befehlszeile nach Snapshots zu suchen, da die von diesen Angeboten erstellten Snapshots vielleicht nicht im VMware-Snapshot-Manager angezeigt werden.