18.04.2014 Aufrufe

LinuxUser Die private Cloud (Vorschau)

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!