Command Builder · ZFS
ZFS-Pool-Konfigurator
Stell deinen Pool zusammen: Topologie, Platten, ashift, Kompression und Datasets. Der Konfigurator erzeugt einen zpool-create-Entwurf mit Probelauf (-n), zeigt die Topologie wie zpool status und listet die Befehle, mit denen du vorher und nachher prüfst. Ausgeführt wird nichts — und ohne -n löscht der Befehl die genannten Platten.
Vorlage übernehmen:
Namen aus ls -l /dev/disk/by-id/ — leer lassen ergibt Platzhalter. Die Liste bleibt im Browser.
Optionen
Datasets
Datasets sind eigene Dateisysteme im Pool — mit eigenen Snapshots, Quotas und Eigenschaften.
Erweiterte Optionen▾
Probelauf: zpool zeigt nur, welches Layout entstehen würde — es wird nichts angelegt und nichts gelöscht.
Generierter Befehl
zpool create \
-n -o ashift=12 \
-O compression=lz4 -O acltype=posixacl -O xattr=sa -O dnodesize=auto \
tank \
mirror /dev/disk/by-id/PLATTE-1 /dev/disk/by-id/PLATTE-2Das bedeuten die Parameter
tank- Name des Pools — er wird auch der Name des obersten Datasets und (ohne mountpoint) der Mountpunkt /<name>.
mirror- Jede Platte eines vdevs enthält dieselben Daten. Schnell bei zufälligen Zugriffen, ideal für VMs; Kapazität = eine Platte pro vdev.
-n- -n zeigt nur das Layout, das entstehen würde. Erst wenn es stimmt, ohne -n ausführen.
-o ashift=12- -o ashift=12: 4-KiB-Blöcke. Passt zu praktisch allen aktuellen HDDs und SSDs und zu künftigen Ersatzplatten.
-O compression=lz4- -O compression=lz4: kaum CPU-Last, spart bei Text, Logs und Datenbanken spürbar Platz; bei bereits komprimierten Daten bricht ZFS früh ab.
-O acltype=posixacl- -O acltype=posixacl -O xattr=sa -O dnodesize=auto: POSIX-ACLs und erweiterte Attribute effizient im Inode — wie in den Anleitungen der OpenZFS-Doku.
Erst der Probelauf, dann der echte Befehl
Mit -n rechnet zpool das Layout nur durch und gibt es aus — ohne eine Platte anzufassen. Stimmt die Vorschau, gleichst du die Seriennummern mit lsblk ab, sicherst alles, was noch auf den Platten liegt, und entfernst erst dann -n. Ein einmal angelegtes vdev lässt sich nur eingeschränkt ändern: ashift ist fest, ein RAIDZ-vdev wird nie wieder schmaler, und aus einem Pool mit RAIDZ lässt sich kein Daten-vdev mehr entfernen.
Alle Optionen im Überblick
| Option | Bedeutung | Erklärung |
|---|---|---|
Poolname | Poolname | Name des Pools — er wird auch der Name des obersten Datasets und (ohne mountpoint) der Mountpunkt /<name>. |
mirror | Mirror (gespiegelt) | Jede Platte eines vdevs enthält dieselben Daten. Schnell bei zufälligen Zugriffen, ideal für VMs; Kapazität = eine Platte pro vdev. |
mirror | RAIDZ1 (1 Parität) | Verkraftet einen Ausfall pro vdev. Bei großen Platten ist das Risiko während des Resilvers hoch. |
mirror | RAIDZ2 (2 Paritäten) | Verkraftet zwei Ausfälle pro vdev — der übliche Kompromiss für NAS mit vielen großen Platten. |
mirror | RAIDZ3 (3 Paritäten) | Verkraftet drei Ausfälle pro vdev — für sehr große oder breite vdevs. |
mirror | Einzelplatten (ohne Redundanz) | Jede Platte ist ein eigenes vdev, Daten werden verteilt. Kein Schutz vor Plattenausfall. |
Platten pro vdev | Platten pro vdev | Wie viele Platten eine Mirror- oder RAIDZ-Gruppe bilden. |
Anzahl vdevs | Anzahl vdevs | Mehrere gleiche vdevs werden zusammengeschaltet: mehr Kapazität und Leistung — aber fällt ein vdev aus, ist der Pool verloren. |
Platten (eine pro Zeile) | Platten (eine pro Zeile) | Gerätenamen über /dev/disk/by-id ändern sich nicht, wenn Platten umgesteckt werden. |
Probelauf (-n) | Probelauf (-n) | -n zeigt nur das Layout, das entstehen würde. Erst wenn es stimmt, ohne -n ausführen. |
-o ashift=12 | 12 — 4-KiB-Sektoren (empfohlen) | -o ashift=12: 4-KiB-Blöcke. Passt zu praktisch allen aktuellen HDDs und SSDs und zu künftigen Ersatzplatten. |
-o ashift=12 | 13 — 8 KiB | -o ashift=13: für SSDs mit 8-KiB-Seiten; kostet bei RAIDZ mehr Platz. |
-o ashift=12 | 9 — 512 Byte | -o ashift=9: nur für echte 512n-Platten. |
-o ashift=12 | automatisch erkennen | ZFS übernimmt die Sektorgröße, die die Platte meldet — manche Platten melden 512 Byte, obwohl sie intern mit 4 KiB arbeiten. |
-O compression=lz4 | lz4 (schnell, empfohlen) | -O compression=lz4: kaum CPU-Last, spart bei Text, Logs und Datenbanken spürbar Platz; bei bereits komprimierten Daten bricht ZFS früh ab. |
-O compression=lz4 | zstd (stärker) | -O compression=zstd: entspricht zstd-3 — mehr Ersparnis bei mehr CPU-Last, gut für Archive und Backups. |
-O compression=lz4 | nicht setzen (Default on = lz4) | Seit OpenZFS 2.2 ist compression=on (lz4) bereits Default. |
-O compression=lz4 | aus | -O compression=off: nur sinnvoll, wenn praktisch alles vorkomprimiert ist. |
autotrim (SSDs) | autotrim (SSDs) | -o autotrim=on: meldet freigegebene Blöcke laufend an SSDs. Bei HDDs ohne Wirkung. |
Zugriffszeiten aus (atime=off) | Zugriffszeiten aus (atime=off) | -O atime=off: kein Schreibvorgang beim bloßen Lesen. Default ist atime=on mit relatime=on, was schon wenig kostet. |
Linux-ACLs (Samba, NFS, Container) | Linux-ACLs (Samba, NFS, Container) | -O acltype=posixacl -O xattr=sa -O dnodesize=auto: POSIX-ACLs und erweiterte Attribute effizient im Inode — wie in den Anleitungen der OpenZFS-Doku. |
Mountpunkt | Mountpunkt | -O mountpoint=…: Wo der Pool eingehängt wird. Leer = /<poolname>. |
Erzwingen (-f) | Erzwingen (-f) | -f übergeht Schutzwarnungen, etwa wenn auf einer Platte noch Daten erkannt werden. |
Datasets | Datasets | Datasets sind eigene Dateisysteme im Pool — mit eigenen Snapshots, Quotas und Eigenschaften. |
Häufige Fragen
Wurden die erzeugten Befehle getestet?
Die Befehlsformen liefen in einer Wegwerf-VM mit Debian 13 und OpenZFS 2.4.4 auf virtuellen Platten, mit und ohne -n. Deine Gerätenamen und dein Layout kann der Konfigurator nicht prüfen — dafür ist der Probelauf da.
Warum /dev/disk/by-id statt /dev/sda?
Namen wie /dev/sda vergibt der Kernel beim Start in Erkennungsreihenfolge; nach einem Umbau kann sda eine andere Platte sein. Die Namen unter /dev/disk/by-id enthalten Modell und Seriennummer und bleiben stabil — so empfiehlt es die OpenZFS-FAQ.
Welches ashift ist richtig?
Für praktisch alle aktuellen Festplatten und SSDs ashift=12 (4 KiB). Es lässt sich pro vdev nie mehr ändern, und eine spätere Ersatzplatte arbeitet sehr wahrscheinlich mit 4 KiB. ashift=9 passt nur zu echten 512-Byte-Platten.
Bleiben meine Plattennamen privat?
Ja. Die Plattenliste wird weder gespeichert noch in die Adresszeile geschrieben; nur unkritische Einstellungen wie Topologie und ashift lassen sich per Link teilen.
Passende Tools
ZFS-Kapazitätsrechner →
Nutzbarer Platz für Mirror und RAIDZ1/2/3 mit mehreren vdevs — inklusive RAIDZ-Padding, Slop-Reserve und TB-vs-TiB, so wie zfs list ihn zeigt.
smartctl Command Builder →
Festplatten-Gesundheit prüfen: Health-Check, SMART-Attribute und Selbsttests — mit Erklärung, wie Tests ablaufen.
ZFS-Fehlerdiagnose →
Pool DEGRADED, Prüfsummenfehler, Pool voll oder Import scheitert? Symptom wählen und lesende Diagnosebefehle mit Deutung abarbeiten.