Quotas auf einzelnen Orden anwenden möglich

arcona

Well-Known Member
Hallo,
gibt es eine ordnerbasierte Disk-Quota unter FreeBSD? Also kann man die maximale Größe eines einzelnen Ordners begrenzen?

Ich könnte natürlich diesem Ordner einer neuen Gruppe zuordnen und dann für diese Gruppe einen Group-Quota festsetzen. Das genügt aber leider nicht meinem Anwendungsziel.

Ich möchte den maximalen Festplattenplatz einzlener Jails begrenzen. Nun kann ich nicht dem Ordner, welcher das Wurzelverzeichnis der Jail ist , rekurisv neue Gruppenrechte setzen. Wenn ich das mache, dann stimmen die Gruppenrechte innerhalb der Jail nicht mehr.

Kennt jemand eine Möglichkeit für diesen Anwendungsfall einen maximale Ordnergröße festzulegen, ohne dass ich für jede Jail ein eigenes Slice erstelle oder eine Containerdatei verwende?

Grüße.
craano.
 

Yamagi

Possessed With Psi Powers
Teammitglied
Mit UFS geht es nicht, dort sind Quota lediglich für komplette Dateisysteme möglich. Was du suchst, lässt sich mit ZFS realisieren. Einfach ein jedes dieser Verzeichnisse in ein eigenes Dataset, diesem eine maximale Größe zuweisen und fertig :)
 

arcona

Well-Known Member
OK, danke.
ZFS ist ganz neu für mich.
Wenn ich ein dataset erstellen will, muss ich dafür eine neue Partition/Slice erstellen oder kann ich einen belieben Ordner nehmen.

Etwas so
Code:
zfs create tank /home/begrenzt

Wenn ich das richtig verstanden habe genügt (wenn ich denn irgendwie so ein Dataset erstellt habe) ein
Code:
 zfs set quota=10G tank/home/begrenzt

Grüße.
craano
 

Manga

Well-Known Member
quotas gehen auch unter zfs nur auf mit zfs create angelegten Dateisystemen, nicht auf normale Ordner (Jedenfalls unter Opensolaris ist das so).
Was aber sicher auch wesentlich handlicher ist als mit ufs werkzeugen.
 

arcona

Well-Known Member
Hallo,
vielen Dank für den Hinweis auf ZFS. Nachdem ich mich ein wenig eingelsesen habe, ist es sehr einfach Quotas auf einzelne "Ordner" anzuwenen.

Meine Lösung sieht nun wie folgt aus:
Am besten hat man ein unbenutzes Slice oder eine ganze Festplatte zur Verfügung. Eine Container-Datei tut es auch, hat aber den Nachteil, dass der zur Verfügung gestellte Plattenplatz schon gleich komplett belegt ist, egal ob in dem Dateisystem Daten gespeichert sind oder nicht.
Code:
# zpool create pool1 /dev/ad1
# zfs create pool1/begrenzt
# zfs set quota=10G
Das war es schon. Das dataset wird automatisch eingehängt. Man findet es unter /pool1/begrenzt und kann max 10GB Daten darin speichern.

Grüße.
arcona
 
Oben