212 - Was sind und wie funktionieren Snapshots?

Snapshots bieten eine einfache Möglichkeit, versehentlich gelöschte, geänderte oder beschädigte Dateien oder Verzeichnisse zu rekonstruieren. Jeder Benutzer kann selbst (benutzergesteuertes Recovery) ältere Versionen finden und restaurieren, ohne sich an einen Administrator, Servicedesk etc. wenden zu müssen.

Wie funktionieren Snapshots? Das Speichersystem macht automatisch und regelmäßig von allen Dateien und Verzeichnissen Schnappschüsse („Snapshots“), die zum Zeitpunkt des Schnappschusses in einer Dateiablage vorhanden sind. Damit sind Snapshots keine Art von Sicherungskopie jeder jemals existenten Version einer Datei oder eines Verzeichnisses, sondern nur bestimmte Versionen zu definierten Zeitpunkten.

Vom Speichersystem angelegte Snapshots können ausschließlich gelesen (Read Only) werden. Aus diesen Snapshots wiederhergestellte Dateien oder Verzeichnisse sind aber wieder ganz normal bearbeitbar. Der von Snapshots verbrauchte Speicherplatz auf dem Dateiserver wird nicht auf das gesetzte Quota des Bereiches (=nutzbarer Speicherplatz) angerechnet. Für Snapshots wird beim Anlegen eines Bereichs (Volumes) ein zusätzlicher Speicherbereich (Default 5% der Volume-Größe) reserviert. Es kann allerdings in Sonderfällen vorkommen (z. B. selten auftretende, sehr große Veränderungen des gesamten Datenbestands), dass Snapshots mehr Speicherplatz verbrauchen, als für sie vorgesehen ist. In diesem Fall reduzieren Snapshots den nutzbaren Speicherplatz auf dem Dateiserver und der Snapshot-Bereich wird teilweise in der Größe angepasst.

Es wird stets eine feste Anzahl an Snapshots aufbewahrt: wenn ein neuer Snapshot erstellt wird, löscht der Dateiserver automatisch den ältesten Snapshot des gleichen Typs und rotiert die Nummerierung aller anderen Snapshots. Es gibt drei verschiedene Typen von Snapshots, welche in der folgenden Tabelle zusammengefasst sind.


Snapshot-Typ

Zeitplan für die Erstellung und Aufbewahrung

hourly

Alle x Stunden, z.B. um 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 und 20 Uhr

Es werden z.B. die letzten 42 Snapshots aufbewahrt

(„hourly.JJJJ-MM-DD-TTTT“)

daily

Täglich um Mitternacht

Es werden z.B. die letzten 14 Snapshots aufbewahrt

(„daily.JJJJ-MM-DD-TTTT“)

weekly

Jede Woche am Sonntag um Mitternacht

Es werden z.B. die letzten 9 Snapshots aufbewahrt.

(„weekly.JJJJ-MM-DD-TTTT“)


Die Wiederherstellung von Daten aus einem Snapshot ist einfach. Hier können einzelne Anwender die Daten selbstständig aus den Snapshots wiederherstellen. Man kann sich beispielsweise eine ältere Version einer derzeit beschädigten Datei in das aktuelle Verzeichnis kopieren. Es ist wichtig daran zu denken, dass eine Datei zum Zeitpunkt der Erstellung des Snapshots in der Dateiablage vorhanden gewesen sein muss, damit sie im Snapshot erhalten bleibt.

Die folgende Abbildung zeigt unterschiedliche Szenarien, wie Dateien in Snapshots aufbewahrt werden. Der Einfachheit halber werden nur daily-Snapshots angezeigt.

Datei A wurde „vorgestern“ erstellt und zum ersten Mal im Snapshot „daily.1“ festgehalten. Genauso ist es mit Datei B, wobei diese „gestern“ – also zwischen daily.1 und daily.0, gelöscht worden ist. Sie kann jedoch aus dem Snapshot „daily.1“ wiedergeholt werden.

Datei C wurde zwischen den Snapshots daily.1 und daily.0 erstellt und gleich wieder gelöscht. Damit ist sie in keinem der Snapshots vorhanden und kann somit nicht mehr wiederhergestellt werden (in der Realität würde sie vermutlich in einem der „alle 4 Stunden“ erstellten „hourly“ Snapshots erhalten bleiben).

Datei D wurde mehrfach editiert und gespeichert. Damit enthält der Snapshot „daily.2“ den Stand von „Gespeichert 0“, daily.1 den von „Gespeichert 1“ aber daily.0 nur den von „Gespeichert 3“. Diese drei Versionen könnten also zurückgeholt werden.