Snapshot
Konzept zur zeitpunktbezogenen Erfassung von Daten- oder Systemzustand für Backup, Wiederherstellung und Klonen.
Klassifikation
- KomplexitätMittel
- AuswirkungTechnisch
- EntscheidungstypArchitektur
- OrganisationsreifeFortgeschritten
Technischer Kontext
Prinzipien & Ziele
Use Cases & Szenarien
Kompromisse
- Fehlende Verifikation führt zu unbrauchbaren Restore-Punkten
- Zu enge Retention kann Datenverlust bei späten Fehlern verursachen
- Performance-Einbrüche während Snapshot-Erstellung bei unbedachter Konfiguration
- Regelmäßige Restore-Tests zur Validierung von Snapshots
- Anwendungskonsistenz sichern (Quiesce, Transaktions-Flush)
- Retention- und Lifecycle-Policies automatisiert durchsetzen
I/O & Ressourcen
- Quell-Volume, -Dataset oder -Dateisystem
- Mechanismus zur Konsistenzsicherung (Applikations- oder FS-spezifisch)
- Snapshot-Policy (Frequenz, Retention, Replikation)
- Snapshot-Artefakt mit Metadaten und Blockreferenzen
- Audit- und Verifikations-Reports
- Wiederherstellungspunkte für Restore- oder Klonprozesse
Beschreibung
Ein Snapshot ist eine konsistente, zeitpunktbezogene Abbildung des Daten- oder Systemzustands, die schnelle Wiederherstellung und inkrementelle Sicherung ermöglicht. Er reduziert Ausfallzeiten bei Recovery, unterstützt Replikation, Cloning und Prüfpfade. Implementierungsdetails variieren je nach Speicher- oder Virtualisierungsplattform, wodurch Performance und Konsistenz abgewogen werden müssen.
✔Vorteile
- Schnelle Wiederherstellungspunkte ohne Vollkopien
- Effiziente Speicherung durch inkrementelle Differenzen
- Unterstützung für Klonen, Test-Workflows und Replikation
✖Limitationen
- Anwendungsabhängige Konsistenz muss aktiv hergestellt werden
- Langfristige Retention kann Speicherkosten erhöhen
- Snapshot-Dauer und IO-Overhead variieren je nach Workload
Trade-offs
Metriken
- Snapshot-Dauer
Zeit, die für die Erstellung eines konsistenten Snapshots benötigt wird; wirkt sich auf Wartungsfenster aus.
- Delta-Größe
Größe der inkrementellen Änderungen zwischen Snapshots; beeinflusst Speicherbedarf und Replikationsaufwand.
- Restore-Dauer
Zeit vom Start des Restore-Prozesses bis zur Wiederverfügbarkeit; relevante Kennzahl für RTO.
Beispiele & Implementierungen
ZFS-Snapshots in Storage-Farmen
OpenZFS wird häufig für effiziente Copy-on-Write-Snapshots und Replikation in Storage-Clustern eingesetzt.
AWS EBS Snapshots für Volume-Backups
EBS-Snapshots erlauben inkrementelle, cloud-native Sicherung und Wiederherstellung ganzer Volumes.
LVM Snapshots für Hot-Backups
LVM bietet Block-Level-Snapshots, die konsistente Hot-Backups von laufenden Systemen ermöglichen, aber IO-Overhead erzeugen können.
Implementierungsschritte
Analyse Anforderungen (RTO/RPO, Retention, Compliance) und Auswahl der Plattform
Definiere Snapshot-Policy, Konsistenzverfahren und Aufbewahrungsregeln
Implementiere Automatisierung, Monitoring und regelmäßige Restore-Tests
⚠️ Technische Schulden & Engpässe
Tech Debt
- Keine dokumentierten Restore-Runbooks und Testprotokolle
- Monolithische Snapshot-Skripte ohne Modularisierung
- Fehlende Automatisierung für Retention und Replikation
Bekannte Engpässe
Beispiele für Missbrauch
- Langfristige Archivierung ausschließlich mittels Snapshots auf primärem Storage
- Snapshots häufiger erstellen als die Infrastruktur verkraftet (IO-Engpässe)
- Keine Maskierung produktiver Daten vor Bereitstellung an Testumgebungen
Typische Fallen
- Fehlende Metadaten erschweren Wiederherstellung der richtigen Version
- Automatische Löschung von Snapshots ohne Abstimmung mit Compliance
- Annahme, dass Snapshots immer anwendungskonsistent sind
Erforderliche Fähigkeiten
Drivers (Architectural Drivers)
Constraints
- • Begrenzte Speicherbandbreite und IO-Kapazität
- • Anwendungsseitige Anforderungen für Konsistenz
- • Regulatorische Vorgaben zur Datenaufbewahrung