Login
Newsletter
Werbung

Do, 18. Februar 2010, 19:00

ZFS unter Linux

Sicher ist sicher

Bei der Datensicherheit muss man verschiedene Aspekte beachten: Ausfallsicherheit, Zugriffssicherheit, Datenschutz und weitere Sicherheitspunkte. An dieser Stelle soll es einen kleinen Einblick in zwei Bereiche geben, die eine gewisse Grundlage bilden. Die anderen Bereiche der Sicherheit sind ebenfalls wichtig und sollten beachtet werden.

RAID

Ein »Redundant Array of Independent Disks« (RAID) hat das Ziel, die Ausfallsicherheit zu erhöhen. In einem RAID werden die Daten redundant über mehrere Festplatten verteilt, damit beim Ausfall einer Festplatte keine Daten verloren gehen. Nur beim RAID 0 werden die Festplatten logisch zu einer zusammengefasst, ohne eine Redundanz zu schaffen. Dieses Prinzip kann man in Hardware (RAID-Controller) oder in Software realisieren. ZFS hat eine eigene Softwarevariante, ein RAID anzulegen und zu verwalten.

Seit Solaris Express Community Edition, Build 120 (OpenSolaris) gibt es auch »Triple-Parity RAID-Z«, was die Ausfallsicherheit gegenüber RAID-6 nochmals erhöht. Aber Achtung: Dieses Feature ist in der Version 0.5.0 von zfs-fuse noch nicht implementiert.

Zum Erstellen eines RAIDs wählt man die Festplatten/Partitionen aus und setzt sie zu einem Pool zusammen:

RAID 0:

zpool create tank /dev/sdb /dev/sdc

RAID 1 (gespiegelte Festplatte):

zpool create pool mirror /dev/sdb /dev/sdc

RAID 5:

zpool create tank raidz1 /dev/sdb /dev/sdc /dev/sdd

RAID 6:

zpool create tank raidz2 /dev/sdb /dev/sdc /dev/sdd

»RAID 6 deluxe« (Triple-Parity RAID-Z):

zpool create tank raidz3 /dev/sdb /dev/sdc /dev/sdd

Zusätzlich kann man einem RAID-Verbund (egal ob mirror oder raidzX) auch noch eine oder mehrere Ersatzfestplatten mitgeben. Hierzu dient das Argument spare, gefolgt von der Ersatzfestplatte:

zpool create pool mirror /dev/sdb /dev/sdc spare /dev/sdd

Ein RAID besteht je nach RAID-Level aus zwei, drei oder mehr Festplatten. Wenn es angelegt ist, kann man die Anzahl nicht ändern. Um ein Dateisystem zu erweitern, vergrößert man deshalb nicht das RAID, sondern den Pool. Dieser kann z. B. aus mehreren RAIDs bestehen.

RAID-6 (Teil 1 des Pools):

zpool create tank raidz2 /dev/sdb /dev/sdc /dev/sdd

RAID-6 (Teil 2 des Pools):

zpool add tank raidz2 /dev/sde /dev/sdf /dev/sdg

Kontrolle:

# zpool status
  pool: tank
 state: ONLINE
 scrub: none requested
config:

NAME      STATE   READ WRITE CKSUM
 tank      ONLINE     0     0     0
   raidz2  ONLINE     0     0     0
     sdb   ONLINE     0     0     0
     sdc   ONLINE     0     0     0
     sdd   ONLINE     0     0     0
   raidz2  ONLINE     0     0     0
     sde   ONLINE     0     0     0
     sdf   ONLINE     0     0     0
     sdg   ONLINE     0     0     0

errors: No known data errors

Backups

Backups können mit ZFS-eigenen Snapshots (schreibgeschützte Momentaufnahme des Dateisystems) und Clones (beschreibbare und sofort einsetzbare Kopie eines Dateisystems) angelegt werden. Man sollte sich natürlich generell Gedanken über eine Backupstrategie machen. Ob gegebenenfalls eine externe (Aus-)Lagerung eines Monatsbackups auf Band oder ähnliches sinnvoll ist, muss jeder selbst entscheiden.

