Jeder TrueNAS-Admin kennt die Situation: ein einziger Pool, mehrere Abteilungen – und die Marketing-Abteilung hat über Nacht 4 TB Videomaterial reingeschoben. Buchhaltung, Entwicklung und das CAD-Team schauen am Montag in die Röhre, weil keine Schreiboperation mehr durchkommt. Statt den Pool zu vergrößern oder LUNs auf alte NAS-Köpfe zu schneiden, lohnt ein Blick auf das, was ZFS seit Version 1 kann: Quotas und Reservations auf Dataset-Ebene.
Wir setzen diese Mechanismen bei DATAZONE täglich bei Mittelstandskunden ein – von der 20-Mann-Kanzlei bis zur Produktionsumgebung mit 80 Nutzern. In diesem Artikel klären wir die vier wichtigen Varianten, zeigen GUI- und CLI-Pfad in TrueNAS 25.10 Goldeye und erklären, wo die typischen Stolperfallen liegen.
Warum überhaupt ZFS Quotas statt klassischer LUN-Aufteilung
In älteren Storage-Welten wurden Abteilungen über separate LUNs oder getrennte Volumes voneinander abgegrenzt. Das Problem: freier Platz auf LUN A hilft LUN B nicht, auch wenn beide auf denselben Disks liegen. ZFS dreht das Modell um – ein Pool, viele Datasets, flexibler freier Platz. Quotas und Reservations sorgen dafür, dass diese Flexibilität nicht zum Nachteil wird.
Ein Dataset ohne Limit kann theoretisch den ganzen Pool füllen. Das wollen Sie in einer Mehrbenutzerumgebung nicht. Gleichzeitig soll eine wichtige Abteilung einen garantierten Puffer behalten, auch wenn andere Datasets gerade wachsen. Genau dafür gibt es die vier Werkzeuge: Quota, Refquota, Reservation und Refreservation.
Wer tiefer in die Planung einsteigen will, findet in unserem ZFS-Pool-Planer eine Rechenhilfe inklusive VDEV-Layout. Für die laufende Nutzung ergänzen Quotas das Bild um die Mehrbenutzer-Dimension.
Quota vs Refquota: der wichtigste Unterschied
Das wird in jedem zweiten Projekt verwechselt – also sauber auseinanderhalten:
- Quota limitiert ein Dataset inklusive aller Snapshots und Child-Datasets. Alles, was unter diesem Pfad liegt, zählt zusammen gegen das Limit.
- Refquota limitiert nur die referenzierten Daten – also das, was aktuell im Dateisystem sichtbar ist. Snapshots und Child-Datasets zählen nicht mit.
Ein Beispiel: Sie geben dem Dataset tank/abteilungen/vertrieb eine Quota von 500 GB. Der Vertrieb nutzt 300 GB. Ein Snapshot-Plan hält zwei Wochen zurück und belegt 180 GB. Dann bleiben rechnerisch nur noch 20 GB frei, bevor die Quota greift – obwohl im Dateisystem selbst 300 GB sichtbar sind. Nutzer werden irritiert sein.
Mit Refquota 500 GB blockiert ZFS erst, wenn die referenzierten Daten die 500 GB überschreiten. Die Snapshots dürfen zusätzlich wachsen – kostet Pool-Platz, aber die Nutzer stolpern nicht über eine „voll”-Meldung, obwohl ihr Mülleimer leer aussieht.
Welche Variante wann
In der Praxis fahren wir fast immer mit Refquota auf dem Nutz-Dataset und einer Quota auf dem Parent-Dataset, das die Abteilungs-Hierarchie zusammenfasst. So bekommt die Abteilung einen klaren Nutzrahmen, der harte Deckel inklusive Snapshots liegt eine Ebene darüber. Für reine Archiv- oder Backup-Datasets ohne Snapshot-Historie reicht eine einfache Quota.
Reservation vs Refreservation: Platz garantieren
Spiegelbildlich funktioniert die Garantie-Seite:
- Reservation reserviert Platz inklusive Snapshots und Children – andere Datasets im Pool sehen diesen Platz als belegt an, auch wenn er aktuell noch frei ist.
- Refreservation reserviert nur den referenzierten Platz, also garantiert Schreibkapazität für das aktuelle Dateisystem ohne Snapshot-Overhead.
Für Dateisysteme ist Refreservation meist die bessere Wahl: die Abteilung bekommt eine Garantie, dass sie zum Beispiel 1 TB belegen darf, bevor der Pool voll läuft. Für Zvols – also Blockgeräte für iSCSI oder VM-Disks – setzt TrueNAS 25.10 Goldeye standardmäßig eine Refreservation in Höhe des Zvol-Volumens. Das verhindert, dass eine Thin-Provisioned VM-Disk unerwartet gegen eine Wand läuft, wenn der Pool voll wird. Bei Thin-Zvols muss die Refreservation manuell auf null gesetzt werden – ein Thema, das wir in der Proxmox-ZFS-Tuning-Reihe genauer behandeln.
GUI-Weg in TrueNAS Goldeye
Für die meisten Standardfälle reicht die Weboberfläche. In TrueNAS 25.10 Goldeye navigieren Sie zu Datasets, wählen das Zielobjekt und klicken auf Edit. Unter Space Management finden Sie:
- Quota for this dataset
- Quota for this dataset and all children
- Reserved space for this dataset
- Reserved space for this dataset and all children
Die GUI mappt die Begriffe gegenüber der CLI etwas um: „for this dataset” entspricht Refquota/Refreservation, „and all children” entspricht Quota/Reservation. Einmal verinnerlichen – dann ist der Weg klar.
Zusätzlich warnt TrueNAS, wenn eine Quota kleiner als die aktuell belegte Datenmenge gesetzt wird – man kann die Nutzer dann nicht mehr schreiben lassen, bis gelöscht wird. Praktisch, aber in der Hektik übersieht man die Meldung schnell.
Wann CLI schneller ist
Für Massen-Setups – zehn Abteilungen auf einen Schlag – lohnt sich die CLI:
zfs set refquota=1T tank/abteilungen/vertrieb
zfs set quota=1.3T tank/abteilungen/vertrieb
zfs set refreservation=200G tank/abteilungen/vertrieb
Das lässt sich mit einem Skript über alle Datasets eines Parents iterieren. Für die Dokumentation ist zfs get all tank/abteilungen/vertrieb deutlich übersichtlicher als die GUI-Ansicht. Wer regelmäßig provisioniert, legt sich eine kleine Ansible-Rolle oder ein Bash-Snippet an.
User- und Gruppen-Quotas: die oft vergessene Ebene
Dataset-Quotas regeln den Abteilungs-Rahmen. Aber was tun, wenn innerhalb der Marketing-Abteilung ein einzelner Mitarbeiter 70 Prozent des zugewiesenen Platzes belegt? Hier helfen User-Quotas und Group-Quotas.
ZFS kennt dafür separate Properties:
zfs set userquota@m.schmidt=50G tank/abteilungen/marketing
zfs set groupquota@grafik=200G tank/abteilungen/marketing
zfs set defaultuserquota=20G tank/abteilungen/marketing
Die defaultuserquota ist seit OpenZFS 2.2 verfügbar und sehr praktisch: alle Nutzer, die keine eigene User-Quota haben, erben automatisch 20 GB. Neue Nutzer müssen Sie nicht einzeln pflegen. Mehr Hintergrund dazu finden Sie in unserem Update-Artikel zu OpenZFS 2.4.
Kombination mit SMB-Shares
In Windows-Umgebungen wird aus einer gefüllten User-Quota ein regulärer „Disk voll”-Fehler über das SMB-Protokoll. Nutzer sehen das wie ein lokales Festplatten-Problem – ohne komplizierte Hinweise. Das reduziert Supportlast enorm. Dass dabei SMB verschlüsselt und authentifiziert laufen sollte, haben wir im Artikel TrueNAS SMB-Protokoll-Sicherheit ausgeführt.
Monitoring: Was braucht man wirklich
Ein Limit ohne Überwachung ist eine Zeitbombe. Drei Dinge sollten Sie regelmäßig prüfen:
1. Belegung pro Dataset
zfs list -o name,used,refer,quota,refquota,reservation,refreservation -r tank/abteilungen
2. User-Quota-Status
zfs userspace tank/abteilungen/marketing
zfs groupspace tank/abteilungen/marketing
3. Alerts in TrueNAS
Unter System → Alert Settings können Sie Pool- und Dataset-Füllgrade mit Schwellwerten (zum Beispiel 80 Prozent) auf Warning und 90 Prozent auf Critical setzen. Diese Alerts gehen per E-Mail oder Webhook raus. Wir hängen in der Praxis gerne einen Webhook ins interne Chat-System – dann sieht die IT das Problem, bevor der erste Anruf kommt.
Für größere Umgebungen lohnt sich ein Prometheus-Exporter mit Grafana-Dashboard. Das setzen wir im Rahmen unseres TrueNAS-Supports auf Wunsch mit auf – inklusive Alertmanager-Routing.
Typische Stolperfallen aus der Praxis
Snapshots fressen die Quota
Wir sehen es alle paar Monate: ein Dataset mit quota=500G, 400 GB Nutzdaten, aber eine „Disk voll”-Meldung. Die Ursache sind in 80 Prozent der Fälle alte Snapshots, die seit Monaten nicht aufgeräumt wurden. Ein kurzer Blick in zfs list -t snapshot -o name,used -r tank/abteilungen zeigt den Übeltäter. Lösung: Snapshot-Plan prüfen oder auf Refquota umstellen.
Reservation blockiert andere Datasets
Großzügige Reservations auf mehreren Datasets können dazu führen, dass der Pool als voll gemeldet wird, obwohl physisch noch 2 TB frei sind. Der Pool rechnet nämlich reservierten Platz als belegt. Wenn dann noch ein VM-Image per Zvol eine Refreservation hat, kommt es schnell zu Überraschungen. Immer prüfen: zpool list -v zeigt den tatsächlich freien Platz, zfs list die Pool-Sicht inklusive Reservations.
User-Quotas auf verschachtelten Datasets
User-Quotas gelten pro Dataset, nicht pro Pool. Wenn eine Abteilung über mehrere Datasets verteilt arbeitet, muss die User-Quota auf jedem einzeln gesetzt werden. Für Compliance-Umgebungen – etwa unter der CER-Richtlinie – lohnt sich eine zentrale Zuordnungs-Tabelle, damit nichts vergessen wird.
Wann DATAZONE das für Sie übernimmt
Wir setzen Quotas und Reservations im Rahmen der TrueNAS-Erstinbetriebnahme auf. Das heißt: wir analysieren die Abteilungs-Struktur, legen die Dataset-Hierarchie an, konfigurieren die Snapshots, dokumentieren die Grenzwerte und binden das Monitoring an. Später betreut Sie unser TrueNAS-Support bei Änderungen – zum Beispiel wenn eine Abteilung wächst oder ein neues Projekt gestartet wird.
Welche Hardware dafür Sinn ergibt, hängt vom Workload ab. Für den groben Rahmen empfehlen wir den TrueNAS-Konfigurator – dort können Sie Pool-Größe, Protokolle und RAID-Level durchspielen und bekommen eine Hardware-Empfehlung inklusive Richtpreis-Rahmen. Die aktuellen iXsystems-Appliances M30 und M40 sind für die meisten Mittelstandsszenarien die passende Wahl. Die älteren M50 und M60 sind seit diesem Jahr abgekündigt – wenn Sie noch eine im Haus haben, lohnt sich das Gespräch mit uns.
FAQ
Was ist der Unterschied zwischen ZFS Quota und ZFS Refquota?
Quota limitiert ein Dataset inklusive aller Snapshots und Child-Datasets. Refquota limitiert nur die referenzierten Daten, also das, was im Dateisystem aktuell sichtbar ist. In Mehrbenutzerumgebungen mit Snapshot-Plan nehmen Sie fast immer Refquota auf dem Nutz-Dataset und optional eine härtere Quota eine Ebene darüber.
Kann ich ZFS Quotas nachträglich auf bereits gefüllten Datasets setzen?
Ja. Wenn Sie eine Quota setzen, die kleiner als die aktuelle Belegung ist, blockiert ZFS neue Schreibvorgänge. Lesen und Löschen bleiben möglich. Nutzer müssen also erst aufräumen, bevor sie wieder schreiben können. Die TrueNAS-GUI warnt vor dem Setzen einer zu kleinen Quota.
Funktionieren User-Quotas auch mit SMB-Shares in Windows-Umgebungen?
Ja. ZFS bildet User-Quotas über den UID-Mapping-Mechanismus ab. In SMB-Shares erscheinen überschrittene Quotas als normaler „Datenträger voll”-Fehler, den Windows-Clients ohne Zusatzinformation anzeigen. Voraussetzung ist eine korrekte Benutzerauthentifizierung über Active Directory oder lokale Benutzer.
Was passiert, wenn eine Reservation den Pool überbucht?
ZFS verhindert das aktiv. Wenn Sie versuchen, eine Reservation zu setzen, die zusammen mit anderen Reservations den verfügbaren Pool-Platz übersteigen würde, bekommen Sie eine Fehlermeldung. Deshalb sollten Reservations immer bewusst und sparsam gesetzt werden – als Garantie für geschäftskritische Datasets, nicht pauschal für alle.
Reicht die TrueNAS-GUI oder brauche ich die CLI?
Für Standard-Setups bis etwa 20 Datasets reicht die GUI. Sobald Sie ein grösseres Hierarchie-Konstrukt oder Massen-Operationen fahren, ist die CLI deutlich effizienter. Für Dokumentation und Audit liefert zfs get all ohnehin die vollständigste Übersicht – unabhängig davon, womit die Werte gesetzt wurden.
Lassen sich Quotas und Reservations zusammen nutzen?
Ja, das ist sogar die typische Praxis: eine Refquota als Obergrenze und eine Refreservation als garantierter Puffer. Die Abteilung hat damit einen klaren Spielraum, in dem sie sicher arbeiten kann. Für geschäftskritische Datasets ist diese Kombination der sauberste Weg, Fairness und Verfügbarkeit zugleich abzubilden.
Mehr zu diesen Themen:
Weitere Artikel
TrueNAS Cloud Sync zu AWS S3, Backblaze B2 und Wasabi: wann sich der Hyperscaler-Umweg lohnt
TrueNAS Cloud Sync zu AWS S3, Backblaze B2 und Wasabi: Konfiguration, Verschlüsselung, Egress-Kosten und Restore-Dauer – wann Hyperscaler, wann Immutable, wann Rsync.
IT im Handwerk: wie ein Mittelständler mit 50 Mitarbeitern Proxmox und TrueNAS produktiv einsetzt
Anonymisierter Praxisfall: Handwerksbetrieb mit 50 Mitarbeitern, Baupläne, DATEV, mobile Bauleiter. Wie IT für Handwerk mit Proxmox und TrueNAS stabil läuft.
TrueNAS SMB-Sicherheit: AES-128/256, SMB3-Signing und was Admins im Mittelstand jetzt umstellen sollten
TrueNAS SMB Sicherheit richtig umsetzen: SMB1 abschalten, SMB3-Signing erzwingen, AES-128/256-GCM aktivieren und Audit-Logs sauber auswerten — Praxis für KMU.