ZFS unter Linux: Grundlagen, Pools & Snapshots

ZFS gilt als eines der fortschrittlichsten Dateisysteme überhaupt: Es kombiniert Dateisystem und Volume-Manager, schützt Daten mit Prüfsummen und macht Snapshots zum Kinderspiel. In dieser Einführung lernst du die Grundlagen von ZFS unter Linux – von Pools und Datasets über Snapshots bis zu den wichtigsten Befehlen für den Start.

Was macht ZFS besonders?

Klassische Dateisysteme wie ext4 verwalten nur die Ablage von Dateien. ZFS geht weiter und vereint mehrere Aufgaben in einem System:

  • Datenintegrität: Jeder Datenblock erhält eine Prüfsumme – stille Datenfehler („bit rot“) werden erkannt und bei Redundanz automatisch repariert.
  • Snapshots: Zustände lassen sich in Sekunden einfrieren und wiederherstellen.
  • Kompression: transparent im Hintergrund, spart Platz ohne spürbaren Nachteil.
  • Integriertes RAID: über sogenannte vdevs, ganz ohne separaten RAID-Controller.

Diese Eigenschaften machen ZFS besonders für NAS- und Server-Systeme attraktiv, etwa unter Proxmox – siehe Proxmox Storage-Typen erklärt.


ZFS installieren

Auf Debian und Ubuntu installierst du ZFS aus den Paketquellen:

sudo apt update
sudo apt install -y zfsutils-linux

Schritt 1: Einen Pool anlegen

Die oberste Ebene in ZFS ist der Pool (zpool) – er bündelt eine oder mehrere Festplatten. Ein einfacher Pool aus einer Platte:

sudo zpool create tank /dev/sdb

Für Ausfallsicherheit nutzt du eine Spiegelung (Mirror) aus zwei Platten:

sudo zpool create tank mirror /dev/sdb /dev/sdc

Den Status und die Gesundheit deines Pools prüfst du jederzeit mit:

zpool status

Schritt 2: Datasets erstellen

Innerhalb eines Pools legst du Datasets an – das sind flexible „Unterdateisysteme“ mit eigenen Eigenschaften. So trennst du z. B. Daten und Backups sauber:

sudo zfs create tank/daten
sudo zfs create tank/backups

Jedes Dataset lässt sich individuell konfigurieren, etwa mit aktivierter Kompression:

sudo zfs set compression=lz4 tank/daten

Schritt 3: Snapshots erstellen und zurückspielen

Snapshots sind das Killerfeature von ZFS. Sie frieren den Zustand eines Datasets ein und belegen zunächst kaum Platz:

sudo zfs snapshot tank/daten@vor-update

Ist etwas schiefgegangen, spielst du den Zustand in Sekunden zurück:

sudo zfs rollback tank/daten@vor-update

Alle vorhandenen Snapshots listest du mit zfs list -t snapshot auf.


Die wichtigsten ZFS-Befehle

BefehlWirkung
zpool listAlle Pools und ihre Auslastung anzeigen
zpool statusGesundheit & Struktur eines Pools
zfs listDatasets und Snapshots auflisten
zfs snapshot …@nameSnapshot erstellen
zpool scrub tankIntegritätsprüfung des Pools starten

Wie viel RAM braucht ZFS?

ZFS nutzt Arbeitsspeicher als Cache (ARC) intensiv. Als Faustregel gilt rund 1 GB RAM pro Terabyte Speicher, mehr schadet nie. Auf sehr kleinen Systemen ist das der wichtigste Punkt bei der Planung. Wie du den Speicherverbrauch überwachst, zeigt Speicherplatz analysieren.


RAID-Z: Ausfallsicherheit richtig planen

Für echte Ausfallsicherheit über mehrere Platten hinweg bietet ZFS neben dem Mirror die RAID-Z-Verbünde. Sie ähneln klassischem RAID, sind aber gegen den gefürchteten „Write Hole“-Fehler geschützt:

TypVerkraftet Ausfall vonGeeignet ab
Mirror1 Platte (pro Spiegel)2 Platten
RAID-Z11 Platte3 Platten
RAID-Z22 Platten4 Platten
RAID-Z33 Platten5 Platten

Für Homelabs mit vier oder mehr Platten ist RAID-Z2 ein guter Kompromiss aus Kapazität und Sicherheit. Ein Mirror ist einfacher und bei nur zwei Platten die Wahl. Wichtig: RAID ersetzt kein Backup – plane trotzdem regelmäßige Sicherungen ein.


Häufige Fragen zu ZFS

Ist ZFS für Einsteiger geeignet?

Die Grundbefehle sind schnell gelernt, und schon ein einfacher Pool mit Snapshots bringt großen Nutzen. Die fortgeschrittenen Themen (RAID-Z, Tuning) kannst du dir nach und nach erschließen.

Kann ich einem Pool später Platten hinzufügen?

Ja, du kannst einem Pool weitere vdevs hinzufügen. Das Erweitern eines bestehenden RAID-Z-Verbunds war lange nicht möglich, ist in neueren ZFS-Versionen aber inzwischen umgesetzt. Plane die Struktur trotzdem sorgfältig.

Was ist ein Scrub?

Ein Scrub liest alle Daten und prüft sie gegen ihre Prüfsummen. So werden schleichende Fehler früh erkannt und – bei Redundanz – repariert. Ein monatlicher Scrub ist empfehlenswert.


Fazit

ZFS bringt Datensicherheit, Snapshots und Kompression in einem durchdachten Paket – ideal für alle, die ihre Daten ernst nehmen. Schon mit einem gespiegelten Pool und regelmäßigen Snapshots hebst du deine Datensicherheit auf ein neues Niveau. Plane genügend RAM ein und richte einen monatlichen Scrub ein, dann läuft ZFS jahrelang zuverlässig. Für die Einbindung einzelner Datenträger siehe auch Festplatte einbinden und mounten.

Siehe auch  Traefik als Reverse Proxy mit Docker einrichten
Nach oben scrollen