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

  • Sun-Dateisystem ZFS unter Linux nutzen
    Das Dateisystem ZFS setzt Maßstäbe. Unter Linux ist aber Vorsicht geboten, denn das Zusammenspiel klappt noch nicht immer reibungslos, es drohen Datenverluste.
  • Desktop-RAID
    RAID verspricht rasante Plattenzugriffe und optimale Datensicherheit. Mit Linux ist das auch auf dem Desktop kein Problem.
  • Doppeltes Volumen
    Ganz ohne zusätzliche Hardware und Kosten sorgt Linux bei der Verwaltung der Datenträger durch RAID-Support für Ausfallsicherheit und mittels LVM für ein flexibles Partitionsmanagent.
  • Fünf SATA-RAID-Controller im Test
    Der Ausfall einer einzigen Festplatte und der damit verbundene Zeitverlust bringt Selbständige oder Studenten schnell in Bedrängnis. Für wenige Euro versprechen RAID-Systeme eine zusätzliche Absicherung. Der Test zeigt, wann der Aufwand lohnt.
  • Linux-Kernel 3.9 ist da

    Linus Torvalds hat Version 3.9 des offiziellen Linux-Kernels freigegeben.
Kommentare

Infos zur Publikation

LU 12/2014: ANONYM & SICHER

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

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

Nach Ubdates alles weg ...
Maria Hänel, 15.11.2014 17:23, 4 Antworten
Ich brauche dringen eure Hilfe . Ich habe am wochenende ein paar Ubdates durch mein Notebook von...
Brother Drucker MFC-7420
helmut berger, 11.11.2014 12:40, 1 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu 14.04-Nutzer...
Treiber für Drucker brother MFC-7420
helmut berger, 10.11.2014 16:05, 2 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu12.14-Nutzer u...
Can't find X includes.
Roland Welcker, 05.11.2014 14:39, 1 Antworten
Diese Meldung erhalte ich beim Versuch, kdar zu installieren. OpenSuse 12.3. Gruß an alle Linuxf...
DVDs über einen geeigneten DLNA-Server schauen
GoaSkin , 03.11.2014 17:19, 0 Antworten
Mein DVD-Player wird fast nie genutzt. Darum möchte ich ihn eigentlich gerne abbauen. Dennoch wür...