AA_sunset_sxc_1138524.jpg

© sxc.hu

Lichtblick am Horizont

ZFS mittels Fuse unter Linux nutzen

19.03.2009
Zwar verhindern lizenzrechtliche Gründe die Integration von Suns ZFS in den Linux-Kernel – über einen Trick kommen aber auch Linux-Anwender in den Genuss des viel gelobten Dateisystems.

Wer ein klassisches PC-System betreibt, nennt eine oder mehrere Festplatten sein eigen. Auf diesen befinden sich die Partitionen, die die jeweiligen Datenbereiche markieren. Innerhalb der Partitionen erstellen Sie dann das Dateisystem, in dem das Betriebssystem die Dateien ablegt. Mit ZFS ändert sich dieser bekannte Aufbau von Speichern.

Das Dateisystem ZFS aus dem Hause Sun fand im Juni 2006 offiziell Eingang in (Open-)Solaris [1] und ersetzte das bis dahin übliche UFS ("Unix File System"). Beim "Zettabyte File System" [2] handelt es sich um ein Meta-Dateisystem, das neben der Fähigkeit zum Abspeichern von Daten weitere Funktionen mitbringt, die den Umgang mit Massenspeichern vereinfachen.

ZFS gehört zu den 128-Bit-Dateisystemen und bietet viele positive Eigenschaften, wie eine erhöhte Ausfallsicherheit bei defekten Platten oder das Verwalten einer großen Anzahl von der Dateien. Da momentan keine 128-Bit-Datentypen existieren, nutzt ZFS die ersten 64 Bit und füllt den Rest der Struktur mit Nullen auf, die es im laufenden Betrieb ignoriert. Dadurch fällt es jedoch leicht, künftig auf volle 128 Bit umzustellen.

Über den integrierten Logical Volume Manager fasst ZFS bei Bedarf physische Datenträger (Laufwerke oder Partitionen) zu einem Pool zusammen. Darüber hinaus erlauben RAID-Funktionen [3], beim Vorhandensein von mehr als zwei Festplatten einen RAID-Pool anzulegen. Im Vergleich zu mit RAID-5 arbeitet das RAID-Z von ZFS jedoch bei Schreibzugriffen schneller und erweist sich bei unvorhergesehenen Ausfällen der Hardware als sicherer.

Zu den weiteren Fähigkeiten von ZFS zählt unter anderem das automatische Erstellen von so genannten Snapshots, die einen Dateisystemzustand wiederspiegeln. Dabei speichert ZFS nur die Unterschiede zum vorherigen Snapshot ab. Darauf aufbauend gestattet das Dateisystem Ihnen, "Clones" zu erzeugen. Im Gegensatz zu den Snapshots erlauben diese Replikate einen Lese- und Schreibzugriff. Das Hinzufügen von neuen Festplatten gestaltet sich ebenso leicht, wie das Austauschen von defekten Massenspeichern im laufenden Betrieb. Die Online-Kompression, bekannt von NTFS, erscheint dabei als eine nette Dreingabe.

ZFS und Linux

Sun hat ZFS unter der freien, aber nicht zu GPL kompatiblen CDDL freigegeben. Damit rückt eine Aufnahme in den Linux-Kernel vorerst in weite Ferne. Auch ein Ersatz scheint derzeit nicht in Sicht: ZFS hat momentan seiner Konkurrenz – von Oracles Btrfs [4], das ähnliche Eigenschaften besitzt, einmal abgesehen – vieles voraus.

Immerhin steht ZFS auch in Form eines Fuse-Moduls bereit – das erlaubt den Einsatz unter Linux. Die derzeitige Version 0.5 von ZFS-Fuse [5] läuft bereits stabil und machte im Test keine Probleme. Da es sich nicht um ein Kernel-Modul handelt, kommt es unter Umständen zu Geschwindigkeitseinbußen. Falls also Performance im Vordergrund steht, sollten Sie für den entsprechenden Rechner auf Solaris beziehungsweise eine BSD-Variante ausweichen. Aufgrund der weniger restriktiven BSD-Lizenz gehört ZFS dort schon jetzt zum Kernel.

ZFS installieren

Um ZFS unter Ubuntu einzurichten, nehmen Sie einfach folgenden Eintrag in der Repository-Datei /etc/apt/sources.list vor:

deb http://ppa.launchpad.net/brcha/ubuntu Release main multiverse restricted universe

Dabei setzen Sie an die Stelle von Release entsprechend gutsy, hardy, intrepid oder jaunty passend zu der von Ihnen verwendeten Distribution ein. Anschließend installieren Sie mit apt-get update && apt-get install zfs-fuse die Software.

Damit haben Sie die notwendigen Schritte zur Installation hinter sich gebracht. Für alle weiteren Operationen nutzen Sie die Befehle zfs und zpool auf der Kommandozeile.

Zpools anlegen und verwalten

Wie eingangs erwähnt, verwaltet ZFS einzelne Festplatten oder ganze Verbünde von Festplatten in so genannten Pools. Diese Einheiten erstellen Sie mit dem Werkzeug zpool. Dabei spielt es beim Erzeugen keinerlei Rolle, ob es sich um eine ganze Festplatte, mehrere Partitionen oder im einfachsten Fall um Dateien handelt. Im Beispiel kommen letztere zum Einsatz; es fällt aber nicht schwer, das Konzept auf Festplatten zu übertragen.

Für den Test erzeugen Sie, wie in Zeile 1 von Listing 1 gezeigt, acht virtuelle Festplatten für ZFS. Beachten Sie, dass ZFS mindestens 64 MByte pro Datei benötigt. Als nächstes gilt es, via zpool den Pool anzulegen (Listing 1, Zeile 2).

Ein Verkleinern im Nachhinein wie bei XFS erlaubt ZFS nicht. Der angelegte Pool hat jetzt eine Größe von 256 MByte. Durch Hinzufügen von neuen Platten vergrößern Sie diesen beliebig (Listing 1, Zeile 3). Auch einzelne Teile des Pools lassen sich mit einem Befehl ersetzen. So tauscht etwa das Kommando in Zeile 4 von Listing 1 die virtuelle Platte 1 gegen die Nummer 6 aus.

Listing 1
$ for i in $(seq 8); do dd if=/dev/zero of=/tmp/$i bs=1024 count=65536; done
$ zpool create testpool /tmp/1 /tmp/2 /tmp/3 /tmp/4
$ zpool add testpool /tmp/5
$ zpool replace testpool /tmp/1 /tmp/6

Im realen Betrieb bekommt der Benutzer von einem solchen Austausch nichts mit. Diese Variante nutzt jedoch nichts, falls einer der Datenträger ausfällt: Passiert das vor dem Austausch, gehen die Daten verloren. Das Hinzufügen, wie oben beschrieben, ließe sich am ehesten mit RAID-0 vergleichen und garantiert keine Ausfallsicherheit, sondern nur zusätzlichen Platz.

Einen guten Überblick erhalten Sie stets mit dem Befehl zfs list, der den Namen der Pools, den Speicherplatzverbrauch und den Einhängepunkt ausgibt. Das Kommando zpool iostat -v fördert Details wie Lese- und Schreiboperationen zu Tage.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare

Infos zur Publikation

title_2014_10

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 4 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...