ZFS Storage Pool-Verwaltung unter Linux
ZFS ist eines der leistungsfähigsten Dateisysteme für Linux-Server und bietet integriertes Volume-Management, Datenintegritätsprüfung und fortschrittliche Funktionen wie Snapshots und Replikation. In dieser Anleitung lernen Sie, ZFS-Pools in Produktionsumgebungen zu erstellen, zu konfigurieren und zu verwalten.
ZFS installieren und Pool erstellen
Unter Ubuntu und Debian installieren Sie ZFS mit dem folgenden Befehl:
sudo apt update
sudo apt install zfsutils-linux
zfs version
Um einen gespiegelten Pool mit zwei Festplatten zu erstellen:
sudo zpool create datapool mirror /dev/sdb /dev/sdc
sudo zpool status datapool
Für höhere Redundanz erstellen Sie einen RAIDZ2-Pool:
sudo zpool create storagepool raidz2 /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf
Überprüfen Sie den Pool-Status jederzeit mit zpool status und zpool list, um die Kapazitätsnutzung einzusehen.
Datasets, Kompression und Quotas
ZFS-Datasets ermöglichen eine flexible Organisation der Daten innerhalb eines Pools. Jedes Dataset kann eigene Einstellungen besitzen:
sudo zfs create datapool/documents
sudo zfs create datapool/backups
sudo zfs set compression=lz4 datapool/documents
sudo zfs set quota=500G datapool/backups
sudo zfs set atime=off datapool/documents
Die LZ4-Kompression bietet ein hervorragendes Verhältnis zwischen Geschwindigkeit und Kompressionsrate. Überprüfen Sie die aktive Kompressionsrate mit:
zfs get compressratio datapool/documents
Quotas begrenzen den maximalen Speicherplatz, den ein Dataset belegen darf. Mit reservation können Sie umgekehrt Speicherplatz garantieren.
Snapshots und Rollback
Snapshots sind eine der wertvollsten Funktionen von ZFS. Sie erstellen eine punktgenaue Kopie des Dateisystems ohne zusätzlichen Speicherverbrauch:
sudo zfs snapshot datapool/documents@2026-01-03
sudo zfs list -t snapshot
Um auf einen früheren Zustand zurückzukehren:
sudo zfs rollback datapool/documents@2026-01-03
Für automatische Snapshots richten Sie einen Cron-Job ein:
# /etc/cron.d/zfs-snapshots
0 */6 * * * root zfs snapshot datapool/documents@auto-$(date +\%Y\%m\%d-\%H\%M)
Ältere Snapshots können Sie mit zfs destroy bereinigen. Für die Replikation auf einen externen Server verwenden Sie zfs send und zfs receive.
Scrubbing und Pool-Wartung
Regelmäßiges Scrubbing überprüft die Datenintegrität und repariert automatisch beschädigte Blöcke mithilfe der Redundanzinformationen:
sudo zpool scrub datapool
sudo zpool status datapool
Richten Sie automatisches Scrubbing ein:
# /etc/cron.d/zfs-scrub
0 2 * * 0 root zpool scrub datapool
Überwachen Sie den Pool-Zustand regelmäßig mit zpool status und achten Sie auf Warnungen bezüglich fehlerhafter Sektoren. Bei Festplattenausfällen ersetzen Sie die defekte Platte mit zpool replace. Für Produktionsumgebungen empfiehlt sich die Einrichtung von E-Mail-Benachrichtigungen über ZFS-Events mit dem ZFS Event Daemon (ZED).