ZFS ist ein großartiges Dateisystem, das bereits im Jahr 2000 von Jeff Bonwick und Bill Moore entwickelt wurde. ZFS hat zahlreiche Erweiterungen, die es besonders für den Einsatz in Rechenzentrumsumgebungen geeignet machen. Zum Beispiel ist die maximal mögliche Kapazität bei 128 Bit schier unbegrenzt und man kann selbst komplexe Konfigurationen recht einfach verwalten.
„Ein 128-Bit-Dateisystem zu füllen, würde die quantenmechanische Grenze irdischer Datenspeicherung übersteigen. Man könnte einen 128-Bit-Speicher-Pool nicht füllen, ohne die Ozeane zu verdampfen.“
– Jeff Bonwick, Chefentwickler von ZFS
ZFS hat auch einige integrierte RAID-Funktionen und bietet ein Volume-Management. Was ZFS aber wirklich auszeichnet, ist der prüfsummenbasierte Schutz vor Datenübertragungsfehlern – das bedeutet, dass deine Daten besser geschützt sind. Das Copy-On-Write-Dateisystem ist vor allem dafür bekannt, schleichende Datenkorruption, also den sogenannten Bit Rot zu verhindern.
Und wo wir schon beim Punkt Datensicherheit angekommen wären. ZFS verfügt über eine Snapshot-Funktionalität. Du kannst also im laufenden Betrieb konsistente Snapshots erstellen! Diese Snapshots kannst du dann sogar mit dem integrierten Send-Befehl woanders archivieren. Ein weiteres cooles Feature sind noch die ZFS-Clones. Dabei handelt es sich um beschreibbare Snapshots.
Das ist aber längst nicht alles, was ZFS so interessant macht:
Auch bei ZFS wird nur mit Wasser gekocht. Allerdings spricht man hier nicht von Raid 5, 6 oder 7. Das Wording ist ein wenig anders. ZFS verwendet ein eigenes Konzept namens RAID-Z. Dabei handelt es sich um ein Software-RAID-Level, das auf dem Konzept der Parität basiert. Es verwendet damit eine ähnliche Technologie wie beispielsweise das häufig eingesetzte RAID 5.
RAID-Z ermöglicht es, Daten mit Paritätsinformationen auf mehrere Festplatten zu verteilen, um Redundanz und Datensicherheit zu gewährleisten. Es gibt verschiedene RAID-Z-Level in ZFS, die sich hinsichtlich der Anzahl der Festplatten und der Art und Weise, wie die Parität berechnet wird, unterscheiden. Hier sind die gängigsten RAID-Z-Level in ZFS:
Es ist auch möglich, mehrere RAID-Z-Gruppen zu einem einzelnen Pool zusammenzufassen, um noch höhere Redundanz und Ausfallsicherheit zu erreichen. In ZFS bezieht sich der Begriff Pool auf eine Gruppe von Festplatten, die als Einheit verwaltet werden und auf denen ZFS-Dateisysteme erstellt werden können.
Pools bzw. RAIDs müssen aber nicht immer aus drei oder mehr Festplatten bestehen. Auch in ZFS ist es nämlich möglich, ein RAID 0 oder ein RAID 1 zu verwenden. Man spricht dann allerdings nicht von RAID-Z, sondern von Striping und Mirroring. Was genau damit gemeint ist, erkläre ich dir im Folgenden:
Ein Dateisystem wie ZFS kann prinzipiell überall eingesetzt werden. Selbst auf dem eigenen PC wäre die Installation bei ausreichend RAM und CPU-Leistung kein allzu großes Problem. In der Praxis findet man ZFS aber fast nur im Rechenzentrumsbetrieb. Allerdings nutzen auch viele kleinere Firmen und Homelabber das frische Dateisystem in ihren NAS- oder Virtualisierungssystemen.
Ich spiele damit gezielt auf TrueNas oder Proxmox an. Während ersteres komplett auf die Verwendung von ZFS ausgerichtet ist, kann man bei Proxmox nachträglich Speicherpools mit ZFS einrichten oder gleich das ganze Betriebssystem auf einem ZFS-Mirror installieren. Ebenfalls sinnvoll ist der Einsatz von ZFS anstelle eines Hardware-Raids bei der Speicherlösung GlusterFS.
Die möglichen Anwendungsgebiete für ZFS sind also sehr vielseitig. Trotzdem bieten viele Linux-ISOs das Erstellen von Software-Raids nur mit dem altbackenen Tool mdadm an. Damit beschränkt sich die Auswahl in puncto Dateisystem in der Regel auf ext4 oder in manchen Fällen noch auf XFS. Das ist auch gar nicht weiter schlimm, aber etwas frischer Wind würde hier nicht schaden.
Auf ZFS basierende OpenStorage-Produkte erlauben die Verwendung von normaler Hardware und man muss so kein teures Produkt eines bestimmten Storage-Herstellers erwerben. Außerdem muss man für die Enterprise-Features in ZFS keinen Aufpreis bezahlen, da diese im Standardumfang enthalten sind.