Ein Snapshot hält den Zustand eines Systems, Datenträgers, Dateisystems oder Datenbestands zu einem bestimmten Zeitpunkt fest. Er ermöglicht, spätere Änderungen mit diesem Zustand zu vergleichen oder auf ausgewählte frühere Daten zurückzugreifen.
Wie ein Snapshot technisch funktioniert, hängt vom System ab. Bei Copy-on-Write-Dateisystemen werden vorhandene Datenblöcke nicht sofort kopiert. Der Snapshot verweist zunächst auf dieselben Blöcke und benötigt zusätzlichen Speicher, sobald sich der aktive Datenbestand verändert. Die OpenZFS-Dokumentation beschreibt dieses Prinzip für ZFS.
Ein Zeitpunkt braucht einen Geltungsbereich
Der Begriff sagt allein noch nicht, was vollständig erfasst wurde. Ein Dateisystem-Snapshot kann Dateien eines Datasets abbilden. Ein VM-Snapshot kann virtuelle Datenträger und je nach Verfahren den Arbeitsspeicher einbeziehen. Eine Datenbank kann eigene konsistente Sicherungspunkte führen.
Mehrere gleichzeitig genutzte Systeme bilden dadurch nicht automatisch einen gemeinsamen Zustand. Eine Anwendung kann einen Datensatz bereits in der Datenbank gespeichert haben, während die dazugehörige Datei noch nicht geschrieben wurde. Für eine belastbare Wiederherstellung muss deshalb bekannt sein, welche Komponenten gemeinsam erfasst wurden und welche Schreibvorgänge zu diesem Zeitpunkt abgeschlossen waren.
Snapshot und Backup erfüllen verschiedene Aufgaben
Ein Snapshot liegt häufig auf demselben Speichersystem wie die aktiven Daten. Fällt dieses System aus, wird beschädigt oder falsch administriert, können aktiver Bestand und Snapshots gemeinsam verloren gehen. Ein Snapshot ersetzt deshalb keine getrennte Backup-Strategie.
Snapshots eignen sich besonders für kurze Rückwege, Versionsvergleiche und die Wiederherstellung einzelner Dateien. Backups schützen zusätzlich gegen den Verlust des Ursprungssystems. Beide Verfahren ergänzen sich, sofern Aufbewahrung, Zugriff und Wiederherstellung geprüft sind.
Konsistenz entscheidet über die Nutzbarkeit
Ein technisch erfolgreicher Snapshot kann fachlich unbrauchbar sein. Offene Schreibvorgänge, Caches oder mehrere abhängige Datenquellen können einen Zustand hinterlassen, den die Anwendung nach einer Wiederherstellung nicht korrekt versteht.
Je nach Risiko braucht es deshalb einen anwendungskonsistenten Ablauf: Schreibvorgänge kontrolliert anhalten, Datenbanktransaktionen abschliessen, Dateisysteme synchronisieren oder die Anwendung über eine dafür vorgesehene Schnittstelle vorbereiten. Bei weniger kritischen Systemen kann ein crash-konsistenter Snapshot genügen, sofern die Anwendung nach einem unerwarteten Neustart selbstständig einen gültigen Zustand herstellen kann.
Aufbewahrung verbraucht mit der Veränderung Speicher
Ein neuer Copy-on-Write-Snapshot ist zunächst klein. Mit jeder Änderung bleiben jedoch ältere Blöcke erhalten, solange ein Snapshot darauf verweist. Häufige Snapshots mit langer Aufbewahrung können dadurch erheblichen Speicher belegen.
Eine Retention-Regel legt fest, wie viele stündliche, tägliche, wöchentliche oder monatliche Stände erhalten bleiben. Sie sollte sich an Wiederherstellungsbedarf, Änderungsrate und verfügbarem Speicher orientieren. Automatisches Löschen braucht Schutzgrenzen, damit eine Fehlkonfiguration nicht alle brauchbaren Rückwege entfernt.
Wiederherstellung vor dem Ernstfall prüfen
Ein Snapshot ist erst nützlich, wenn sein Inhalt lesbar und die vorgesehene Wiederherstellung möglich ist. Die Prüfung kann eine einzelne Datei, einen geklonten Testbestand oder einen vollständigen Rollback umfassen. Ein Runbook hält Voraussetzungen, Reihenfolge, Abbruchbedingungen und den Rückweg fest.
Nach der Wiederherstellung folgt ein Readback. Dabei wird nicht nur geprüft, ob ein Befehl erfolgreich war, sondern ob Dateien, Dienste und Anwendung tatsächlich den erwarteten Zustand zeigen. Für kritische Systeme sollte dieser Ablauf regelmässig in einer isolierten Umgebung geübt werden.
Snapshots als Beobachtungsgrundlage
Snapshots können auch Zustandsänderungen sichtbar machen. Paladin vergleicht technische Beobachtungen, um Unterschiede und relevante Sicherheitsereignisse einzuordnen. Dafür muss jeder Snapshot Herkunft, Zeitpunkt, Geltungsbereich und Aktualität tragen. Ein veralteter oder unvollständiger Stand darf nicht wie eine aktuelle Beobachtung behandelt werden.
Merksatz
Ein Snapshot hält einen begrenzten Zustand zu einem bestimmten Zeitpunkt fest. Sein Wert entsteht erst durch bekannten Geltungsbereich, passende Konsistenz, kontrollierte Aufbewahrung und eine geprüfte Wiederherstellung.