Schnappschuss (Computerspeicher) - Snapshot (computer storage)

In Computersystemen ist ein Snapshot der Status eines Systems zu einem bestimmten Zeitpunkt. Der Begriff wurde als Analogie zu dem in der Fotografie geprägt . Es kann sich auf eine tatsächliche Kopie des Status eines Systems oder auf eine von bestimmten Systemen bereitgestellte Funktion beziehen.

Begründung

Eine vollständige Sicherung eines großen Datensatzes kann lange dauern. Auf Multitasking- oder Mehrbenutzersystemen kann es zu Schreibvorgängen in diese Daten kommen, während sie gesichert werden. Dies verhindert, dass die Sicherung atomar ist, und führt einen Versionsfehler ein , der zu einer Beschädigung der Daten führen kann . Wenn ein Benutzer beispielsweise eine Datei in ein bereits gesichertes Verzeichnis verschiebt, fehlt diese Datei vollständig auf dem Sicherungsmedium , da der Sicherungsvorgang bereits vor dem Hinzufügen der Datei stattgefunden hat. Versionsversatz kann auch zu Beschädigungen bei Dateien führen, deren Größe oder Inhalt beim Lesen unter den Füßen geändert wird.

Ein Ansatz zum sicheren Sichern von Live-Daten besteht darin, den Schreibzugriff auf Daten während der Sicherung vorübergehend zu deaktivieren, indem entweder die zugreifenden Anwendungen gestoppt werden oder die vom Betriebssystem bereitgestellte Sperr- API verwendet wird, um den exklusiven Lesezugriff zu erzwingen. Dies ist für Systeme mit geringer Verfügbarkeit tolerierbar (auf Desktop-Computern und kleinen Arbeitsgruppenservern, auf denen regelmäßige Ausfallzeiten akzeptabel sind). Hochverfügbare 24/7- Systeme können jedoch keine Betriebsunterbrechungen ertragen.

Um Ausfallzeiten zu vermeiden, können Hochverfügbarkeitssysteme die Sicherung stattdessen für einen Snapshot durchführen - eine schreibgeschützte Kopie des zu einem bestimmten Zeitpunkt eingefrorenen Datensatzes - und es Anwendungen ermöglichen, weiter in ihre Daten zu schreiben. Die meisten Snapshot-Implementierungen sind effizient und können Snapshots in O (1) erstellen . Mit anderen Worten, die zum Erstellen des Snapshots erforderliche Zeit und E / A nimmt nicht mit der Größe des Datensatzes zu. Im Gegensatz dazu ist die für eine direkte Sicherung erforderliche Zeit und E / A proportional zur Größe des Datensatzes. In einigen Systemen kopieren nachfolgende Snapshots nach der Erstellung des ersten Snapshots eines Datensatzes nur die geänderten Daten und verwenden ein Zeigersystem, um auf den anfänglichen Snapshot zu verweisen. Diese Methode zeigerbasierter Snapshots verbraucht weniger Festplattenkapazität als wenn der Datensatz wiederholt geklont wurde.

Implementierungen

Volumenmanager

Einige Unix- Systeme verfügen über Snapshot-fähige logische Volume-Manager . Diese implementieren Copy-on-Write auf ganzen Blockgeräten, indem geänderte Blöcke - kurz bevor sie in "übergeordneten" Volumes überschrieben werden sollen - in einen anderen Speicher kopiert werden, wodurch ein selbstkonsistentes Bild des Blockgeräts in der Vergangenheit erhalten bleibt. Dateisysteme auf solchen Snapshot-Images können später wie auf einem schreibgeschützten Medium bereitgestellt werden.

Einige Volume-Manager ermöglichen auch die Erstellung beschreibbarer Snapshots, wodurch der Copy-on-Write-Ansatz erweitert wird, indem alle im Snapshot geänderten Blöcke von ihren "übergeordneten" Blöcken im ursprünglichen Volume getrennt werden. Ein solches Schema könnte auch als Ausführen zusätzlicher Copy-on-Write-Operationen beschrieben werden, die durch das Schreiben in Snapshots ausgelöst werden.

Unter Linux ermöglicht Logical Volume Manager (LVM) die Erstellung von schreibgeschützten und schreibgeschützten Snapshots. Mit der LVM-Version 2 (LVM2) wurden beschreibbare Schnappschüsse eingeführt.

Dateisysteme

Einige Dateisysteme, wie WAFL , fossil für Plan 9 von Bell Labs und ODS-5 , verfolgen intern alte Versionen von Dateien und stellen Snapshots über einen speziellen Namespace zur Verfügung . Andere, wie UFS2 , bieten eine Betriebssystem- API für den Zugriff auf Dateiversionen. In NTFS wird der Zugriff auf Snapshots vom Volume Shadow-Copying Service (VSS) unter Windows XP und Windows Server 2003 sowie von Shadow Copy unter Windows Vista bereitgestellt . Melio FS bietet Snapshots über dieselbe VSS-Schnittstelle für den gemeinsam genutzten Speicher. Snapshots sind seit Version 4.11 auch im NSS- Dateisystem ( Novell Storage Services ) unter NetWare und in jüngerer Zeit auf Linux- Plattformen im Open Enterprise Server- Produkt verfügbar .

Die Isilon OneFS-Cluster-Speicherplattform von EMC implementiert ein einzelnes skalierbares Dateisystem, das schreibgeschützte Snapshots auf Datei- oder Verzeichnisebene unterstützt. Jede Datei oder jedes Verzeichnis innerhalb des Dateisystems kann als Snapshot erstellt werden, und das System implementiert dynamisch einen Snapshot zum Schreiben beim Schreiben oder zu einem bestimmten Zeitpunkt, basierend darauf, welche Methode für das System als optimal bestimmt wird.

Unter Linux unterstützen die Dateisysteme Btrfs und OCFS2 das Erstellen von Snapshots (Klonen) einzelner Dateien. Darüber hinaus unterstützt Btrfs auch die Erstellung von Snapshots von Subvolumes. Unter AIX unterstützt JFS2 auch Snapshots.

Sun Microsystems ZFS verfügt über eine Hybridimplementierung, die Lese- / Schreib-Snapshots auf Blockebene verfolgt, verzweigte Dateigruppen für Benutzeranwendungen jedoch als "Klone" benennbar macht.

Time Machine , enthielt in Apple - s Mac OS X v10.5 - Betriebssystem , ist keine Snapshot - Regelung , sondern eine Systemebene inkrementeller Backup - Service: es nur Uhren Volumen für Änderungen und Kopien geänderte Dateien in regelmäßigen Abständen auf ein speziell bezeichnete Volumen montiert mit harte Links . Dies liegt daran, dass das HFS Plus-Dateisystem keine Snapshot-Funktion hat . Das neue APFS-Dateisystem von Apple führt eine solche Funktion ein .

Betriebssysteme

Das Phantom-Betriebssystem basiert auf einem Snapshot-Konzept, das den Status aller Anwendungen nach Design speichert.

Siehe auch

Anmerkungen

Verweise

Externe Links