Quota
Quota - Begrenzungen des Speicherplatzes auf Datenträgern für Benutzer oder Benutzergruppen (Disc-Quota)
Beschreibung
Quota ermöglicht die gezielte Begrenzung des belegbaren Festplattenspeichers auf einem System.
- Alle in /etc/fstab eingetragenen, beschreibbaren Partitionen auf gängigen Linux-Dateisystemen können mit Quotas versehen werden.
- Quotas können pro Benutzer und pro Gruppe getrennt gesetzt werden.
- Beschränkt werden können sowohl der verfügbare Block-Speicherplatz als auch die Anzahl der Inodes (Dateien und Verzeichnisse).
- Optional können bei Überschreitung von Limits zusätzliche Aktionen ausgelöst werden, z. B. Benachrichtigung per E-Mail.
- Quota wirkt unabhängig davon, ob der Zugriff lokal oder remote (z. B. per SSH oder FTP) erfolgt.
Für den Einsatz von Quota unter Linux wird das Paket quota benötigt. Es stellt die folgenden Werkzeuge zur Verwaltung der Speicherplatzbeschränkungen bereit:
- edquota: Bearbeiten der Quota-Einträge von Benutzern und Gruppen.
- quotacheck: Prüfen der Belegung und Erzeugen bzw. Aktualisieren der Quota-Dateien.
- quotaon/quotaoff: Aktivieren bzw. Deaktivieren von Quotas auf Dateisystemen.
Der Einsatz von Quota dient dazu, übermäßige Belegung von Festplattenspeicher zu verhindern.
- Hinweis
Die ständige Überprüfung aller Dateizugriffe daraufhin, ob eine Grenze überschritten wird, ist natürlich nicht ohne Folgen
- Quota belastet die Leistung der Festplatte
- Ist die Zugriffsgeschwindigkeit ein wichtiges Kriterium, kann man durch Partitionieren erreichen, dass Benutzer nicht den wichtigen Anwendungen den Plattenplatz wegnehmen
- Daher sollte man Quota nur auf Partitionen aktivieren, auf denen Benutzer ihre Daten ablegen
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
| Art | Zweck | Beschreibung |
|---|---|---|
| Benutzerquota | Überwacht den von einzelnen Benutzern belegten Speicherplatz (Blöcke und Inodes). | Limits pro Benutzer. |
| Gruppenquota | Überwacht den von Benutzergruppen belegten Speicherplatz (Blöcke und Inodes). | Limits pro Gruppe. |
| Kombination Benutzer-/Gruppenquota | Kombination aus Benutzer- und Gruppenquota auf derselben Partition. | Benutzerquota hat höhere Priorität als Gruppenquota. |
| Limit-Typ | Beschreibung |
|---|---|
| Softlimit | Ein Softlimit definiert einen Wert, der kurzfristig überschritten werden darf. Die zulässige Dauer der Überschreitung wird durch die Grace Period bestimmt. |
| Hardlimit | Ein Hardlimit definiert einen Wert, der nie überschritten werden darf. Sobald das Hardlimit erreicht ist, werden weitere Schreiboperationen auf dem betroffenen Dateisystem abgelehnt. |
| Grace Period | Die Grace Period ist die Frist, während der ein gesetztes Softlimit überschritten werden darf. Nach Ablauf der Grace Period werden Softlimits wie Hardlimits behandelt, bis die Nutzung wieder unter das Softlimit sinkt. |
Mit drei Parametern wird eine Quotagrenze bestimmt: Softlimit, Hardlimit und Gnadenfrist (grace period)
- Das Softlimit darf zwar überschritten werden, aber nur für eine gewisse Zeit, die als Gnadenfrist bezeichnet wird
- Das Hardlimit ist die Grenze, die der Benutzer nicht überschreiten darf
- Alle drei Parameter gibt es zweimal, jeweils für die Anzahl der Blöcke und die Anzahl der Dateien.Genauer: die Anzahl der i-nodes
Einbeziehung von Quoten
Quota-Implementierungen
Es gibt mehrere Möglichkeiten, Quoten unter Linux zu aktivieren. Siehe Hauptartikel
Quota-Einstellung mit externen Dateien auf ext4-Root-Dateisystem
Voraussetzungen
- Kernel mit Quota-Unterstützung (Module quota_v1/quota_v2)
- Paket quota installiert
- Root-Dateisystem / auf ext4 (Beispiel: /dev/sda1)
/etc/fstab für Quota mit externen Dateien auf /
1. In /etc/fstab wird festgelegt, dass auf / Quotas über externe Dateien verwendet werden:
/dev/sda1 / ext4 defaults,usrquota,grpquota 0 1
- Gerätebezeichnung, Dateisystemtyp und zusätzliche Mount-Optionen sind an das lokale System anzupassen.
- Für journalisierte externe Quotas kann alternativ
usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv1
2. Anschließend wird das Root-Dateisystem mit den neuen Optionen neu eingehängt:
mount -o remount /
3. Überprüfen, ob die Optionen aktiv sind:
cat /proc/mounts | grep " / "
In der Ausgabe sollten usrquota und grpquota enthalten sein.
Externe Quota-Dateien auf / anlegen
Aktuelle Quota-Werkzeuge verwenden für externe Dateien üblicherweise die Namen aquota.user und aquota.group im Wurzelverzeichnis.
Veraltete oder beschädigte Quota-Dateien in `/` sollten gelöscht werden:
rm -f /quota.user /quota.group /aquota.user /aquota.group
Anschließend werden die Dateien für Benutzer- und Gruppenquotas auf dem Root-Dateisystem neu erzeugt:
quotacheck -cugm /
- -c: Quota-Dateien neu anlegen
- -u, -g: Benutzer- und Gruppenquotas
- -m: kein temporäres Remount als read-only (wichtig für /)
- ohne -a: Prüfung nur für das angegebene Dateisystem /
Die erzeugten Dateien sollten als root:root mit Modus 600 existieren:
ls -l /aquota.*
Quota-Überwachung auf / aktivieren
Nach der Initialisierung wird die Quota-Überwachung eingeschaltet:
quotaon -vug /
- Mit quotaoff -vug / wird die Überwachung für / wieder deaktiviert.
- Einige Distributionen stellen systemd-Units wie quota.service bereit, die bei Bedarf für die automatische Aktivierung beim Booten genutzt werden.
- Hinweis
- Auf aktuellen ext4-Kernels erscheint bei quotacheck/quotaon häufig eine Meldung wie:
Your kernel probably supports ext4 quota feature but you are using external quota files. Please switch your filesystem to use ext4 quota feature as external quota files on ext4 are deprecated. You can enable the feature by unmounting the file system and running 'tune2fs -O quota <device>'.
- Diese Meldung weist darauf hin, dass externe Dateien auf ext4 als veraltet gelten. Wird explizit die Methode mit externen Dateien verwendet, kann die Warnung in vielen Umgebungen ignoriert werden.
Ob Quotas tatsächlich erzwungen werden, ist mit Testbenutzern zu prüfen.
Limits und Gnadenfrist setzen
Limits für Benutzer daniel auf dem Root-Dateisystem setzen:
edquota -u daniel
Der Editor zeigt typischerweise:
Quotas for user daniel:
/dev/sda1: blocks in use: 8117, limits (soft=0, hard=0)
inodes in use: 470, limits (soft=0, hard=0)
Durch Anpassen der Soft- und Hardlimits für Blöcke und Inodes werden die Grenzen für /dev/sda1 gesetzt.
Die Gnadenfrist für Softlimits wird global definiert:
edquota -t
Ausgang:
Grace period before enforcing soft limits for users:
/dev/sda1: block grace period: 7 days, file grace period: 7 days
Überprüfung
Überprüfung der aktuellen Kontingente und der Nachfrist für den Benutzer daniel:
quota daniel
Hinweise zur Performance und zum Einsatzbereich
- Die Prüfung der Quotas bei Schreibzugriffen verursacht messbaren Overhead.
- I/O-kritische Anwendungen können auf Partitionen ohne Quota gelegt werden.
- Auf Multiuser-Systemen mit hohem Datenaufkommen bleibt die Nutzung von Quotas auf / trotz externer Dateien ein pragmatischer Ansatz, insbesondere wenn Verwaltungswerkzeuge explizit aquota.* erwarten.
Anhang
Siehe auch
Dokumentation
Links
Projekt
Weblinks
- https://www.linuxhaven.de/dlhp/HOWTO/mini/DE-Quota-HOWTO.html
- https://www.debian.org/doc/manuals/securing-debian-manual/ch04s17.de.html
- https://debian-handbook.info/browse/de-DE/stable/sect.quotas.html