Vergleich: Backup, Snapshot, Undo-Disk

    Snaphot-Baum unter VMware WorkstationVerschiedene Vir­tu­alisierungs­pro­duk­te bieten unterschiedliche Fähigkeiten an Rück­setz­möglichkeiten in Form von Snaphots für virtuelle Maschinen an. Bei VMware etwa schlägt sich deren Verfügbarkeit im Preis nieder – so ist bei der Workstation die Möglichkeit, Snapshots anzulegen und komfortabel zu verwalten, eines der gewichtigsten Verkaufsargumente gegenüber dem kostenlosen Player.

    Microsoft handhabt es anders und bindet die Funktion nicht an den Preis, sondern orientiert sich an der zu erwartenden Erfahrung des Benutzers: Nur der Hyper-V-Server (ob alleine oder als Windows-Server-Rolle) bietet eine mehrstufige Snapshot-Funktion, das Consumer-Produkt Windows Virtual PC nur eine einstufige in Form so genannter Undo-Disks, die man nur für eine heruntergefahrene VM jeweils ein- oder ausschalten kann. VirtualBox macht keine Unterschiede; Snapshots stehen sowohl in der OpenSource- als auch in der professionellen Version zur Verfügung.

    Snapshots und Undo-Disks: Anwenden, wiederherstellen, verwerfen

    Eine Delta-VMDK enthält die Informationen darüber, von wo sie abstammtTechnisch werden Snapshots so realisiert, dass ab dem ersten die ursprünglichen virtuellen Festplatten sowie, wenn die VM beim Snapshot eingeschaltet war, der Speicher im Nur-Lese-Modus betrieben werden, während alle weiteren Änderungen an der VM in eine neue Datei gelangen. Dieses Prinzip gilt für die nachfolgenden Snapshots inkrementell.

    Die Delta-Dateien selbst enthalten zwar Informationen darüber, von wem sie abstammen, aber nicht warum: Die Informationen über die logische Struktur der zu einer VM jeweils gehörenden Snapshots ist in deren Konfigurationsinformationen hinterlegt.

    Sobald man mit Snapshots arbeitet, sollte man deshalb virtuelle Maschinen und ihre Datenträger möglichst nur noch mit den jeweiligen Verwaltungstools der Virtualisierungssoftware kopieren, bewegen oder löschen. Das Risiko steigt, dass sonst eine Delta-Datei ihre Meta-Informationen nicht findet oder dass ein Snapshot die ihm zugeordneten Datenträger vermisst.

    Prinzipiell kann man mit vorhandenen Snapshot drei Dinge anstellen:

    • Man kehrt zu einem Snapshot zurück, das heißt aktuelle Status der VM wird gelöscht und von dem des Snapshots überschrieben. Zum letzten Snaphot etwa wird man nach einer soeben getätigten Fehlkonfiguration zurückkehren, insbesondere wenn diese für die VM letal war.
    • Man löscht einen und alle nachgeordneten Snapshots, respektive einen ganzen Snapshot-Baum. Alle Änderungen an der VM werden dadurch permanent, wenn der aktuelle Status der VM von einem Snapshot innerhalb dieses Baumes stammt. Ansonsten geschieht das Gegenteil: Die in diesem Baum enthaltenen Änderungen gehen komplett verloren.
    • Man löscht einen einzelnen Snapshot, das heißt alle seitdem in der VM vorgenommenen Änderungen werden dem ihm nachgeordneten Snapshot permanent und Inhalt der ihm zugeordneten virtuellen Disks den Kind-Disks appliziert. Gibt es davon keinen, entspricht dies dem Löschen des ganzen Snapshot-Baumes und die Änderungen werden der VM permanent appliziert. Gibt es davon nur einen in der Hierarchie, ist die Sache immer noch einfach: Er übernimmt das Delta.
      Bei mehreren Kindern müssen die Delta-Dateien des gelöschten Snapshots jeder der nun verwaisten Kind-Disks appliziert werden. Dieser schon ohne Verzweigung rechen- und I/O-intensive, zeitraubende Prozess beeinträchtigt die Performance erheblich. VMware Server erlaubt deswegen gar keine verzweigten Snapshots. Hyper-V tut dies zwar, löscht aber die Delta-Dateien von gelöschten Snapshots nur dann, wenn nur noch ein Kind übrig ist und wenn dieses heruntergefahren wird – bis dahin behält es sie still und lässt die weiter mitlaufen. Bei VMware Workstation erlebt man die Wartezeiten unmittelbar nach der Aktion.

    Mit einfachen Produkten wie Virtual PC und ihren einstufigen Undo-Disks reduziert sich das ganze Szenario auf jeweils die Entscheidung, die Änderungen permanent in die VM zu übernehmen oder zu verwerfen.

    Snapshots: Kein Ersatz für Backup

    Kann dauern: Deltas zu applizieren kostet sehr viel I/O und damit ZeitSnapshots sind eine kostspielige Sache, sowohl was I/O als auch was Speicherplatz betrifft. Sie führen zu einem spürbaren Performanceverlust nicht nur der betreffenden VM, sondern auch der Host-Maschine und kommen schnell den verfügbaren Speicherplatz auf dem Host aufbrauchen – unter Hyper-V etwa merkt man dies daran, dass sich die VM suspendiert und den Status „paused-critical“ zeigt. Auch das Löschen von Snapshots kann dann eventuell keine Wirkung zeigen, bis man das Gastsystem regulär herunterfährt – erst dann werden die Deltas der gelöschten Snapshots appliziert.

    Gut auf virtuellen Testmaschinen geeignet, bevor man experimentelle Konfigurationen ausprobiert, sind Snapshots als Ersatz für das Backup einer VM nicht geeignet. Microsoft warnt auch davor, betont aber einen anderen Aspekt noch mehr: Der Status einer VM wird durch den Snapshot nur unzureichend gespeichert, etwa bei Datenbank-Transaktionen, weil sie nicht VSS-fähig sind. Für virtualisierte Active Directory-Domaincontroller wird dies sogar explizit nicht unterstützt. Fazit: Snapshots sind nur für Testumgebungen, im produktiven Einsatz haben sie nichts zu suchen.

    Keine Kommentare