Mobile-Menu

„Kopieren beim Schreiben“ Was ist Copy-on-Write (CoW)?

Von Dipl.-Ing. (FH) Stefan Luber 2 min Lesedauer

Anbieter zum Thema

Copy-on-Write (CoW) ist ein Verfahren, das von einigen Dateisystemen wie ZFS oder Btrfs verwendet wird. Es verhindert, dass bei Änderungen an Datenblöcken, die vorhandenen Daten überschrieben werden. Das Verfahren kopiert zuerst die vorhandenen Daten und schreibt die neuen Daten anschließend. So bleibt das Dateisystem bei Systemabstürzen konsistent. CoW ermöglicht zudem ein komfortables Erstellen von Snapshots. Ein weiteres Verfahren für Snapshots ist Redirect-on-Write (RoW).

Die wichtigsten IT-Fachbegriffe verständlich erklärt.(Bild:  © aga7ta - Fotolia)
Die wichtigsten IT-Fachbegriffe verständlich erklärt.
(Bild: © aga7ta - Fotolia)

Bei Copy-on-Write (Kopieren beim Schreiben), manchmal mit CoW abgekürzt, handelt es sich um ein Verfahren, das von einigen Dateisystemen beim Schreiben von Daten verwendet wird. Beispiele von Dateisystemen mit CoW sind ZFS, APFS (Apple File System) oder Btrfs (B-Tree FS). CoW verhindert, dass zu verändernde Datenblöcke überschrieben werden. Das Verfahren sorgt dafür, dass zunächst eine Kopie der vorhandenen Daten erstellt wird und erst anschließend die veränderten Datenblöcke geschrieben und die Verweise in den Metadaten aktualisiert werden.

Mit Copy-on-Write lassen sich transaktionale Dateisysteme realisieren, deren Datenkonsistenz auch nach Systemabstürzen oder Stromausfällen sichergestellt ist. CoW erleichtert das Erstellen von Schnappschüssen, indem es ältere Versionen der Daten erhält. Für das Erstellen von Snapshots gibt es ein weiteres Verfahren mit der Bezeichnung Redirect-on-Write (RoW).

Unterschied zum Schreibverhalten herkömmlicher Dateisysteme

CoW unterscheidet sich vom Schreibverhalten vieler herkömmlicher Dateisysteme. Auf Dateisystemen ohne CoW werden Originalblöcke bei Schreiboperationen überschrieben. Kommt es während einer Schreiboperation zu einem Systemabsturz oder einem Stromausfall, kann das Dateisystem beschädigt werden, und die Datenkonsistenz ist nicht mehr gewährleistet. Nach dem Neustart des Dateisystems muss es durch einen File-System-Check geprüft und repariert werden. Unter Umständen sind Daten durch das unvollständige Überschreiben für immer verloren. Bei Dateisystemen mit Copy-on-Write ist die Konsistenz immer gegeben, da Originaldatenblöcke niemals überschrieben werden und Kopien der vorherigen Daten erhalten bleiben. Erst wenn ein Schreibvorgang vollständig abgeschlossen ist, werden die Verweise in den Metadaten aktualisiert.

Abgrenzung der Verfahren CoW und RoW für das Erstellen von Snapshots

Zum Erstellen von Snapshots (Momentaufnahme eines Dateisystems) kommt neben Copy-on-Write häufig das Verfahren Redirect-on-Write (RoW – Umleitung beim Schreiben) zum Einsatz. Während CoW bei einem Schreibrequest zunächst eine Kopie der Originaldaten in einem neuen Datenbereich anlegt und anschließend erst die veränderten Daten im ursprünglichen Datenbereich schreibt, verändert RoW den Datenbereich der Originaldaten niemals. Bei einem Schreibrequest legt es die Datenänderungen in einem neuen Datenbereich an. Die Originaldaten werden am Ursprungsort weder kopiert noch verändert. Nach der Schreiboperation wird der Zeiger auf den neuen Datenbereich umgelegt. Vorteil von RoW ist unter anderem eine höhere Schreibperformance.

(ID:49236312)

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Data-Storage und -Management

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung