silvesterlangen.de

Seite
Menü

Snapshots

Was sind Snapshots?

Wie der Name schon vermuten lässt sind es Momentaufnahmen vom Zustand eines Systems. Mit einem Snapshot lässt sich also der Zustand einer VM einfrieren und später auf diesen Zustand wieder zurückkehren. So könnte man nach der Basisinstallation einer VM einen Snapshot machen, die Installation einer Software durchführen und bei einem Irrtum auf den Snapshot "Basisinstallation" zurückkehren. Snapshots sparen viel Zeit und Arbeit, wenn man sie intelligent einsetzt. Im Gegensatz zum vollen Backup sind sie sehr schnell und man kann einen Snapshot sogar im laufenden Betrieb einer VM machen.

Ganz wichtig: Snapshots sind niemals ein Ersatz für Backups! Leider wird das immer wieder von einigen Leuten so verstanden. Das ist ganz einfach falsch und obendrein gefährlich. Der Grund ist ganz einfach. Snapshots basieren auf der ursprünglichen Basis-Disk und den ggf. existierenden zurückliegenden Snapshots. Das verhält sich genau so wie differenzierende Backups quasi. Ist die Basis ein mal unbrauchbar, dann sind alle Snapshots nutzlos.

 

Was passiert da genau?

Wir wissen, dass wir eine Datei auf dem Host haben (.vmdk) die die Festplatte der VM darstellt. In dieser Datei wird geschrieben, geändert und gelöscht. Eben genau so wie auf einer Festplatte. Bei einem Snapshot wird genau diese Datei nun schreibgeschützt und eine neue Datei (diffenzierende Disk) angelegt in der absofort geschrieben wird. Aus der schreibgeschützten Datei wird fortan nur noch gelesen. Neue Daten werden in die differenzierende Disk geschrieben. Im Falle eines weiteren Snapshots wird nun auch diese differenzierende Disk schreibgeschützt und wieder eine neue differenzierende Disk angelegt, die die neuen Inhalte und Änderungen aufnimmt. Das wiederholt sich mit jedem Snapshot den man anlegt.

Im Falle eines Rücksprungs auf einen zurückliegenden Snapshot wird die letzte differenzierende Disk ganz einfach gelöscht und die schreibgeschützte Datei wieder der Schreibschutz entfernt, dass in ihr weiter gearbeitet werden kann.

War die VM beim Erstellen eingeschaltet, so werden noch zusätzlich zur differenzierenden Disk noch zwei weitere Dateien geschrieben. Eine für den Zustand der CPU zu dem Zeitpunkt des Snapshots und eine für den Inhalt des RAMs zum Zeitpunkt des Snapshots. Das wiederholt sich immer wieder mit jedem Snapshot.

 

Snapshot-Kapazitäten:

Es gibt zwei Zustände, die Einfluss auf die Größe eines Snapshots haben.

  • eingeschaltete VM
    • Es müssen alle Daten aus der CPU in eine Datei geschrieben werden, um den Zustand der CPU zu diesem Zeitpunkt festzuhalten.
    • Es müssen alle Daten aus dem RAM in eine Datei geschrieben werden, um den Zustand des RAMs zu dem Zeitpunkt festzuhalten. Die Größe der Datei hängt von der Größe des RAMs ab, der der VM zugewiesen wurde und wie viel sie zu dem Zeitpunkt davon genutzt  hat.
  • ausgeschaltete VM
    • Weder Zustand des RAMs noch Zustand der CPU müssen gespeichert werden, da zu diesem Zeitpunkt keine Daten vorliegen.

Im Klartext also: Eine ausgeschaltete VM benötigt den wenigsten Platz für einen Snapshot. Außerdem ist es auch der sicherste Zustand, wenn man später Snapshot zusammenführen möchte, um nicht zig Snapshots zu haben, sondern nur die Wichtigsten.

 


 

Snapshot erstellen:

vim-cmd vmsvc/snapshot.create 11 mySnapshotName

Snapshot-Info ansehen:

vim-cmd vmsvc/snapshot.get 11

Man bekommt alle Snapshots aufgelistet, die die VM mit der ID 11 hat. Arbeiten mit Snapshots (zurückkehren, zusammenführen, etc) benötigen die Snapshot-ID, die mit 1, 2, 3, ... durchnummeriert sind.

Zu einem Snapshot zurückkehren:

vim-cmd vmsvc/snapshot.revert 11 2 suppressPowerOff

Mit dieser Zeile kehren wir zum zweiten Snapshot der VM mit der ID 11 zurück.

Snapshot löschen:

vim-cmd vmsvc/snapshot.remove 11 2

 

« vorige Seite Seitenanfang nächste Seite »
Seite
Menü
Earned Certificates:
LPIC-1 LPIC-1 LPIC-1
Powered by CMSimple | Template by CMSimple | Login