Der Snapshot ist eine schreibgeschützte (read-only) Kopie des Dateisystems. Man erstellt ihn ebenfalls mit dem zfs-Befehl. Man wählt das Dateisystem aus und hängt mit einem @ noch einen Namen dahinter, um später die verschiedenen Snapshots zu unterscheiden und wiederzufinden:

zfs snapshot tank/files/linus@meintest

Ein Clone ist eine schreib- und lesbare Kopie des Dateisystems. Der Clone wird immer von einem Snapshot erstellt und bekommt einen neuen Namen (hier testclone):

zfs snapshot tank/files/linus@meintest
zfs clone tank/files/linus@meintest tank/files/testclone

Weiteres zu Snapshots und Clones, zum Löschen oder Modifizieren von diesen und noch vieles mehr findet man ausführlicher im Administrationshandbuch.

Hilfe und Information

Die Informationen zu ZFS sind vermutlich genauso umfangreich wie die Dateisysteme und Dateien, die mit ihm erstellt werden können. An dieser Stelle sollen noch einige Links erwähnt werden, die mit reichlich Informationen weiterhelfen können.

Die wichtigste Anlaufstelle ist vermutlich der Getting Started Guide der »Community Group ZFS« auf den OpenSolaris-Webseiten. Auch das sehr umfangreiche und aktuelle, über 300-seitige englischsprachige Administrationshandbuch hilft bestimmt weiter (siehe oben).

Zum Testen eines ZFS-Dateisystems gibt es auch ein Programm namens ztest, das direkt zum zfs-fuse Paket gehört.

Beim Chaosradio-Podcast-Network des Chaos Computer Clubs haben sich in der Chaosradio Express Ausgabe 49 Tim Pritlove und Denis Ahrens mit dem Thema ZFS auseinandergesetzt.

Selbst auf YouTube findet man Videos zum Thema ZFS. Die Systemhelden haben in Zusammenarbeit mit Sun ein schönes und lustiges Lehr- und Demonstrationsvideo erstellt.

Ein schöner Vergleich zwischen ZFS und einem Soft-RAID, LVM und deren Kombination findet man auf der Seite von James Dickens. Chris Samuel hat in seinem Blog auch einige Tipps, Kommentare und einen Artikel, der auf LinuxWorld.com veröffentlicht wurde.

Fazit und Aussichten

Leider steht ZFS nicht unter der GPL und wird damit auch nicht in den Linux-Kernel integriert werden. Abgesehen davon gibt es keine Probleme mit diesem Multifunktionsdateisystem.

An dieser Stelle sei noch erwähnt, dass ZFS via FUSE für Linux dem Original-ZFS (für Solaris) im Prinzip immer einen Schritt hinterherhinkt, da zfs-fuse auf die fertige Version aufbaut und nicht gemeinsam oder parallel für Linux entwickelt wird. Dies liegt auch am Lizenzproblem.

ZFS wird ständig weiterentwickelt, wobei die Abwärtskompatibilität immer gegeben ist. Aktuell wurde ZFS um die Deduplikationsfunktion erweitert. Auch das Booten von einem ZFS-Dateisystem wurde mittels initramfs schon realisiert. Man darf gespannt sein, welche weiteren Funktionen noch folgen werden und hoffen, dass das neue Team ZFS für Linux auf den aktuellen Stand bringt und hält.

Das Arbeiten mit ZFS ist einfach und sehr angenehm, allein schon durch die kurzen und logischen Befehle. Ein Test lohnt sich in jedem Fall.

Autoreninformation

Martin Böcher benutzt seit vielen Jahren Linux und andere freie Software. Um große Datenmengen zu verwalten und bereit zu stellen, benötigt er ein komplexes und zuverlässiges Dateisystem. Hier kommt auch ZFS zum Einsatz.

Dieser Artikel ist in freiesMagazin 02/2010 erschienen. Veröffentlichung mit freundlicher Genehmigung des Autors.

  • Dieses Werk wurde unter der GNU Free Documentation License veröffentlicht. Das Kopieren, Verbreiten und/oder Modifizieren ist erlaubt unter den Bedingungen der GNU Free Documentation License, Version 1.2 oder einer späteren Version, veröffentlicht von der Free Software Foundation.

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