Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
ZFS<br />
Know-how<br />
ZFS unterliegt der „Common Development<br />
and Distribution License“, die es<br />
nicht erlaubt, binäre Pakete frei zu verteilen.<br />
Das gilt jedoch nicht für die Weitergabe<br />
von Quelltexten, sodass die Distributionen<br />
hier einen Umweg gehen:<br />
Sie laden die Quelltexte und kompilieren<br />
diese, sodass die benötigten Tools und<br />
Module für den Kernel entstehen. <strong>Die</strong><br />
landen in einem Paket, welches der Paketmanager<br />
letztlich installiert.<br />
Normalerweise funktioniert das ganz<br />
gut, aber wie so oft steckt der Teufel im<br />
Detail. Bevor Sie sich anhand auftauchender<br />
Fehlermeldungen auf die Suche<br />
machen, sollten Sie vor allem Folgendes<br />
prüfen: Sind die Header-Files des aktuellen<br />
Kernels installiert und auch aktuell?<br />
Stehen die essenziellen Tools zum Kompilieren<br />
bereit?<br />
Unter Linux gibt es derzeit zwei Ansätze,<br />
um ZFS zu nutzen. Seit 2011 existiert<br />
das Projekt „ZFS on FUSE“ û, welches<br />
das Dateisystem über einen Umweg bereitstellt.<br />
<strong>Die</strong>ser Ansatz im Userspace hat<br />
mehrere Nachteile, insbesondere arbeinicht<br />
aufgrund der quantenmechanischen<br />
Unschärfe verloren gehen. Bei einem<br />
Speicherpool mit 128-Bit-Adressierung<br />
übersteigt diese Energiemenge<br />
jene, die zum Verdampfen aller irdischen<br />
Ozeane nötig wäre.<br />
So unterstützen denn auch alle existierenden<br />
ZFS-Implementationen nur<br />
64-Bit-Zeiger, nicht zuletzt aufgrund der<br />
entsprechender Restriktionen der Programmiersprache<br />
C hinsichtlich von Datentypen.<br />
Doch auch ungeachtet dieser<br />
„Beschränkung“ kann ZFS noch mit beeindruckenden<br />
Rahmenwerten glänzen,<br />
wie einer maximalen Dateigröße von<br />
16 Exbibyte (rund 17 Millionen TByte)<br />
oder bis 281 Billionen möglichen Dateien<br />
pro Dateisystem.<br />
Daneben weist ZFS eine Reihe innovativer<br />
Eigenschaften auf. Als Copy-on-<br />
Write-Dateisystem überschreibt es geänderte<br />
Blöcke nicht, sondern speichert<br />
diese stattdessen an einen freien Platz<br />
im Dateisystem und aktualisiert danach<br />
die entsprechenden Verweise in den<br />
Metadaten. Was zunächst wie eine Verschwendung<br />
von Speicher wirken mag,<br />
bietet einige interessante Vorteile, wie<br />
etwa die Möglichkeit, ganz einfach<br />
Snapshots anzulegen: Dazu genügt es,<br />
in den Metadaten der geänderten Dateien<br />
die Verweise auf die modifizierten<br />
Datenblöcke zu erhalten.<br />
ZFS integriert softwarebasierte RAID-<br />
Funktionen, speziell die viel verwendeten<br />
Level 1, 5 und 6. Das erhöht durch<br />
Speichern der Daten über mehrere Festplatten<br />
hinweg die Ausfallsicherheit,<br />
ohne spezielle Hardware zu erfordern.<br />
Eine ausgefeilte Technik namens RAID-Z<br />
macht es dabei möglich, die Größe der<br />
Dateisysteme im Betrieb zu erhöhen. Zusätzlich<br />
enthält ZFS ein an den LVM (Logical<br />
Volume Manager) angelehntes Volume-Management.<br />
Damit fassen Sie<br />
mehrere Partitionen und Festplatten zu<br />
einer logischen Einheit zusammen und<br />
erzeugen so sehr große Kapazitäten.<br />
Über Prüfsummen bietet ZFS Schutz<br />
vor Fehlern beim Übertragen der Daten.<br />
Beim Speichern eines Blocks erzeugt das<br />
Dateisystem eine Checksumme, die es<br />
separat speichert und beim Lesen mit<br />
den Daten vergleicht. Das stellt sicher,<br />
dass stets konsistente Daten vorliegen –<br />
selbst wenn diese eventuell nicht aktuell<br />
sind. Das gilt insbesondere für Stromausfälle<br />
oder ähnliche plötzliche Ereignisse.<br />
Zu den weiteren Funktionen gehören<br />
Deduplizierung, absichtlich duplizierte<br />
sogenannte Ditto-Blöcke, komprimierte<br />
Daten sowie sehr einfach zu bedienende<br />
Werkzeuge zum Administrieren<br />
des Dateisystems.<br />
Dem gegenüber stehen einige Nachteile:<br />
So benötigt das Dateisystem eine<br />
Menge RAM (echten Hardware-Speicher,<br />
keinen virtuellen). Sun empfiehlt<br />
1 GByte pro ZFS-Dateisystem. Auf dem<br />
Smartphone oder Raspberry Pi kommt<br />
ZFS daher wohl eher nicht zum Einsatz.<br />
Allerdings gibt es seit einiger Zeit ein<br />
Projekt, das genau diese Zielsetzung<br />
hat û. Neben dem Speicherhunger fällt<br />
das Dateisystem auch durch hohen Leistungsbedarf<br />
unangenehm auf: ZFS-<br />
Funktionen beanspruchen mehr Rechenzeit<br />
als solche eines Ext2- oder ähnlichen<br />
Dateisystems.<br />
ZFS unter Linux<br />
Deduplizierung: Verfahren zum Verringern<br />
der gespeicherten Datenmenge. Dabei<br />
identifiziert das Dateisystem sich wiederholende<br />
Blöcke und speichert diese nur einmal<br />
ab. Anschließend verweist es für die<br />
restlichen Stellen auf diesen Block. Je nach<br />
Verfahren setzt die Technik auf einer unterschiedlichen<br />
Ebene an.<br />
Initrd: Initial RAM-Disk. Komprimiertes<br />
Abbild, das alle zum Booten benötigten<br />
Module enthält.<br />
tet er nicht besonders flott. Parallel entstanden<br />
seit Ende 2011 mit „ZFS on<br />
Linux“ û die ersten Versuche, die benötigten<br />
Module außerhalb des Kernels zu<br />
pflegen und zu entwickeln. Seit Frühjahr<br />
2013 steht mit der Version 0.6.1 ein erstes<br />
alltagstaugliches Release bereit.<br />
Aktuell ist die Version 0.6.2.<br />
<strong>Die</strong>se zweite Variante steht im Mittelpunkt<br />
des Artikels. Unter Ubuntu und<br />
Arch Linux genügt es im Idealfall, die<br />
passenden Pakete zu installieren. Das<br />
Kompilieren und Installieren der Module<br />
dauert deutlich länger als eine Installation<br />
von Binärpaketen. <strong>Die</strong> Übersetzungsskripte<br />
erzeugen am Ende zusätzlich<br />
eine entsprechende Initrd, wofür der<br />
Rechner aber ebenfalls Zeit benötigt.<br />
05.2014 www.linux-user.de<br />
83