Zum Inhalt springen

Quota: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 149: Zeile 149:


== Konfiguration ==
== Konfiguration ==
=== Das System auf Quota vorbereiten ===
==== Kernelkonfiguration ====
Bei der Kernelkonfiguration muss man auf die Frage mit ''y'' antworten.
==== Kompilieren und Installieren der Quota Software ====
Den Source von der Quota Software findet man unter <code>[./Ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota/ ftp.funet.fi:/pub/Linux/PEOPLE/Linus/subsystems/quota/]</code>Eventuell ist es günstiger, die Software von einem Mirror zu laden, da obengenannter Server die meiste Zeit überlastet ist.
==== Anpassen der /etc/fstab ====
Auf einem System, auf dem Quota noch nie zum Einsatz kam, sieht die <code>/etc/fstab</code> normalerweise so aus: Falls man ''Benutzerquota'' einsetzen möchte, muss man die Option ''usrquota'' einsetzen; das Ergebnis könnte dann zum Beispiel so aussehen: Falls man ''Gruppenquota'' einsetzen möchte, muss man die Option ''grpquota'' einsetzen; das Ergebnis könnte dann zum Beispiel so aussehen: Falls beide obengenannten Optionen benötigt werden:
==== Erstellen der Dateien quota.user und quota.group ====
Auf den vorhergehenden Seiten wurde erwähnt, das es ''Benutzerquota'' und ''Gruppenquota'' gebe und das die Quota für jede Partition einzeln überwacht werde.
* Aus diesen Gründen muss man für jede zu überwachende Partition zwei Dateien erstellen.
* Auch wenn nur Benutzerquota oder Gruppenquota zum Einsatz kommen, muss man zwei Dateien haben.
Diese zwei Dateien müssen im Wurzelverzeichnis der Partition sein und <code>quota.user</code> und <code>quota.group</code> heissen.
* Am besten setzt man die Zugriffsrechte so, das nur root die Datei lesen und schreiben darf, ansonsten könnten andere Benutzer die Quota ändern.
* Die Dateien erstellt man so: In dem Beispiel wird davon ausgegangen, dass die zu überwachende Partition unter <code>/partition</code> gemountet ist.
* Das man diese Operation als root durchführen muss, muss wohl nicht speziell erwähnt werden.
==== Nachträglich eine Partition einbinden ====
Falls man alle Quota schon gesetzt hat, und eine weitere Partition einbinden will, so müssen nur die Schritte in den Abschnitten Anpassen der /etc/fstab und Erstellen der Dateien quota.user und quota.group für die einzubindende Partition durchgeführt werden.
* Dann kann man die Quota wie im Abschnitt Setzen der Quota beschrieben anpassen.
==== Änderungen wirksam machen ====
Nun könnte man einfach das System rebooten, um die Änderungen wirksam zu machen.
* Aber wir betreiben ja ein Linux System und da geht fast alles ohne neu zu booten.
* Um die Quotas nun tatsächlich zu aktivieren, genügt es, einfach die entsprechende Partition unzumounten und wieder zu mounten.
* Einfacher geht dies indem man <code>mount</code> mit der Option ''-o remount'' aufruft.
* Beispielweise: Im Falle des Wurzelverzeichnisses ist dies sogar die einzige Möglichkeit, da wir <code>/</code> nicht einfach im laufenden Betrieb unmounten können.
Sollen in Zukunft weitere Dateisysteme mit Quotas versehen werden, müssen nur noch die Schritte, die in den Abschnitten Erstellen der Dateien quota.user und quota.group, Nachträglich eine Partition einbinden sowie Änderungen wirksam machen beschrieben werden, ausgeführt werden.
=== Dateien ===
=== Dateien ===
{| class="wikitable options big"
{| class="wikitable options big"

Version vom 11. November 2025, 21:44 Uhr

Quota - Beschreibung

Beschreibung

Installation

sudo apt install quota
Optional
sudo apt install quotatool

Aufruf

Optionen

Unix GNU Parameter Beschreibung

Parameter

Umgebungsvariablen

Exit-Status

Wert Beschreibung
0 Erfolg
>0 Fehler

Anwendung

Quota setzen

Diese Operation wird mit dem Programm edquota durchgeführt.

  • Falls man mehr über dieses Programm erfahren möchte, dem sei die Manual Page des Programms ans Herz gelegt.

Vorbereitung

Zuerst muss mit der Platzverbrauch der einzelnen Benutzer erfasst werden.

  • Je nach Grösse der Partition(en) und dem belegten Speicherplatz kann dies unterschiedlich lange dauern.

Benutzerquota setzen

Angenommen, ich habe auf meinem System einen Benutzer mit dem Loginnamen tom.

  • Wenn ich seine Quota setzen oder ändern möchte, rufe ich das Programm auf.
  • Dann lande ich in dem Editor, der in der Variable $EDITOR spezifiziert ist.
  • Normalerweise ist das vi.
  • Das könnte dann zum Beispiel so aussehen: Hier nun jede Zeile einzeln erklärt: Hier steht der Name des Benutzers, dessen Quota man gerade bearbeitet. Hier steht die Partition, auf die sich die Angaben beziehen (in diesem Fall /dev/hda9) und wieviele Blöcke der Benutzer schon benutzt.
  • In den Klammern kann man die Softlimite und die Hardlimite für die Anzahl Blöcke festlegen.
  • Ein Wert von Null bedeutet unbegrenzt. Diese Zeile bezieht sich auf die gleiche Partition wie die vorhergehende.
  • Hier kann der Systemadministrator ablesen, wieviele Inoden der Benutzer schon gebraucht hat.
  • Eine Inode entspricht einer Datei.
  • In den Klammern kann man hier die Softlimite und die Hardlimite für die Anzahl der Inoden festlegen.
  • Auch hier bedeutet ein Wert von Null unbegrenzt. Diese beiden Zeilen haben die gleiche Bedeutung wie die beiden anderen, beziehen sich jedoch auf eine andere Partition: in diesem Fall /dev/hda2.

Gruppenquota setzen

Angenommen, ich möchte die Quota für ein bestimmte Gruppe setzen.

  • Falls ich dies für die Gruppe users tun will, rufe ich auf.
  • Dann erscheint wieder der Editor; das sieht dann zum Beispiel so aus: Die Optionen sind dieselben wie oben, deshalb werde ich nicht noch einmal daraufeingehen.

Quota für mehrere Benutzer vergeben

Hier ist eine Lösung, wie man mehreren Benutzer die gleiche Quota wie dem Benutzer tom geben kann.

  • Dazu muss man aber die csh als Shell benutzen: Bei diesem Beispiel wird angenommen, das die UIDs von 500 an aufwärts vergeben worden sind.
  • Falls dies nicht der Fall ist, muss man die Zahl 499 in dem Beispiel anpassen.

Die Grace Period setzen

Zu guter letzt kann man noch die Grace Period setzen.

  • Dazu ruft man auf.
  • Dann gelangt man wieder in seinen Lieblingseditor und kriegt folgendes zu sehen: Hier kann man die Grace Period einstellen.
  • Auch hier muss man sie für jede Partition getrennt setzen.
  • Hinter block grace period folgt die Zeitspanne für das Block-Limit, hinter file grace period die Zeitspanne für die Inoden-Limite.
  • Mögliche Werte sind Tage (days), Stunden (hours), Minuten (minutes) und Sekunden (seconds).
  • Ein guter Wert ist sieben Tage.

Starten und beenden der Quotaüberwachung

Manuell

Zum Starten und Beenden der Quotaüberwachung werden die Programme quotaon und quotaoff benötigt.

Mit wird die Quotaüberwachung eingeschaltet, mit wird sie ausgeschaltet.

Mit einem Skript

Am besten wäre es, wenn man die Quotaüberwachung schon beim Systemstart einschalten könnte.

  • Dazu kann man sich folgenden Skriptes bedienen: Das Skript erwartet einen Parameter, nämlich start oder stop.
  • Mit dem Paramter start wird die Quotaüberwachung gestartet, mit dem Parameter stop wird sie beendet.

Falls man das Skript von Hand starten möchte, kann man es in eine beliebiges Verzeichnis kopieren, und dann durchführen. /pfad/skriptname muss noch durch den wirklichen Skriptnamen und dessen Pfad ausgetauscht werden.

  • Um es zu starten, wechselt man in das Verzeichnis, in dem sich das Skript befindet und gibt dann ./skriptname ein.
  • Auch hier muss skriptname noch ersetzt werden.

Falls man es als Init-Skript benutzen will, muss man das Skript zuerst nach /etc/init.d (bei SuSE-Linux/ /sbin/init.d) kopieren.

  • Am besten nennt man es quota.
  • Dann führt man folgende Schritte durch: Ab jetzt wird die Quotaüberwachung bei jedem Systemstart aktiviert.

Verschiedene Kommandos

Quota

Der Befehl quota ist für die Benutzer gedacht.

  • Damit können Sie sich ihren aktuellen Stand ansehen: Hier sieht der Benutzer, wieviel Blöcke und Inoden er in Benutzung hat und wie seine Quota gesetzt ist.
  • Sobald er eine seiner Softlimiten überschreitet, wird in der Spalte grace die noch nicht abgelaufene Grace Period angezeigt.
  • Ausserdem wird der Wert, den der Benutzer überschritten hat, durch einen Stern markiert: Hier sieht der Benutzer, dass er sein Inoden-Soft-Limit überschritten hat.
  • Die Grace Period dauert nun noch 15.
  • Leider wird nicht angezeigt, was für eine Einheit die Grace Period hat.
  • Hoffentlich wird dies in zukünftigen Versionen der Quota Software geändert.

Quotacheck

Das Programm quotacheck wurde vorher schon einmal erwähnt. quotacheck erfasst den Platzverbrauch der einzeln Benutzer und Gruppen auf den Partitionen, auf den Quota eingeschaltet ist und schreibt die Ergebnisse in die Dateien quota.user und quota.group.

Repquota

repquota erzeugt eine tabellarische Übersicht über die gesetzen Quota und den Platzverbrauch der Benutzer und Gruppen.

  • Die ausführlichste Übersicht erhält man mit Das führt zu folgender Ausgabe:

Quotaon und Quotaoff

Um Quota an- bzw. auszuschalten:

sudo quotaon -a
sudo quotaoff -a 

Quotacheck

Quotacheck scannt das Dateisystem nach der aktuellen Plattenauslastung:

sudo quotacheck -avugm 
quotacheck: Scanning /dev/sda1 [/] done
quotacheck: Checked 22685 directories and 177183 files

Repquota

Repquota liefert einen Bericht:

sudo repquota / 
*** Report for user quotas on device /dev/sda1
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      -- 3770548       0       0         198636     0     0
daemon    --      56       0       0              5     0     0
...
otto      +-  102524   95000  120000  6days       7     0     0

Problembehebung

Konfiguration

Das System auf Quota vorbereiten

Kernelkonfiguration

Bei der Kernelkonfiguration muss man auf die Frage mit y antworten.

Kompilieren und Installieren der Quota Software

Den Source von der Quota Software findet man unter [./Ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota/ ftp.funet.fi:/pub/Linux/PEOPLE/Linus/subsystems/quota/]Eventuell ist es günstiger, die Software von einem Mirror zu laden, da obengenannter Server die meiste Zeit überlastet ist.

Anpassen der /etc/fstab

Auf einem System, auf dem Quota noch nie zum Einsatz kam, sieht die /etc/fstab normalerweise so aus: Falls man Benutzerquota einsetzen möchte, muss man die Option usrquota einsetzen; das Ergebnis könnte dann zum Beispiel so aussehen: Falls man Gruppenquota einsetzen möchte, muss man die Option grpquota einsetzen; das Ergebnis könnte dann zum Beispiel so aussehen: Falls beide obengenannten Optionen benötigt werden:

Erstellen der Dateien quota.user und quota.group

Auf den vorhergehenden Seiten wurde erwähnt, das es Benutzerquota und Gruppenquota gebe und das die Quota für jede Partition einzeln überwacht werde.

  • Aus diesen Gründen muss man für jede zu überwachende Partition zwei Dateien erstellen.
  • Auch wenn nur Benutzerquota oder Gruppenquota zum Einsatz kommen, muss man zwei Dateien haben.

Diese zwei Dateien müssen im Wurzelverzeichnis der Partition sein und quota.user und quota.group heissen.

  • Am besten setzt man die Zugriffsrechte so, das nur root die Datei lesen und schreiben darf, ansonsten könnten andere Benutzer die Quota ändern.
  • Die Dateien erstellt man so: In dem Beispiel wird davon ausgegangen, dass die zu überwachende Partition unter /partition gemountet ist.
  • Das man diese Operation als root durchführen muss, muss wohl nicht speziell erwähnt werden.

Nachträglich eine Partition einbinden

Falls man alle Quota schon gesetzt hat, und eine weitere Partition einbinden will, so müssen nur die Schritte in den Abschnitten Anpassen der /etc/fstab und Erstellen der Dateien quota.user und quota.group für die einzubindende Partition durchgeführt werden.

  • Dann kann man die Quota wie im Abschnitt Setzen der Quota beschrieben anpassen.

Änderungen wirksam machen

Nun könnte man einfach das System rebooten, um die Änderungen wirksam zu machen.

  • Aber wir betreiben ja ein Linux System und da geht fast alles ohne neu zu booten.
  • Um die Quotas nun tatsächlich zu aktivieren, genügt es, einfach die entsprechende Partition unzumounten und wieder zu mounten.
  • Einfacher geht dies indem man mount mit der Option -o remount aufruft.
  • Beispielweise: Im Falle des Wurzelverzeichnisses ist dies sogar die einzige Möglichkeit, da wir / nicht einfach im laufenden Betrieb unmounten können.

Sollen in Zukunft weitere Dateisysteme mit Quotas versehen werden, müssen nur noch die Schritte, die in den Abschnitten Erstellen der Dateien quota.user und quota.group, Nachträglich eine Partition einbinden sowie Änderungen wirksam machen beschrieben werden, ausgeführt werden.

Dateien

Datei Beschreibung


Anhang

Siehe auch



Dokumentation

Links

Projekt

Weblinks

  1. https://www.linuxhaven.de/dlhp/HOWTO/mini/DE-Quota-HOWTO.html


TMP

Disk Quota (englisch disk ‚Festplatte‘ und quota ‚Anteil‘, ‚Kontingent‘) sind Begrenzungen des Speicherplatzes auf Datenträgern für Benutzer oder Benutzergruppen

Beschreibung

Was sind Quota?

Benutzer, die an einem System arbeiten und dort ein persönliches Verzeichnis besitzen, neigen dazu, dass sie vielzuviel in dieses Verzeichnis speichern.

  • Vom hochauflösenden A4-Scan einer Seite, bis über Briefe vom vorletzen Jahr, alles landet auf der Festplatte.
  • Kein Wunder, dass dann nach kurzer Zeit bereits eine neue Festplatte fällig wird.
  • Die Lösung dazu heisst Quota.
  • Mit Quota kann der Systemadministrator den verfügbaren Speicherplatz für jeden Benutzer oder Gruppe einschränken.
Wichtige Hinweise

Quota werden zurzeit für jede Partition separat überwacht.

  • Falls ein Benutzer auf mehrere Partitionen Schreibrechte hat, muss man für jede Partition eine einzelne Quota setzen, falls dies benötigt wird.
  • Ob dies vorteilhaft ist oder nicht, darüber kann man sich streiten.

Einsatzgebiete

Viele Computerbesitzer wissen gar nicht, wie stark sie durch Quota eingeschränkt werden.

  • Ein anschauliches Beispiel sind die Internetprovider.
  • Viele Kunden von Ihnen empfangen E-Mails oder haben eine Homepage auf dem Server des Providers gespeichert.
  • Auf den Servern des Providers sind auch Quota gesetzt, beispielsweise
  • wie groß das E-Mail-Verzeichnis der Kunden sein darf.

Quota kommt vorwiegend bei Servern zum Einsatz.

  • Denn nur dadurch lässt sich vermeiden, dass Benutzer zu viel auf dem Server ablegen und dadurch die Festplatte füllen.

Arten von Quota

In dem gesamten Dokument werde ich die Begriffe Softlimit (siehe Softlimit), Hardlimit (siehe Hardlimit) und Grace Period (siehe Grace Period) in ihrer englischen Form belassen, da es meines Erachtens keine sinvolle Übersetzung dafür gibt.

  • Wenn im Text die Rede von Softlimit oder Hardlimit ohne Zusatz ist, sind jeweils beide Arten, Block- und Inoden-Limiten gemeint.

Quota auf Benutzerebene

Bei Quota auf Benutzerebene wird der Speicherplatz der einzelnen Benutzer überwacht.

  • Mit dieser Methode kann man den Speicherplatz, den ein Benutzer füllen darf, begrenzen.
  • Im weiteren Verlauf dieses Dokuments wird diese Form der Quota als Benutzerquota bezeichnet werden.

Quota auf Gruppenebene

Bei Quota auf Gruppenebene wird der Speicherplatz der einzelnen Gruppen überwacht.

  • Mit dieser Methode kann man den Speicherplatz, den eine Gruppe füllen darf, begrenzen.
  • Im weiteren Verlauf dieses Dokuments wird diese Form der Quota als Gruppenquota bezeichnet werden.

Kombination von Quota auf Benutzerebene/Gruppenebene

Falls auf einer Partition Quota auf Benutzer- und Gruppenebene zum Einsatz kommen, haben Quota auf Benutzerebene eine höhere Priorität.

  • Wenn beispielsweise eine Gruppe ein Limit von 5 MBytes hat, und ein Angehöriger dieser Gruppe hat ein Limit von 20 MBytes, so darf dieser maximal 20 MBytes füllen, auch wenn seine Gruppe nur 5 MBytes dürfte.

Softlimit

Ein Benutzer darf sein Softlimit für eine kurze Zeit überschreiten.

  • Aber eben nur eine kurze Zeit.
  • Dieser Zeitraum, in dem er das Softlimit überschreiten darf, ist durch die Grace Period festgelegt.

Hardlimit

Ein Benutzer kann sein Hardlimit nicht überschreiten.

  • Es gibt keine Möglichkeit für den Benutzer, diese Limite zu umgehen.

Grace Period

Die Grace Period ist ein Zeitraum.

  • Sobald ein Benutzer sein Softlimit überschreitet, beginnt die Grace Period zu ticken.
  • Wenn sie ersteinmal heruntergezählt ist, darf der betreffende Benutzer vorerst keine Daten mehr auf die Partition, auf der er das Softlimit überschritten hat, schreiben.
  • Er darf erst wieder schreiben, wenn er sein Softlimit wieder unterschreitet.