Setzen Unternehmen Suns Dateisystem ZFS ein, kommen sie nun in den Genuss von Datendeduplizierung. Die Funktion lässt sich über ein einfaches Kommando aktivieren. Außerdem kann der Administrator diese auf bestimmte Dateibereiche beschränken.
Auf der Storage Network World 2009 war eines der beherrschenden Themen Datendeduplizierung. Die Virtualisierung macht dies noch wichtiger: Die Images virtueller Maschinen unterscheiden sich oft nur sehr wenig, nehmen aber viel Speicherplatz weg. Nun kommen Administratoren in den Genuss der Datenreduktionsfunktion, wenn sie Suns Dateisystem ZFS einsetzen. Dazu muss der Administrator dann einfach für den gewünschten Speicherbereich die Funktion einschalten. Sind die gespeicherten Daten überhaupt nicht redundant, dann bringt eine Deduplizierung überhaupt nichts, kostet aber CPU-Zeit. Hierfür kann der IT-Verwalter für bestimmte Abschnitte des Storage-Bereichs die Funktion ein-, für andere aber ausschalten.
Die Deduplizierungsfunktion bei ZFS arbeitet synchron. Sobald Daten abgelegt werden, schaut ZFS nach, ob Teile davon bereits auf dem Speicher vorhanden sind. Bei asynchron würde dies erst zu einem späteren Zeitpunkt erfolgen.
ZFS arbeitet bei der Deduplizierung auf Block-Ebene. Um redundante Blöcke zu erkennen, kommt ein Hash-Algorithmus zum Einsatz. Dieser muss aber ein starker Algorithmus sein, damit es nicht zu Kollisionen kommt. Dabei haben unterschiedliche Blöcke den gleichen Hash-Wert.
Traut ein Administrator dem Hash-Verfahren nicht, kann er ZFS anweisen, anstatt einen Hash-Wert zu bilden, die Daten auch direkt zu überprüfen (»Verify«-Option). Dieses kostet allerdings entsprechende Performance.
Schließlich gibt es die Möglichkeit, den Hash-Algorithmus »Fletcher4« zu verwenden. Dieser ist deutlich schneller als andere Algorithmen. Allerdings treten dabei auch Kollisionen auf. Daher muss hier die Verify-Option verwendet werden.