Im Jahr 2004 trat ein neues und extrem leistungsfähiges Dateisystem mit integriertem Volume Management die Bühne der Betriebssysteme: das Zettabyte Filesystem oder kurz ZFS. Das von Sun entwickelte Dateisystem ist als Antwort auf den stetig steigenden Speicherbedarf moderner Anwendungen konzipiert. Auch die zunehmende Anforderung an Datensicherheit spielte bei der Entwicklung eine große Rolle.
Zum Glück für die Open-Source-Welt wurde der Quelltext von ZFS freigegeben. Dies ermöglichte FreeBSD-Entwicklern – allen voran Pawel Jakub Dawidek – ZFS in die FreeBSD-Welt zu portieren. Es war eine gewaltige, aber sehr erfolgreiche Kraftanstrengung, die FreeBSD für Anwendungen im Bereich der Web- und Maildienste attraktiv machen.
In Zeiten immer weiter fallender Festplattenpreise stellt sich die Frage, ob man die für eine Firma lebenswichtigen Daten diesen Massenspeichern noch anvertrauen darf. Der Grund liegt nicht nur in der mechanischen Stabilität. Es ist auch die immer weiter steigende Packungsdichte der einzelnen Sektoren, die nicht unbedingt für höhere Datensicherheit sorgt.
Angesichts dieser Umstände wurde bei ZFS ein mehr als dreißig Jahre altes Dateisystemkonzept umgekrempelt. So sehen Dateisysteme wie Ext4 oder UFS2 nur die Verwaltung von Dateien, Attributen und Berechtigungen vor, aber nicht das Management von Datenträgern.
Hier setzt ZFS an. Es verwaltet nicht nur die extrem großer Speichermengen, sondern bietet auch einen integrierten Volume-Manager, Transaktionsmechanismen und Snapshots. Teilweise macht es dabei Anleihen bei der RAID-Technologie, die ebenfalls den um sich greifenden Einsatz preisgünstiger Festplatten berücksichtigte.
Sicher ist auch UFS2 ein leistungsfähiges Dateisystem, aber wenn die Speicherkapazität eines Datenträgers ausgeschöpft ist, wird UFS2 sehr langsam. Das liegt an den relativ ineffizienten Algorithmen zur Datenverwaltung.
Auch UFS2 bietet Snapshots, aber sie weisen gegenüber ZFS entscheidende Nachteile auf: Sie belegen sehr viel Speicherplatz, machen das Dateisystem fühlbar langsamer und sind in der Administration sehr umständlich. Weiterhin machen die klassischen Dateisysteme nach einem Systemabsturz einen sehr langen und speicherintensiven Filesystem-Check notwendig.
Einige dieser Probleme beseitigt der unter FreeBSD verfügbare Journaling-Mechanismus Gjournal, allerdings erkauft man sich damit auch weitere Probleme, wie die technische Beschreibung von ZFS zeigen wird.
Natürlich hat ZFS gegenüber UFS2 auch Nachteile. Ein Minuspunkt von ZFS gegenüber anderen Dateisystemen ist, dass es sehr viel Arbeitsspeicher benötigt. Von daher scheiden für einen effektiven Einsatz 32-Bit-Systeme wie FreeBSD/386 aus, da der Adressraum mit maximal drei GByte nicht mehr dafür ausreicht, ZPools im TByte-Bereich zu verwalten. Mit der 64-Bit-Version von FreeBSD (amd64), die für Intel- und AMD-Systeme bereitsteht, macht der Betrieb von ZFS mit etwa vier GByte richtig Spaß und ZFS zeigt seine Leistungsfähigkeit. Zunächst ein kurzer Überblick über die Merkmale von ZFS:
Um die Gründe für die Leistungsfähigkeit von ZFS zu verstehen, muss man in die Tiefen dieser Software hinabsteigen. Abbildung 1 zeigt den prinzipiellen Aufbau.