Snapshots (Zustands-Snapshots)
Snapshots sind gespeicherte Zustände eines Systems, eines Datensatzes oder einer virtuellen Umgebung zu einem bestimmten Zeitpunkt. Sie „frieren“ den aktuellen Zustand eines Objekts ein, sodass es später wiederhergestellt, zurückgesetzt oder als Basis für Klonen und Backup-Bereitstellung verwendet werden kann.
In der IT-Infrastruktur werden Snapshots häufig in der Virtualisierung, auf Cloud-Plattformen, in Datenspeichersystemen und Datenbanken eingesetzt. Ihr Hauptzweck besteht darin, einen schnellen Backup- und Wiederherstellungsmechanismus bereitzustellen, ohne eine vollständige Kopie aller Daten zu benötigen.
Wie Snapshots funktionieren
Ein Snapshot erfasst den Zustand eines Systems auf der Ebene eines Dateisystems, einer Festplatte oder einer virtuellen Maschine. Anstatt eine vollständige Kopie der Daten zu erstellen, speichert das System in der Regel nur die Änderungen, die nach der Erstellung des Snapshots vorgenommen wurden.
Der Prozess funktioniert wie folgt:
- Es wird ein Zustand des Systems zu einem bestimmten Zeitpunkt erstellt
- Daten werden als Snapshot-geschützt markiert (zu diesem Zeitpunkt unveränderlich)
- Alle neuen Änderungen werden separat gespeichert (Copy-on-Write oder Redirect-on-Write)
- Bei der Wiederherstellung wird das System auf den gespeicherten Zustand zurückgesetzt
Zum Beispiel kann ein Snapshot in einer virtuellen Maschine den Zustand eines Servers vor einem Update erfassen. Falls das Update Probleme verursacht, kann das System schnell auf den vorherigen Zustand zurückgesetzt werden.
Arten von Snapshots
Je nach Infrastrukturebene können Snapshots unterschiedlich ausfallen:
- Snapshots auf Blockebene (Festplatte)
- Snapshots auf Dateisystemebene
- Snapshots virtueller Maschinen
- Datenbank-Snapshots
Jeder Typ wird für unterschiedliche Zwecke eingesetzt, von der Backup-Erstellung bis zur Test- und Bereitstellungsvalidierung.
Wo Snapshots eingesetzt werden
Snapshots werden in vielen IT-Szenarien häufig eingesetzt:
- Virtualisierung (VMware, KVM, Hyper-V)
- Cloud-Plattformen (AWS, Azure, OpenStack)
- Speichersysteme (SAN, NAS)
- Datenbanken und Analysesysteme
- DevOps- und Testumgebungen
Zum Beispiel erstellen DevOps-Teams häufig Snapshots vor Bereitstellungen, um im Falle eines Fehlers ein schnelles Rollback zu ermöglichen.
Wichtige Merkmale
Snapshots weisen mehrere wichtige Eigenschaften auf:
- Schnelle Erstellung ohne vollständige Datenduplizierung
- Minimale Leistungsbeeinträchtigung während der Erstellung
- Unterstützung von Snapshot-Ketten (mehrere Wiederherstellungspunkte)
- Speichereffizienz durch Speicherung nur der Änderungen
- Abhängigkeit vom zugrunde liegenden Speichersystem
Die Pflege vieler Snapshots kann jedoch die Speicherlast erhöhen und die Leistung im Laufe der Zeit verringern.
Einschränkungen und Risiken
Trotz ihres Nutzens haben Snapshots Einschränkungen:
- Kein vollständiges Backup (sie sind vom zugrunde liegenden Speicher abhängig)
- Können im Laufe der Zeit erheblichen Speicherplatz beanspruchen
- Die Leistung kann bei vielen Änderungen oder Snapshots nachlassen
- Bieten keinen Schutz vor physischen Speicherausfällen
Daher werden Snapshots in der Regel zusammen mit vollständigen Backup-Systemen eingesetzt.
FAQ
Es handelt sich um „Momentaufnahmen“ eines Systems oder von Daten zu einem bestimmten Zeitpunkt.
Ein Snapshot ist vom ursprünglichen Speicher abhängig, während ein Backup eine unabhängige Kopie der Daten ist.
In virtuellen Maschinen, Cloud-Plattformen, Datenbanken und Speichersystemen.
Nein, sie eignen sich für eine schnelle Wiederherstellung, ersetzen jedoch keine vollständigen Backups.
Um Systeme nach fehlgeschlagenen Updates oder Tests schnell zurückzusetzen.