[gelöst] NFS Server und QUOTA für Ordner
[gelöst] NFS Server und QUOTA für Ordner
Ich habe einen NFS Server an welchem sich meine LDAP User mit Kerberos authentifizieren.
Hat jemand eine Info für mich wie ich für bestimmte Ordner eine QUOTA setzten kann. Ich möchte die Speichergröße für bestimmte Ordner beschränken.
Vielen Dank.
Hat jemand eine Info für mich wie ich für bestimmte Ordner eine QUOTA setzten kann. Ich möchte die Speichergröße für bestimmte Ordner beschränken.
Vielen Dank.
Zuletzt geändert von joe2017 am 22.03.2019 11:46:44, insgesamt 1-mal geändert.
Re: NFS Server und QUOTA für Ordner
Ich habe zwar schon gesehen, dass man das mit quota erledigen kann, jedoch ist dies nur auf FILESYSTEME bzw. MOUNTS beschränkt.
Ich muss jedoch eine Größenbeschränkung für einzelne Ordner festlegen.
Ich muss jedoch eine Größenbeschränkung für einzelne Ordner festlegen.
-
- Beiträge: 5536
- Registriert: 30.12.2004 15:31:07
- Wohnort: Wegberg
Re: NFS Server und QUOTA für Ordner
Hallo
Wenn du zfs benutzt, geht das .
mfg
schwedenmann
Wenn du zfs benutzt, geht das .
mfg
schwedenmann
Re: NFS Server und QUOTA für Ordner
Und wenn nicht? Ich komme aktuell aus der Microsoft Welt und bin dabei alles auf Debian umzustellen.
Bei dem Microsoft Server geht das relativ simpel mit Ordnern. Kann mir irgendwie nicht vorstellen, dass Linux das nicht beherschen soll!?
Bei dem Microsoft Server geht das relativ simpel mit Ordnern. Kann mir irgendwie nicht vorstellen, dass Linux das nicht beherschen soll!?
- heisenberg
- Beiträge: 3670
- Registriert: 04.06.2015 01:17:27
- Lizenz eigener Beiträge: MIT Lizenz
Re: NFS Server und QUOTA für Ordner
AFAIK geht das so direkt nicht.
Das geht immer nur auf Dateisystemebene. für Gruppen bzw. Benutzer. Bei zfs und btrfs kann man aber mal eben schnell ein eigenes "Sub"-Dateisystem mit einer festen Grösse erzeugen, dass man dann auf einen Ordner einhängt. Ich finde das fummelig und eher eine unsaubere Lösung.
Alternativer Ansatz wäre mit LVM ein Logical Volume von der Grösse zu erzeugen. Das wäre ähnlich unschön, aber wahrscheinlich der Weg den ich wählen würde, weil ich mit LVM schon viel und lang gearbeitet habe und diese Lösung als absolut problemlos sehe(Könnten die anderen auch sein).
Siehe hier: https://serverfault.com/questions/10059 ... -directory
Ich fand/finde es auch schade, dass das nicht geht, zumal das Novell schon vor 25 Jahren konnte. Würde mich freuen, wenn es eine bessere gäbe.
Das geht immer nur auf Dateisystemebene. für Gruppen bzw. Benutzer. Bei zfs und btrfs kann man aber mal eben schnell ein eigenes "Sub"-Dateisystem mit einer festen Grösse erzeugen, dass man dann auf einen Ordner einhängt. Ich finde das fummelig und eher eine unsaubere Lösung.
Alternativer Ansatz wäre mit LVM ein Logical Volume von der Grösse zu erzeugen. Das wäre ähnlich unschön, aber wahrscheinlich der Weg den ich wählen würde, weil ich mit LVM schon viel und lang gearbeitet habe und diese Lösung als absolut problemlos sehe(Könnten die anderen auch sein).
Siehe hier: https://serverfault.com/questions/10059 ... -directory
Ich fand/finde es auch schade, dass das nicht geht, zumal das Novell schon vor 25 Jahren konnte. Würde mich freuen, wenn es eine bessere gäbe.
Re: NFS Server und QUOTA für Ordner
Was ich bei QUOTA nicht ganz verstanden habe. Setze ich die quota auf dem Server oder dem Client? Es sieht irgendwie immer so aus, als ob die quota auf dem Client nach dem mount gesetzt werden. Das wäre natürlich ein rießiger Aufwand.
Re: NFS Server und QUOTA für Ordner
Hat noch jemand eine Idee wie man Quotas für Ordner auf einem NFS-Server einrichten kann?
Gibt es hier mittlerweile etwas neues?
Gibt es hier mittlerweile etwas neues?
Re: NFS Server und QUOTA für Ordner
So würde ich das mal probieren:
Neue Gruppe anlegen, den Ordner der Gruppe übergeben (chgrp) und eine Gruppenquota setzen (auf dem Server). Zusätzlich per chmod g+s /folder das Group ID bit setzen, damit neue Objekte der Gruppe angehören. (bestehende Unterordner auch so behandeln, neu erstellte sollten das erben)
Und natürlich die betreffenden Nutzer der Gruppe hinzufügen.
Neue Gruppe anlegen, den Ordner der Gruppe übergeben (chgrp) und eine Gruppenquota setzen (auf dem Server). Zusätzlich per chmod g+s /folder das Group ID bit setzen, damit neue Objekte der Gruppe angehören. (bestehende Unterordner auch so behandeln, neu erstellte sollten das erben)
Und natürlich die betreffenden Nutzer der Gruppe hinzufügen.
- jph
- Beiträge: 1053
- Registriert: 06.12.2015 15:06:07
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Greven/Westf.
Re: NFS Server und QUOTA für Ordner
Du musst die Quotas auf dem Dateisystem setzen. Der NFS-Server selbst implementiert m.W. keine Quota-Überwachung.joe2017 hat geschrieben:25.06.2018 13:55:30Hat jemand eine Info für mich wie ich für bestimmte Ordner eine QUOTA setzten kann. Ich möchte die Speichergröße für bestimmte Ordner beschränken.
Re: NFS Server und QUOTA für Ordner
Ich möchte ja keine Quota auf eine ganze Partition, sondern z.B. für meine Home Laufwerke (Ordner) für jeden Benutzer eine zulässige Größe einstellen.
Ich habe quasi eine NFS Mount Freigabe für Home und jeder User sollte nur eine bestimmte Größe (200MB) zur Verfügung haben.
Ich habe quasi eine NFS Mount Freigabe für Home und jeder User sollte nur eine bestimmte Größe (200MB) zur Verfügung haben.
Code: Alles auswählen
/folder/home/user01
/folder/home/user02
/folder/home/user03
usw.
Re: NFS Server und QUOTA für Ordner
Quota gibt es nur pro Partition. Wenn deine Home-Verzeichnisse limitiert werden sollen, mußt du die Partition, auf dem die Homes liegen, mit Quota versehen. Wenn es sich dabei um einen NFS-Server handelt, mußt du die Quotas auf dem NFS-Sever festlegen.joe2017 hat geschrieben:15.02.2019 12:46:20Ich möchte ja keine Quota auf eine ganze Partition, sondern z.B. für meine Home Laufwerke (Ordner) für jeden Benutzer eine zulässige Größe einstellen.
Quota pro Verzeichnis geht nicht.
Re: NFS Server und QUOTA für Ordner
Das würde mich jetzt echt wundern wenn das in der Debian Welt nicht funktioniert. Unter Windows Server kann man das ganz simpel anlegen. Das wäre natürlich sehr ärgerlich.
Vor allem weil ich dann nur eine Quota Größe angeben kann und nicht für unterschiedliche Benutzer unterschiedliche Größen.
Vor allem weil ich dann nur eine Quota Größe angeben kann und nicht für unterschiedliche Benutzer unterschiedliche Größen.
Re: NFS Server und QUOTA für Ordner
Dann wundere dich halt. Das Quota-Konzept stammt noch aus Unix-Tagen und hat dort noch nie anders funktioniert. Quota waren dort schon immer nutzerbezogen und pro Partition festzulegen.joe2017 hat geschrieben:15.02.2019 13:41:13Das würde mich jetzt echt wundern wenn das in der Debian Welt nicht funktioniert.
Nur so kann man nämlich verhindern, das ein Nutzer, der auf 200MB limitiert ist, Dateien einfach in einem anderen als seinem Verzeichnis anlegt, um die Quota zu umgehen.
Linux ist nicht Windows, und nicht alles, was unter Windows "ganz einfach" geht, ist gut oder sinnvoll.Unter Windows Server kann man das ganz simpel anlegen.
Du kannst für jeden Nutzer ein anderes Quota festlegen. Das war ebenfalls schon immer so.Vor allem weil ich dann nur eine Quota Größe angeben kann und nicht für unterschiedliche Benutzer unterschiedliche Größen.
Re: NFS Server und QUOTA für Ordner
Das bedeutet, ich müsste mit unterschiedlichen Partitionen arbeiten um eine quota nur für /home festzulegen.
Das wäre prinzipiell auch noch machbar. Danke schon mal für den Tipp. Das werde ich mir gleich am Montag mal ansehen!
Das wäre prinzipiell auch noch machbar. Danke schon mal für den Tipp. Das werde ich mir gleich am Montag mal ansehen!
Re: NFS Server und QUOTA für Ordner
Das kommt auf die Auslegung deines Plattenplatzes an.joe2017 hat geschrieben:15.02.2019 15:25:56Das bedeutet, ich müsste mit unterschiedlichen Partitionen arbeiten um eine quota nur für /home festzulegen.
OK, die schriebst ja, daß deine Homes per NFS angebunden sind. Dann wäre es tatsächlich sinnvoll, auf dem NFS-Server eine eigene Partition für die Homes anzulegen, zu exportieren und die Quotas auf dieser Partition festzulegen.
Re: NFS Server und QUOTA für Ordner
Auf einer Partition kann man für viele User jeweils unterschiedliche Quotas festlegen. Und da es um Home-Verzeichnisse geht, braucht es den Umweg mit den Gruppen nicht, die Angabe kam bisher irgendwie nicht, oder ich hab das überlesen.
- heisenberg
- Beiträge: 3670
- Registriert: 04.06.2015 01:17:27
- Lizenz eigener Beiträge: MIT Lizenz
Re: NFS Server und QUOTA für Ordner
Ich habe mir das immer gewünscht, Quotas auf Verzeichnisebene setzen zu können. Es ist wirklich schade, dass das nicht geht. Man muss hier leider mit Quotas auf Dateisystemebene/Subvolumeebene arbeiten. Die ganzen Würgarounds dazu (Verzeichnis suid,...) sind nicht wirklich toll.
Zuletzt geändert von heisenberg am 15.02.2019 17:40:43, insgesamt 1-mal geändert.
- jph
- Beiträge: 1053
- Registriert: 06.12.2015 15:06:07
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Greven/Westf.
Re: NFS Server und QUOTA für Ordner
Jein. Das kommt auf das Dateisystem an. btrfs bspw. steuert die Quotas auf Ebene der Subvolumes, was dir eine Partitionierung erspart. Du ersetzt dann je User das Home-Verzeichnis durch ein Subvolume gleichen Namens. Das erspart dir eine Vielzahl von Partitionen anzulegen, die alle einzeln gemountet werden müssen. Ein Subvolume ist aus Usersicht nicht von einem Verzeichnis zu unterscheiden.joe2017 hat geschrieben:15.02.2019 15:25:56Das bedeutet, ich müsste mit unterschiedlichen Partitionen arbeiten um eine quota nur für /home festzulegen.
Weiterhin verbrät eine Partition von, sagen wir mal 200 MB Größe, pauschal 200 MB Plattenplatz unabhängig davon, wieviel davon belegt ist. Für 10 User musst du also 2.000 MB Platz vorhalten. Bei Nutzung von Subvolumes und Quotas kannst du „überbuchen“ unter der Annahme, dass nicht jeder Anwender die 200 MB voll in Anspruch nehmen wird. Bei angenommener mittlerer Nutzung von 100 MB packst du 20 User rein usw.
zfs kann das sicher auch, aber damit kenne ich mich nicht aus.
Re: NFS Server und QUOTA für Ordner
Ich dachte jetzt auch nicht daran, für jeden einzelnen Benutzer bzw. Home Verzeichnis eine Partition zu erstellen.
Ich habe das so verstanden, das ich eine Partition habe auf welche ich alle Homeverzeichnisse anlege. Und auf dieser Partition erstelle ich dann meine QUOTAS für die einzelnen Benutzer.
Bsp.:
Home Partition mit Verzeichnissen
QUOTA
Ich habe das so verstanden, das ich eine Partition habe auf welche ich alle Homeverzeichnisse anlege. Und auf dieser Partition erstelle ich dann meine QUOTAS für die einzelnen Benutzer.
Bsp.:
Home Partition mit Verzeichnissen
Code: Alles auswählen
/User1
/User2
/User3
Code: Alles auswählen
User1 200MB
User2 300MB
User3 400MB
Re: NFS Server und QUOTA für Ordner
Entschuldige, dass ich erst jetzt wieder schreibe, jedoch war ich krankheitsbedingt zu Hause.
Ich habe jetzt eine neue Partition erstellt, meine quota auf dem Server installiert und mein mount mit der quota Angabe bereitgestellt.
sudo apt install quota quotatool
sudo nano /etc/fstab
sudo repquota /media/vda3/
Jedoch kann mein Client den mountpoint jetzt nicht mehr mounten. Woran könnte das liegen?
Client:
sudo nano /etc/fstab
Ich habe jetzt eine neue Partition erstellt, meine quota auf dem Server installiert und mein mount mit der quota Angabe bereitgestellt.
sudo apt install quota quotatool
sudo nano /etc/fstab
Code: Alles auswählen
/dev/vda3 /media/vda3 ext3 rw,grpquota,usrquota 0 0
Code: Alles auswählen
*** Report für user Quotas auf Gerät /dev/vda3
Blockgnadenfrist: 7days; Inodegnadenfrist: 7days
Block Limits Dateilimits
Benutzer belegt weich hart Gnade belegt weich hart Gnade
----------------------------------------------------------------------
root -- 45948 0 0 19 0 0
user1 -- 99908 0 0 1063 0 0
Code: Alles auswählen
mount.nfs4: access denied by server while mounting "Path"
sudo nano /etc/fstab
Code: Alles auswählen
nfsServer://media/vda3/home/users /home/users nfs4 sec=krb5i,rw,sync,users,_netdev,noauto,x-systemd.automount 0 0
Re: NFS Server und QUOTA für Ordner
Ich habe jetzt noch einmal alle mounts zurückgestellt und wieder freigegeben und auf einmal ging es.
Ich habe keine Ahnung weshalb?
Jedoch habe ich noch eine andere Frage bzw. schwerwiegendes Problem.
Wenn der Speicher überschritten wird, wird die Datei dennoch bis zum freien Speicher angelegt. Somit wird hierbei die Datei zerstört! Kann man das verhindern?
Beispiel.
Ich habe noch 15MB Speicherplatz frei und kopiere eine Datei mit 20MB. Die Datei wird mit 15MB angelegt und die restlichen 5MB werden verboten. Somit habe ich eine defekte Datei mit 15MB anstatt 20MB auf meinem Laufwerk liegen. Wenn ein User das nicht kontrolliert gibt das ein ziemliches CHAOS! Kann man das irgendwie verhindern? Das die Datei erst gar nicht angelegt wird, wenn der Speicher nicht ausreicht?
Zusätzlich kann man den Papierkorb nicht mehr leeren wenn kein einziges Byte mehr zur Verfügung steht. Das ist auch äußerst unschön!
Wie kann ich das abfangen?
Vielen Dank!
Ich habe keine Ahnung weshalb?
Jedoch habe ich noch eine andere Frage bzw. schwerwiegendes Problem.
Wenn der Speicher überschritten wird, wird die Datei dennoch bis zum freien Speicher angelegt. Somit wird hierbei die Datei zerstört! Kann man das verhindern?
Beispiel.
Ich habe noch 15MB Speicherplatz frei und kopiere eine Datei mit 20MB. Die Datei wird mit 15MB angelegt und die restlichen 5MB werden verboten. Somit habe ich eine defekte Datei mit 15MB anstatt 20MB auf meinem Laufwerk liegen. Wenn ein User das nicht kontrolliert gibt das ein ziemliches CHAOS! Kann man das irgendwie verhindern? Das die Datei erst gar nicht angelegt wird, wenn der Speicher nicht ausreicht?
Zusätzlich kann man den Papierkorb nicht mehr leeren wenn kein einziges Byte mehr zur Verfügung steht. Das ist auch äußerst unschön!
Wie kann ich das abfangen?
Vielen Dank!
Re: NFS Server und QUOTA für Ordner
Hat hier keiner eine Idee?
Re: NFS Server und QUOTA für Ordner
Wenn <Benutzer> in seiner Anwendung auf Speichern klickt (Word, Libreoffice, wasauchimmer), ist es Aufgabe der Anwendung mit Fehlern umzugehen bzw. den Benutzer zu informieren, dass das speichern nicht geklappt hat weil ... Der Fehler ist mit <Festplatte voll> vergleichbar.
Wie soll das abgefangen werden, wenn der Nutzer anfängt eine Datei auf 15MB freien Speicher zu schreiben, woher soll das OS wissen ob jetzt noch 10MB (geht) oder 20 MB (geht nicht) nachkommen?
Du kannst eventuell mit soft quota experimentieren, die bringen eine Warnung, aber man kann bis zur hard quota schreiben. Aber das verlagert nur das Problem, die Nutzer müssen trotzdem die Meldung lesen und verstehen, nicht nur wegklicken.
Wie soll das abgefangen werden, wenn der Nutzer anfängt eine Datei auf 15MB freien Speicher zu schreiben, woher soll das OS wissen ob jetzt noch 10MB (geht) oder 20 MB (geht nicht) nachkommen?
Du kannst eventuell mit soft quota experimentieren, die bringen eine Warnung, aber man kann bis zur hard quota schreiben. Aber das verlagert nur das Problem, die Nutzer müssen trotzdem die Meldung lesen und verstehen, nicht nur wegklicken.
Re: NFS Server und QUOTA für Ordner
Das Problem ist, daß der Sever erst in dem Moment, in dem die Überschreitung stattfindet, die Sperre wirksam werden lassen kann. Daß ein User 20MB schreiben möchte, weiß der Server ja nicht im Voraus. Das gleiche Problem taucht auf, wenn du auf eine Festplatte, auf der gerade noch 15MB frei sind, eine 20MB-Datei schreiben willst.
Quota erlaubt aber auch sogenannte Grace-Limits oder Soft-Limits. Man kann die Begrenzung dann um einen gewissen Betrag und für eine bestimmte Zeit überschreiten. Das verlagert das Problem aber nur. Deine 20MB-Datei mag dann vielleichtnoch durchgehen. Aber was soll der Server machen, wenn selbst dieser Grace-Betrag überschritten wird? Im Grunde ist das auch nur ein Aufschieben der Grenze, an das sich die Benutzer gewöhnen werden und dann doch ständig am Limit operieren werden.
Eigentlich ist es auch Aufgabe der Anwendung, abzufangen, wenn eine Datei nicht komplett geschrieben werden kann. Ich weiß aber, daß gerade das von den Programmierern gerne schlampig behandelt wird und nicht nach jedem Schreibvorgangn der Erfolg/Mißerfolg geprüft wird.
Das ganze ist ein soziales Problem, für das es keine technische Lösung gibt. Wenn einzelne Benutzer ständig an der Grenze ihres zugeteilten Speichers operieren, dann ist das schlicht unsoziales Verhalten. Wenn es gute Gründe gibt (z.B. weil jemand große Projekte bearbeiten muß), muß man dem Benutzer eben ein höheres Quota geben.
Quota erlaubt aber auch sogenannte Grace-Limits oder Soft-Limits. Man kann die Begrenzung dann um einen gewissen Betrag und für eine bestimmte Zeit überschreiten. Das verlagert das Problem aber nur. Deine 20MB-Datei mag dann vielleichtnoch durchgehen. Aber was soll der Server machen, wenn selbst dieser Grace-Betrag überschritten wird? Im Grunde ist das auch nur ein Aufschieben der Grenze, an das sich die Benutzer gewöhnen werden und dann doch ständig am Limit operieren werden.
Eigentlich ist es auch Aufgabe der Anwendung, abzufangen, wenn eine Datei nicht komplett geschrieben werden kann. Ich weiß aber, daß gerade das von den Programmierern gerne schlampig behandelt wird und nicht nach jedem Schreibvorgangn der Erfolg/Mißerfolg geprüft wird.
Das ganze ist ein soziales Problem, für das es keine technische Lösung gibt. Wenn einzelne Benutzer ständig an der Grenze ihres zugeteilten Speichers operieren, dann ist das schlicht unsoziales Verhalten. Wenn es gute Gründe gibt (z.B. weil jemand große Projekte bearbeiten muß), muß man dem Benutzer eben ein höheres Quota geben.