Ich habe folgende Szenarien:
Einzelne Partition gemountet als /, mit viel Speicherplatz.
Es gibt eine Reihe von Verzeichnissen (/ pg / tbs1, / pg / tbs2, / pg / tbs3 usw.), und ich möchte die Gesamtgröße dieser Verzeichnisse begrenzen.
Eine Möglichkeit besteht darin, einige große Dateien zu erstellen, diese dann zu mkfs zu machen, über Loopback zu mounten und dann das Kontingent festzulegen. Dies macht die Erweiterung jedoch etwas problematisch.
Gibt es eine andere Möglichkeit, um das Kontingent pro Verzeichnis arbeiten zu lassen?
resize2fs
das Dateisystem vergrößern. Ich denke, die Verwendung von LVM ist eine bessere Lösung, aber die von Ihnen vorgeschlagene Lösung weist nicht die Einschränkungen auf, die Sie glauben.Antworten:
Wenn Sie ext3 verwenden müssen, ist LVM wahrscheinlich die beste Lösung. Erstellen Sie pro Projekt ein neues Dateisystem. Das würde ungefähr so aussehen:
Das Erweitern der Projektdateisysteme ist einfach:
quelle
Wenn Sie nicht auf Gruppenberechtigungen angewiesen sind, können Sie für jedes "Kontingentverzeichnis" eine andere UNIX-Gruppe verwenden und dann für jedes Verzeichnis das sgid-Bit festlegen (so dass erstellte Dateien und Verzeichnisse zur Gruppe des Verzeichnisses anstelle der primären Gruppe gehören des Erstellers), und verwenden Sie Gruppenkontingente.
quelle
Ja. Schauen Sie sich das XFS-Dateisystem und die Projektquote an. Andere Dateisysteme bieten diese Funktion nicht an.
quelle
Eigentlich wollte ich das eine Weile machen, weil ich nicht alle meine virtuellen E-Mail-Benutzer zu Systembenutzern machen wollte. ZFS-Dateisysteme mit Quoten wären großartig, und zfs-fuse macht jeden Tag Fortschritte, aber ich wollte eine sehr leichte Lösung. Schließlich habe ich beschlossen, ein FUSE-Dateisystem zu schreiben, das ich als Layer über ein anderes Dateisystem mounten kann (jedes Basisverzeichnis funktioniert tatsächlich). Es verfügt über ein Dienstprogramm zum Verwalten von Kontingenten, mit dem einfach Skripte erstellt werden können. Da Kontingentwerte nur als xattrs in Verzeichnissen oder Dateien gespeichert werden, kann ein Mountpunkt eine beliebige Anzahl von Kontingenten unterstützen.
Ich habe es eine Weile auf einem Mail-Server getestet und vor kurzem festgestellt, dass es das Jugendalter erreicht hat und bereit ist, es in die Freiheit zu entlassen. Wenn Sie neugierig sind, können Sie dies unter http://code.google.com/p/fusequota/ nachlesen . Über Feedback würde ich mich sehr freuen.
quelle
Neues Dateisystem für jeden freigegebenen Ordner ist IMHO Overkill. Erstellen Sie einfach eine neue Gruppe für jeden freigegebenen Ordner, setzen Sie die Eigentümergruppe des freigegebenen Ordners auf diese Gruppe, setzen Sie ein Sticky-Bit auf group (damit jede neue Datei und jedes neue Verzeichnis diese Gruppe als Eigentümer hat) und verwenden Sie für Berechtigungen für Dateien und Ordner ACL-Listen. Legen Sie dann Quoten für diese Gruppen fest.
quelle
Mir ist keine Methode bekannt, um Anführungszeichen pro Verzeichnis festzulegen.
Aber entlang Ihrer Idee, Dateisysteme mit einer begrenzten Größe zu erstellen. Dies könnte ein Ort sein, an dem lvm eine gute Lösung wäre.
Sie können lvm sichern / erneut installieren und verwenden, indem Sie Ihren logischen Volumes nur den minimalen Speicherplatz zuweisen . Es ist sehr leicht zu erweitern LVM Logical Volumes.
quelle