Was sind Snapshots?

Bei einem Snapshot wird ein bestimmter Zustand von z. B. einem Dateisystem eingefroren. Die danach erfolgten schreibenden Änderungen werden separat erfasst. Werden die Dateien gelesen, wird zunächst nach einem Eintrag in der Differenz geschaut und danach auf dem ursprünglichen Dateisystem, falls in der Differenz keine Änderungen gefunden wurden. Wird ein Snapshot gelöscht, wird die Differenz mit dem Snapshot zusammengeführt.

Ein physisches Beispiel hierfür sind “Errata”-Seiten, die gelegentlich zu einem fertigen Buch beigelegt werden und die Fehler im Buch korrigieren, die erst nach Drucklegung aufgefallen sind. Vorsicht aber: Wer den Gedanken weiterspinnt und sich vorstellt, dass über die Zeit über Errata-Seiten der ganze Inhalt des ursprünglichen Buches umgeschrieben wird, erkennt, dass er am Ende das Buch und Errata-Seiten im Umfang des Buches haben wird. Ein Snapshot kann daher dafür sorgen, dass am Ende das doppelte des eigentlichen Speicherplatzes verwendet wird und sollte zeitnah zusammengeführt werden.

Ein typischer Anwendungsfall ist der Snapshot einer virtuellen Maschine vor einem Upgrade, der wieder entfernt wird, wenn das Upgrade problemlos verlief.