Login


 
Newsletter
Werbung

Di, 8. August 2006, 08:47

Software::Systemverwaltung

ZFS für Linux via FUSE

Ein Projekt aus dem »Summer of Code« von Google ist dabei, das neue Dateisystem ZFS von Sun via FUSE für Linux nutzbar zu machen.

Als Sun das neue Dateisystem ZFS für Solaris ankündigte, ließ das die Experten aufhorchen. Das »Zettabyte File System« bricht mit einigen Paradigmen der Unix-Welt radikal und bringt die modernsten Konzepte von Dateisystemen und Volume-Managern zusammen. Es erhöht die Datensicherheit, indem es auch die Metadaten mit Prüfsummen sichert, und trägt generell der wachsenden absoluten Fehlerzahl auf den immer größer werdenden Speichermedien Rechnung. Das System verhindert auch Datenverfälschungen, indem es sicherstellt, dass die Daten zu jedem Zeitpunkt in sich konsistent sind. Alle Vorgänge laufen als Transaktionen ab. Zum einen bleibt dadurch die Konsistenz gewahrt und zum anderen entfallen damit so gut wie alle Einschränkungen bei der Abfolge der E/A-Operationen. So lässt sich am Ende immer feststellen, ob die vorgenommenen Änderungen als Ganzes erfolgreich verlaufen sind.

Darüber hinaus gilt für alle Operationen das Prinzip »Copy-on-Write«. Vorhandene Daten werden nie direkt überschrieben. Stattdessen schreibt ZFS die Daten zunächst in einen neuen Block; anschließend werden die Datenzeiger geändert und der Schreibvorgang abgeschlossen. Ferner berechnet das Dateisystem 64-Bit-Prüfsummen für sämtliche Daten, so dass ein unbemerkter Verlust der Datenintegrität verhindert wird. Bei jedem Lesevorgang erfolgt ein Abgleich mit den Prüfsummen. Entsprechend der neuen Solaris-Strategie zur Entwicklung selbstheilender Systeme verfügt ZFS über Funktionen für die automatische Datenwiederherstellung in gespiegelten und RAID-Konfigurationen. Wird eine Kopie beschädigt, erkennt ZFS dies anhand der Prüfsumme und verwendet eine andere Kopie zur Reparatur der Daten. Hierzu greift ZFS auf einen zuvor abgelegten und gespiegelten Pool der Daten zu.

ZFS hat zudem mit den »Storage Pools« ein Konzept integriert, das einem Logical Volume Manager entspricht, aber oberhalb des eigentlichen Dateisystems angesiedelt ist, nicht wie in Linux und anderen Systemen darunter.

Bedauerlicherweise ist eine direkte Integration des Dateisystems in den Linux-Kernel nicht möglich, da die von Sun gewählte Lizenz CDDL nicht mit der GPL in Einklang zu bringen ist. Das »ZFS Filesystem für FUSE/Linux«, ein Projekt, das von Google im Rahmen des »Summer of Code« gefördert wird, könnte jedoch einen alternativen Weg aufzeigen. Es verwendet das »Filesystem in Userspace« (FUSE), das im Linux-Kernel seit Version 2.6.16 integriert ist und für ältere Kernel als Zusatzmodul erhältlich ist. Es ermöglicht, das Dateisystem als normale Anwendung laufen zu lassen. Dies ist lizenzrechtlich unbedenklich.

Das Projekt soll bis 21. August beendet sein und scheint gute Fortschritte zu machen. Laut dem Entwickler, dem portugiesischen Studenten Ricardo Correia, ist es nun in Phase 3 angelangt, der Portierung der Tools. Doch es ist unklar, ob die Webseite noch aktuell ist, da auch das Blog seit drei Wochen nicht aktualisiert wurde.

Sollte das Projekt planmäßig fertiggestellt werden, so böte es zumindest für Dual-Boot-Systeme mit Solaris und Linux eine interessante Option. Die Performance dürfte allerdings prinzipbedingt spürbar schlechter sein als die einer Implementation im Kernel. Der aktuelle Quellcode ist über das Versionsverwaltungssystem erhältlich.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung