Über eine längere Phase hinweg wurde "Dedup" als Technologie für Speichersysteme massiv gehyped. Allerdings war das zu einer Zeit, als Platten noch teuer waren und die Nutzer jedes Byte sehr genau betrachteten, bevor sie es ins Dateisystem schrieben. In der Zwischenzeit verkaufen Plattenhersteller 4-TByte-Platten ab 100 Euro und das Thema Deduplikation trat wieder aus dem Rampenlicht. Allerdings gibt es Einsatzgebiete, in denen Dedup durchaus Sinn ergibt, zum Beispiel beim Backup oder beim Storage-Backend eines Virtualisierungsclusters.
Deduplikation basiert auf dem Prinzip, dass Anwendungen identische Datensätze mehrfach auf einem Datenträger ablegen. Damit arbeitet Dedup anders als Kompression. Beide Technologien lassen sich allerdings koppeln. Eine stark vereinfachte Form der Deduplikation verwenden Anwender beispielsweise, wenn sie Snapshots auf Copy-on-Write-Dateisystemen (COW) wie BTRFS oder XFS anlegen. Ein Filesystem-Snapshot erzeugt hier eine identische zweite Kopie, ohne dafür extra Speicher zu belegen.
Dedup könnte theoretisch direkt auf der Dateisystem-Ebene erfolgen. Erkennt der Algorithmus zwei identische Dateien, sichert er nur eine davon und die zweite legt lediglich einen Verweis (Pointer) auf die andere ab. Es gibt eine Reihe simpler Tools, die auf COW-Dateisystemen mit dieser Methode Files deduplizieren. Jedoch genügt hier ein einziges geändertes Bit in einer Datei, um die Deduplikation auszuhebeln.
In der Praxis setzt Deduplikation daher besser "unter" dem Dateisystem an, also auf Blockebene. Für jeden Block, den das darüberliegende Dateisystem schreibt, generiert der Dedup-Treiber einen eindeutigen Hash. Auf der Platte landen dann physisch der eigentliche Blockspeicher und eine Hash-Tabelle, die die belegten Daten den Hashes und Blöcken zuweist. Will das System einen bereits bekannten Block auf die
...Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.