Dieser Artikel wird momentan von aasche erstellt. Als Fertigstellungsdatum wurde der 11.11.2013 angegeben.
Achtung: Insbesondere heißt das, dass dieser Artikel noch nicht fertig ist und dass wichtige Teile fehlen oder sogar falsch sein können. Bitte diesen Artikel nicht als Anleitung für Problemlösungen benutzen!
Ubuntu 12.04 „Precise Pangolin“
Ubuntu 10.04 „Lucid Lynx“
Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.
War es in der Vergangenheit nur mit FUSE möglich, dass Dateisystem ZFS unter GNU/Linux zu nutzen, so wird seit Anfang 2011 aktiv daran gearbeitet, die native Integration in den Kernel voranzutreiben. Federführend ist dabei das Lawrence Livermore National Laboratory (LLNL) im Auftrag des amerikanischen Verteidigungsministeriums. Die offizielle Projektseite ist über ZFS on Linux
zu erreichen.
Grundlage der Portierung ist die ZFS-Version 28. Damit ist die Kompatibilität mit Solaris 10, OpenSolaris, OpenIndiana und FreeBSD gegeben. Solaris 11 als Nachfolger von OpenSolaris verwendet dagegen Version 31 (Stand: April 2012).
Die Vorteile von ZFS kommen auf einem normalen Desktop-System nicht zur Geltung. Es werden beispielsweise 4 GiB oder mehr freier (!) Arbeitsspeicher empfohlen. Fortgeschrittene Funktionen wie Kompression und Deduplikation erfordern noch mehr (ab 16 GiB). Erst der Einsatz im Server-Bereich und in Rechenzentren liefert sinnvolle Nutzungsmöglichkeiten zur effizienten Verwaltung sehr großer Datenmengen. Eine andere, praxisnähere Möglichkeit bieten die Distributionen FreeNAS (ab Version 8.x) und NAS4Free
, mit denen man sich einen dezidierten Dateiserver inkl. ZFS bauen kann.
Von den unter Linux verfügbaren Dateisystemen kann nur das btrfs ZFS in Teilbereichen Paroli bieten. Allerdings spricht gegen das jüngere btrfs der immer noch experimentelle Status und damit deutlich geringere Praxiserfahrungen (siehe auch die Artikel-Serie zum Btrfs-Dateisystem).
Anfang April 2013 hat ZFS on Linux offiziell das Entwicklungsstadium verlassen und wird nun auch für den Einsatz auf Produktivsystemen empfohlen.
ZFS ist kein offizieller Bestandteil von Ubuntu und daher auch nicht in den offiziellen Paketquellen enthalten. Stattdessen kann man die "Personal Package Archive" (PPAs) des Launchpad-Projekts zfs
nutzen oder den Quelltext selbst kompilieren (zu letzterem siehe Links).
Es gibt zwei "Personal Package Archive" (PPA) [1] für ZFS. Das "stable" PPA ist für die reine Nutzung von ZFS ausreichend.
Adresszeile zum Hinzufügen des PPAs:
ppa:zfs-native/stable
Zusätzliche Fremdquellen können das System gefährden.
Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen sind der
PPA-Beschreibung des Eigentümers/Teams zfs-native zu entnehmen.
Damit Pakete aus dem PPA genutzt werden können, müssen die Paketquellen neu eingelesen werden.
Nach dem Aktualisieren der Paketquellen kann das folgende Paket installiert [2] werden:
ubuntu-zfs (ppa)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install ubuntu-zfs
sudo aptitude install ubuntu-zfs
Nun wird automatisch
der aktuelle Quellcode heruntergeladen und
mit Hilfe von DKMS kompiliert
Für Entwickler geeignet ist das folgende PPA:
Adresszeile zum Hinzufügen des PPAs:
ppa:zfs-native/daily
Zusätzliche Fremdquellen können das System gefährden.
Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen sind der
PPA-Beschreibung des Eigentümers/Teams zfs-native zu entnehmen.
Damit Pakete aus dem PPA genutzt werden können, müssen die Paketquellen neu eingelesen werden.
Die Installation erfolgt wie oben angegeben.
ToDo: ist dieser Abschnitt noch aktuell?
Nach der Installation wird zfs bei jedem Rechnerstart als Dienst über /etc/init.d/zfs geladen. Das Problem dabei ist allerdings, dass
zfs Teil des Dateisystem ist
Init- und Upstart-Jobs mit großer Wahrscheinlichkeit früher oder später von den durch zfs verwalteten Dateisystemen abhängig sind. Trotzdem werden diese in der Standardeinstellung teilweise vor zfs ausgeführt. Es ist daher wichtig, zfs beim Booten wie ein lokales Dateisystem zu behandeln.
Dazu muss man es zur Gruppe "$local_fs" hinzufügen. Dazu erstellt man die Datei /etc/insserv.conf.d/zfsload mit folgendem Inhalt:
$local_fs zfsload
Danach einfach sudo insserv ausführen und zfs wird von allen Init- und Upstart-Jobs wie ein lokales Dateisystem gestartet.
ToDo:
Q: How do I automatically mount ZFS file systems during startup?
A: If you are using the Ubuntu PPA, auto mounting and auto unmounting features are configured in the /etc/default/zfs configuration file. Just edit the values of
ZFS_MOUNTandZFS_UNMOUNTin the file to other than the default value (a blank string).
Beispiel:
cat /etc/default/zfs
# Automatically run `zfs mount -a` at system startup if set non-empty. ZFS_MOUNT='yes' # Automatically run `zfs unmount -a` at system shutdown if set non-empty. ZFS_UNMOUNT='yes'
Das Booten von einer mit ZFS formatierten Festplatte funktioniert nur mit einer modifizierten Version von GRUB 2 (diese ist ebenfalls über ein PPA erhältlich). Außerdem ist es erforderlich, eine eigene Partition /boot anzulegen. Die ausführliche Anleitung HOWTO install Ubuntu to a Native ZFS Root Filesystem
liefert weitere Details.
Über die Nutzung von ZFS mit seinen zahlreichen Möglichkeiten lassen sich ganze Bücher schreiben. Wer sich für die Materie interessiert, sei auf die sehr gute ZFS-Dokumentation verwiesen (siehe unten). Diese liegt allerdings durchgehend auf Englisch vor, Quellen auf Deutsch sind extrem selten. Grafische Konfigurationswerkzeuge sind ebenfalls nicht vorhanden.
An dieser Stelle daher nur ein kleines Beispiel. Um einen "zpool" anzulegen, der aus 3 Festplatten besteht, genügt folgender Befehl:
sudo zpool create -f daten /dev/sdb /dev/sdc /dev/sdd
Wenn man eine Festplatte verwendet, die intern 4096B-Sektoren verwendet, nach außen aber 512B-Sektoren vorgibt (beispielsweise bestimmte WD Green-Platten), so muss zusätzlich die Option -o ashift=12 angegeben werden. Dann verwendet auch ZFS 4096B-Sektoren. Passen die Sektorgrößen von Platte und ZFS nicht zusammen, sind deutliche Performanceeinbußen die Folge. Es genügt nicht, die Partitionen korrekt auszurichten. Eine nachträgliche Änderung ist praktisch nur durch Neuanlage des Pools möglich.
Alle Pools können mit den Befehlen "zpool" und "zfs" verwaltet werden:
sudo zpool status
pool: daten state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM daten ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 sdb1 ONLINE 0 0 0 sdc1 ONLINE 0 0 0 sdd1 ONLINE 0 0 0 errors: No known data errors
sudo zfs list
NAME USED AVAIL REFER MOUNTPOINT daten 85.5K 147G 21K /daten
Wie man sieht, wird der "Pool" direkt nach /daten gemountet.
Informationen zur Version etc. kann man mit folgendem Befehl anzeigen lassen:
sudo zpool upgrade -v
This system is currently running ZFS pool version 28. The following versions are supported: VER DESCRIPTION --- -------------------------------------------------------- 1 Initial ZFS version 2 Ditto blocks (replicated metadata) 3 Hot spares and double parity RAID-Z 4 zpool history 5 Compression using the gzip algorithm 6 bootfs pool property 7 Separate intent log devices 8 Delegated administration 9 refquota and refreservation properties 10 Cache devices 11 Improved scrub performance 12 Snapshot properties 13 snapused property 14 passthrough-x aclinherit 15 user/group space accounting 16 stmf property support 17 Triple-parity RAID-Z 18 Snapshot user holds 19 Log device removal 20 Compression using zle (zero-length encoding) 21 Deduplication 22 Received properties 23 Slim ZIL 24 System attributes 25 Improved scrub stats 26 Improved snapshot deletion performance 27 Improved snapshot creation performance 28 Multiple vdev replacements For more information on a particular version, including supported releases, see the ZFS Administration Guide.
FAQ
- häufige Fragen und Antworten
18-teilige Artikelserie von Aaron Toponce
zur ZPOOL- und ZFS-Administration:
Part 0: Install ZFS on Debian GNU/Linux
- 04/2012 ff.
Dateisystem ZFS on Linux bereit für Alltagseinsatz
- heise Open Source 04/2013
ZFS unter Ubuntu
- Installation aus dem Quelltext und Nutzungsbeispiele, Blogbeitrag 08/2011
OpenSolaris als Fileserver
- Einsatz von ZFS in der Praxis, heise Open Source 12/2008
ZFS-FUSE
- Projektseite zum (alten) Ansatz, ZFS über FUSE zu nutzen
Diese Revision wurde am 12. April 2013 00:15 von aasche erstellt.
2004 – 2013 ubuntuusers.de • Einige Rechte vorbehalten