Dateisystem der Zukunft?

Neun Argumente für ZFS

02.11.2012
Von Heiko Wüst

RAID-Z in der Software statt RAID-Controller

Herkömmliche Storage-Systeme benötigen RAID-Controller und Volume Manager. Damit verbunden sind Fehlerquellen wie Bugs in der RAID Controller Firmware oder im Volume Manager ebenso wie defekte Controller-Hardware. Bei ZFS ist eine Raid-Funktionalität dagegen in der Software bereits verankert. RAID-Z (oder RAID-Z1) funktioniert ähnlich wie RAID-5 und bietet einfache Parität, verhindert aber dank Copy-On-Write Synchronisationsprobleme. RAID-Z2 bietet die gleiche Redundanz wie RAID-6 (zweifache Parität). RAID-Z3 sogar dreifache Parität. Wie oben beschrieben erkennt ZFS Datenkorruption anhand eines End-to-End-Prüfsummenbaums und überschreibt keine Daten. Erkannte Fehler "heilt" ZFS automatisch, indem es den fehlerhaften Block durch eine konsistente Kopie ersetzt. Ein weiterer Vorteil: Raid-Z kann zwischen belegten und freien Blöcken unterscheiden. Bei der Wiederherstellung muss das System also nur den belegten Speicherplatz rekonstruieren, was Zeit spart.

Hier zeigt sich auch, dass ZFS über das bisherige Verständnis eines Dateisystems hinausgeht. Denn herkömmliche Storage-Architekturen zur Verwaltung des Speichers bestehen aus drei voneinander unabhängigen Komponenten: Storage-Management, Volume-Management und Dateisystem. Jede dieser drei Ebenen birgt die Gefahr, dass Daten korrumpiert werden können. Da die Ebenen unabhängig arbeiten, kann die jeweils andere Ebene diese Datenkorruption nicht erkennen. So kann das Dateisystem, welches auf einen defekten Datenblock auf der Festplatte zugreift, diesen Defekt nicht erkennen, sondern dieser wird erst von der Applikation registriert, die den Datenblock nicht einlesen kann. ZFS dagegen integriert den Volume Manager und RAID-Controller in das Dateisystem und bringt so drei unabhängige Ebenen unter einen Hut, um Datenintegrität zu garantieren.