Suchen

COW | Copy on Write | Copy-on-write | Kopieren beim Schreiben

Redakteur: Rainer Graefen

Copy-on-write ist das eine von den zwei klassischen Vorgehensweisen beim Storage-Snapshot, mit denen sichergestellt wird, dass Änderungen an Datenblöcken nicht verloren gehen. Da beim

Copy-on-write ist das eine von den zwei klassischen Vorgehensweisen beim Storage-Snapshot, mit denen sichergestellt wird, dass Änderungen an Datenblöcken nicht verloren gehen. Da beim ersten Schnappschuss keine Daten bewegt werden, sondern nur die Metadaten über belegte Datenblöcke aufgenommen werden, benötigen Snapshots auch großer Volumes nur ein, zwei Sekunden.

Das Problem: Bei dem ersten Snapshot wird eine Liste aller genutzten Festplattenblöcke in einem dafür reservierten Speicherbereich angelegt. Um dieses erste Abbild und alle folgenden zu erhalten, müssen jetzt alle Änderungen an Datenblöcken dokumentiert werden. Damit stellt sich die Frage, schreibt man den Datenblock, der überschrieben werden soll, an eine andere Stelle, oder verhindert man das Überschreiben und kopiert die neuen Daten an eine andere Stelle?

Die Lösung: Copy-on-write kopiert beim Schreiben auf einen Datenblock zuerst die Originaldaten in den Snapshot-Speicherbereich. Erst danach kann der Datenblock überschrieben werden.

Dieses Vorgehen wirkt sich auf die Perfomance und Kapazitätsbedarf folgendermaßen aus:

  • Schreib-Anforderungen werden (relativ betrachtet) verzögert, da zuerst das Original umkopiert werden muss.
  • Lese-Anforderungen dagegen greifen immer auf die Daten des Original-Volumes zu, sofern diese nicht geändert wurden.
  • Der Speicherplatz wird effizient genutzt, da nur die geänderten Daten gespeichert werden.

Software, die den COW-Algorithmus nutzt: IBM Flash Copy, IBM General Parallel File System (GPFS), Linux Logical Volume Manager (LVM).

(ID:2022130)