Articles

Warum Snapshots allein keine Backups sind

Ein klares Bild davon zu haben, was VM-Snapshots und Backups für Sie tun können, ist entscheidend, wenn es um Ihre Daten geht. Um alle Zweifel auszuräumen: Snapshots sind KEINE Backups. Es handelt sich um zwei verschiedene Prozesse, die für unterschiedliche Anforderungen entwickelt wurden. Heute möchte ich Ihnen den Unterschied zwischen VM-Snapshots und Backups erläutern und Ihnen einige Szenarien vorstellen, in denen jedes der beiden Verfahren am besten geeignet ist.

Es stimmt zwar, dass viele Veeam-Produkte einen Snapshot als Teil eines Backups verwenden – aber ein Snapshot allein ist noch kein Backup. Diese Logik gilt auch für VMware VM-Snapshots, Hyper-V-Checkpoints und Storage-Snapshots.

Wie funktionieren Snapshots?

Zusammenfassend lässt sich sagen, dass ein VM-Snapshot den Prozess der Speicherung des Datenzustands einer VM mit der Möglichkeit darstellt, zu diesem Zeitpunkt zurückzukehren. Die VM kann ausgeschaltet, eingeschaltet oder angehalten sein, wenn Snapshots erstellt werden. Mehrere Snapshots sind in einer Eltern-Kind-Hierarchie organisiert.

Üblicherweise werden Snapshots zum Testen von Software-Updates oder für unsichere Operationen auf einer VM verwendet und bei Bedarf wieder in den Ausgangszustand zurückversetzt – man kann sie sich wie ein Lesezeichen oder eine Rückgängig-Taste vorstellen. Snapshots sind keine vollständige Kopie des Basisdatenträgers und reichen daher nicht aus, um eine VM im Falle eines Speicherausfalls wiederherzustellen.

VMware-Snapshots

In VMware-VMs ist die virtuelle Festplatte eine .vmdk-Datei, die sich auf einem Datenspeicher (LUN) befindet. Wenn ein Snapshot im Snapshot Manager erstellt wird, wird die ursprüngliche Festplatte schreibgeschützt und alle neuen Datenänderungen werden auf eine temporäre .vmdk-Delta-Festplatte geschrieben, die auf die ursprüngliche Festplatte verweist. Die Delta-Disk ist die Differenz zwischen dem Zustand zum Zeitpunkt der Erstellung des Snapshots und dem aktuellen Zustand der virtuellen Festplatte. Bei der Erstellung eines VMware-Snapshots werden außerdem zwei weitere Dateien erstellt: Snapshots und Metadaten (.vmsd) und Informationen zum Betriebszustand (.vmsn). Nachdem ein Snapshot gelöscht (committed) wurde, werden alle Änderungen in der ursprünglichen .vmdk-Datei zusammengeführt und sie kehrt in den Schreib-Lese-Modus zurück.

Why snapshots alone are not backups

Abbildung 1. Snapshots im VMware vSphere-Client

Um einen sinnvollen Einsatz von Snapshots in virtualisierten vSphere-Umgebungen zu gewährleisten, stellt VMware mehrere Best Practices zur Verfügung:

  • Verwenden Sie maximal 32 Snapshots in einer Kette, aber für eine bessere Leistung sollten Sie nur zwei bis drei Snapshots verwenden
  • Lassen Sie einen Snapshot nicht länger als 24 bis 72 Stunden laufen. Er wird größer, und der Speicherplatz kann knapp werden
  • Verwenden Sie Snapshots nicht als Backups. Wenn die ursprüngliche virtuelle Festplatte gelöscht wird, können Sie eine VM nicht aus Snapshots wiederherstellen

Hyper-V-Prüfpunkte

Bei Hyper-V-Snapshots (ab Windows Server 2012 R2 in Hyper-V-Prüfpunkte umbenannt) liegen die Dinge etwas anders. Wenn ein Hyper-V-Prüfpunkt im Hyper-V-Manager erstellt wird, wird die laufende VM angehalten und eine .avhd(x)-Differenzdiskette im selben Ordner wie die übergeordnete virtuelle Festplatte (.vhd /.vhdx) erstellt, um die Änderungen zusammen mit einer Kopie der .xml-Konfigurationsdatei zu speichern. Die ursprüngliche virtuelle Festplatte wird auf schreibgeschützt gesetzt, und wenn die VM läuft, gibt es zwei weitere zugehörige Dateien – den gespeicherten Zustand der VM (.bin) und Speicherinformationen (.vsv), dann wird die VM wieder aufgenommen.

Why snapshots alone are not backups

Abbildung 2. Prüfpunkte im Hyper-V Manager

Microsoft empfiehlt für Hyper-V-Prüfpunkte unter anderem:

  • Verwenden Sie keine Snapshots auf VMs, die zeitkritische Dienste hosten, wie Microsoft Exchange Server oder Active Directory Domain Services
  • Erweitern Sie den vorhandenen virtuellen Speicher einer VM nicht, wenn Snapshots darauf vorhanden sind, da sie sonst gefährdet werden
  • Löschen Sie mit dem Hyper-V Manager .avhd(x)-Dateien aus der Snapshot-Struktur zu löschen, anstatt sie manuell zu löschen

Wie sieht es mit Speicher-Snapshots aus?

Speicher-Snapshots sind ein großartiges Framework, das als Teil eines Backup-Jobs genutzt werden kann. Veeam Backup & Replication unterstützt viele Storage Arrays sowohl für Backup from Storage Snapshots als auch für Veeam Explorer for Storage Snapshots. Auch hier gibt es einige Punkte zu beachten:

  • Selbst wenn ein Array unterstützt wird, um Veeam Explorer für Speicher-Snapshots zu nutzen, müssen Sie immer noch ein Backup erstellen, um auf einen anderen Speicher zu wechseln. Veeam Explorer für Speicher-Snapshots ist eine reine Wiederherstellungstechnik von dem Quell-Array, das den Snapshot erstellt hat.
  • Backup von Speicher-Snapshots ist eine großartige Möglichkeit, ein Backup mit der Leistung des Speicher-Arrays zu erstellen und die Daten auf einen anderen Speicher zu verschieben.

Einer der Veeam-Evangelisten, Rick Vanover, sagt gerne Folgendes: „Wir haben nichts als Beweise in Form von Erfolgsgeschichten von Kunden, dass gute Arrays tatsächlich ausfallen – also verschieben Sie bitte Ihre Backups auf einen anderen Speicher und befolgen Sie die 3-2-1-Regel.“

Wann sollte ich Snapshots verwenden?

Snapshots sind eine kurzfristige Lösung, die vor allem in Test- und Entwicklungsumgebungen für Patches, Updates oder zum schnellen Testen von Dingen und Rollback im Falle eines Fehlers verwendet wird. In der Produktion werden sie weniger empfohlen. Es gibt jedoch bestimmte Szenarien, in denen Snapshots in der Produktionsumgebung wirklich nützlich sind. Wenn Sie zum Beispiel riskante Aktionen durchführen, wie eine Betriebssystemaktualisierung oder Konfigurationsänderungen, die Ihrem System schaden könnten, dann sind Snapshots eine gute Idee.

Warum werden Snapshots nicht für Produktionsumgebungen empfohlen? Hauptsächlich aus Gründen der Datenintegrität. Bei Snapshots erstellen Sie keine Kopie der virtuellen Festplatte. Es gibt die virtuelle Festplatte der VM und die Deltaplatte, was bedeutet, dass bei einer Beschädigung des VM-Laufwerks auch die Snapshots verloren gehen, da sie nicht auf der Basisplatte zusammengeführt werden können. Snapshots schützen Sie nicht vor Festplattenausfällen, und Sie haben immer noch einen Single Point of Failure.

Ein weiterer Grund ist leistungsbezogen. Snapshots können die Leistung von VMs beeinträchtigen. Das passiert zwar nicht sehr oft, sondern nur in bestimmten Situationen, aber es kann vorkommen. Wenn zum Beispiel stark ausgelastete VMs auf gealterten (und daher größeren) Snapshots laufen, würde sich die Leistung dieser VMs definitiv verschlechtern, insbesondere wenn sie dynamische Festplatten verwenden. Es ist ein weit verbreiteter Fehler, eine VM über einen langen Zeitraum auf einem Snapshot laufen zu lassen – der Snapshot wird größer, weil er alle Änderungen aufnimmt und nicht die Quellplatte. Infolgedessen dauert das Commit viel länger und könnte die VM während des Merge-Prozesses sogar lahmlegen.

Warte, verwendet Veeam nicht Snapshots?

Gute Beobachtung! Veeam Backup & Replication verwendet tatsächlich Snapshots als Teil eines Backup-Jobs. Es kann einen VMware VM-Snapshot, einen Hyper-V-Checkpoint oder einen Storage-Snapshot verwenden. Es ist wichtig zu beachten, dass der Snapshot an sich kein Backup ist – er kann jedoch als wichtiger Teil des Backup-Prozesses verwendet werden. Dies liegt daran, dass der Snapshot als Teil des Datenverschiebungsprozesses in eine Sicherungsdatei oder eine replizierte VM verwendet wird. Der Snapshot wird entfernt, wenn der Backup-Auftrag abgeschlossen ist.

Snapshots vs. Backups

Ein Backup ist eine konsistente VM-Kopie, die Ihnen die Möglichkeit gibt, sie wiederherzustellen, falls die Originaldateien durch eine Katastrophe oder einen menschlichen Fehler beeinträchtigt werden. Im Gegensatz zu Snapshots sind Backups unabhängig von der VM, und sie können leicht exportiert und außerhalb des Unternehmens gespeichert werden (in der Cloud, auf Band oder einem anderen entfernten Speicher). Lesen Sie mehr über die goldene 3-2-1-Regel.

Veeam Backup & Replication nutzt die VSS-Technologie (Volume Shadow Copy Service) und anwendungsspezifische Image-Verarbeitung, um VM-Backups auf Image-Ebene zu erstellen. VM-Backups auf Image-Ebene ermöglichen es Ihnen, einen gesamten Workload zu schützen – virtuelle Festplatte, Betriebssystem, Softwareanwendungen und Systemkonfigurationsdateien. All dies wird in einer einzigen Image-Level-VM-Backup-Datei gespeichert, die mehrere Wiederherstellungsoptionen für Ihre geschäftskritischen Anwendungen bietet – von der vollständigen VM-Wiederherstellung bis hin zur granularen Wiederherstellung von Anwendungselementen.

Darüber hinaus ist Veeam Backup & Replication mit zahlreichen Technologien zur Optimierung des Backup-Verkehrs und zur Verringerung der Backup-Dateigröße ausgestattet, z. B. Deduplizierung, Komprimierung oder WAN-Beschleunigung, und bietet Ihnen die Möglichkeit, die Wiederherstellbarkeit Ihrer Backups mit SureBackup zu testen. Veeam bietet Ihnen außerdem eine alternative Möglichkeit, Ihre VM schnell zu testen und Fehler zu beheben: das Virtual Lab. Hier können Sie eine isolierte virtuelle Umgebung erstellen, die sich nicht auf Ihre Produktion auswirkt, und verschiedene Vorgänge durchführen, wie z. B. das Testen von Software-Updates oder die Durchführung von Schulungen.

Was ist, wenn meine Umgebung keine Snapshots jeglicher Art verträgt?

Dies ist heute eine reale Möglichkeit. Eine Möglichkeit, den Backup-Prozess zu bewältigen, ist die Verwendung von Veeam Agent für Microsoft Windows oder Veeam Agent für Linux. Diese neuen Veeam-Backup-Produkte verwenden überhaupt keine Infrastruktur-Snapshots unterhalb des Betriebssystems. Für Windows wird das VSS-Framework verwendet, um ein Image-basiertes Backup zu erstellen, und für Linux wird veeamsnap verwendet, um ein Image des Dateisystems zu erhalten.

Zusätzlich wird mit Veeam Backup & Replication v10 die Veeam CDP-Funktion eine Replikations-Engine für virtuelle VMware-Maschinen bereitstellen, die keine VMware-Snapshots verwendet. Dabei werden die vSphere-APIs für I/O-Filterung oder VAIO genutzt, die im Speicherpfad der VM arbeiten.

Fazit

VM-Snapshots allein können nicht als zuverlässiger Weg zum Schutz Ihrer Daten und zur Wiederherstellung im Falle eines Ausfalls verwendet werden, aber sie sind sehr praktisch für schnelle Tests und Fehlerbehebung. Darüber hinaus kann ein VM-Snapshot verwendet werden, wenn er Teil einer umfassenden Sequenz von Ereignissen ist, um ein Backup oder einen Replikationsauftrag durchzuführen. Denken Sie jedoch daran, die Snapshot-Mengen im Auge zu behalten und sie richtig zu verwalten, um Speicher- und Leistungsprobleme zu vermeiden. Andererseits bieten VM-Backups auf Image-Ebene ein hohes Maß an Anwendungs- und Datenschutz, ermöglichen ein niedriges RPO und unterstützen praktisch jedes Wiederherstellungsszenario – von einer vollständigen VM bis hin zur Wiederherstellung von Anwendungselementen.