Zum Inhalt springen

Quota

Aus Foxwiki

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

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

Art Ebene Zweck Besonderheit
Benutzerquota Benutzer Überwacht den von einzelnen Benutzern belegten Speicherplatz (Blöcke und Inodes). Limits pro Benutzer.
Gruppenquota Gruppe Überwacht den von Benutzergruppen belegten Speicherplatz (Blöcke und Inodes). Limits pro Gruppe.
Kombination Benutzer-/Gruppenquota Benutzer und Gruppe Kombination aus Benutzer- und Gruppenquota auf derselben Partition. Benutzerquota hat höhere Priorität als Gruppenquota.
Limit-Typ Beischeirung
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

Zur Installation muss der Kernel die Fähigkeit haben, mit Quota umzugehen

  • Das kann ggf ein Neubilden des Kernels erforderlich machen

In der Datei /etc/fstab wird hinterlegt, welche Dateisysteme durch Quota überwacht werden

/dev/hda3/mount/hda3 ext2defaults,usrquota 1 1

In das Wurzelverzeichnis des Dateisystems müssen zwei Dateien gelegt werden

  • Im folgenden Beispiel ist das Wurzelverzeichnis /mount/hda3
  • Die Dateien heißen quota.user und quota.group
  • Letztere muss auch dann angelegt werden, wenn, wie in diesem Beispiel, gar keine Groupquota angelegt werden
touch /mount/hda3/quota.user
touch /mount/hda3/quota.group
chmod 600 /mount/hda3/quota.user
chmod 600 /mount/hda3/quota.group
mount /dev/hda3 /mount/hda3 -o remount

Der Befehl touch legt eine leere Datei an, wenn noch keine Datei vorhanden ist

  • Anschließend werden die Rechte der Dateien auf 600 gesetzt
  • Das ist zwingend, damit nur root diese Dateien lesen und schreiben kann
  • Ansonsten arbeitet das Quota-System nicht
  • Zum Schluss wird ein Wiedereinhängen des Dateisystems gestartet, damit der Eintrag in der fstab gelesen wird

Nun wird ermittelt, welche Benutzer wie viel Platz auf der Platte belegt haben

quotacheck -avug /dev/hda3

Dieser Vorgang dauert eine Weile

  • Die quota.user wird mit Daten gefüllt

Anschließend kann man die Limits für die Benutzer einstellen

edquota -u arnold

edquota startet den Standardeditor (meist vi) mit folgenden Einträgen:

Quotas for user arnold:
 /dev/hda3: blocks in use: 8117, limits (soft=0, hard=0)
 inodes in use: 470, limits (soft=0, hard=0)

Durch eine Änderung der Werte in den Klammern werden das Soft- und das Hardlimit des Benutzers für die jeweilige Platte eingestellt

edquota -t zur Einstellung der Gnadenfrist betrifft alle Benutzer gemeinsam:
 Time units may be: days, hours, minutes, or seconds
 Grace period before enforcing soft limits for users:
 /dev/hda3: block grace period: 7 day, file grace period: 7 days

Mit quotaon -a wird die Überwachung für alle gestartet, mit quotaoff -a wird sie wieder abgeschaltet

  • Soll die Überwachung auch nach einem Reboot erfolgen, muss der Befehl in einer rc-Datei eingetragen werden

Ist das Quotasystem aktiv, erhält der Benutzer bei Überschreitung seines Limits eine Meldung am Bildschirm, und der Vorgang wird abgebrochen

Die ständige Überprüfung aller Dateizugriffe darauf, ob eine Grenze überschritten wird, ist natürlich nicht kostenlos

  • Quota belasten die Performance der Dateizugriffe
  • Ist die Zugriffsgeschwindigkeit ein wichtiges Kriterium, kann man durch Partitionieren erreichen, dass Benutzer nicht den wichtigen Anwendungen den Plattenplatz wegnehmen
  • Man braucht nur dafür zu sorgen, dass die betriebswichtigen Anwendungen ihre Daten auf einer eigenen Partition ablegen
  • Administrieren Sie eine Maschine mit vielen Benutzern, die sich als Sammler und Jäger im Internet betätigen und neben Bildern, mp3-Dateien nun auch digitale Filme entdecken, führt an der Einrichtung von Quota langfristig kein Weg vorbei

Wie funktionieren Quota?

Quota wird nach der Installation vom System als Dienst ausgeführt

  • Es wird standardmäßig beim Booten geladen und muss daher nicht explizit gestartet werden
  • Nach dem Hochfahren wertet das Programm einige Dateien aus und sorgt nun selbstständig dafür, dass die Benutzer oder Gruppen nicht zu viel Speicherplatz in Anspruch nehmen

Im Folgenden werden einige Begriffe erklärt, die man verstehen sollte, wenn man Quota verwenden will

Number of Disk Blocks und Number of Inodes

Ein Speicherplatz-Limit wird an der Stelle "Number of Disk Blocks" gesetzt, die Einheit eines Disk Blocks ist dabei ein Kilobyte

  • Ein Datei-Anzahl-Limit wird an der Stelle "Number of Inodes" gesetzt

Under Quota

"Under Quota" bezeichnet den Zustand, welchen ein Benutzer oder eine Gruppe aus der Sicht von Quota hat, wenn der Umfang des verbrauchten Speicherplatzes und die Anzahl seiner angelegten Dateien sowohl das "Soft Limit" als auch das "Hard Limit" unterschreiten

Limits

Hinweis

Die Limits werden in Dateisystemblöcken festgesetzt

  • Wie groß die Blocke sind, findet man mit den jeweiligen Verwaltungstools zum Dateisystem heraus, beispielsweise tune2fs für ext-Dateisysteme
Hard Limit

"Hard Limit" gibt den maximal zur Verfügung gestellten Speicherplatz oder die maximale Dateianzahl an

  • Der Benutzer kann dieses Limit nie überschreiten
  • Sollte er an dieses Limit stoßen, so hat es für ihn den gleichen Effekt, als wäre kein weiterer Speicherplatz auf der Partition vorhanden
Hinweis
Befindet sich ein Benutzer nahe am durch Quota gesetzten Hard Limit, so kann er sich eventuell nicht einmal mehr an der grafischen Oberfläche anmelden, da hierfür Speicherplatz für neu erstellte Dateien gebraucht wird
  • In dem Fall kann nur noch der Administrator durch eine Erweiterung des Hard Limits helfen, oder der User loggt sich in ein System-Terminal und löscht von dort Dateien
Soft Limit

"Soft Limit" ist eine Begrenzung, welche kleiner oder gleich dem Hard Limit gesetzt werden muss

  • Wird das Soft Limit überschritten, so erhält der Benutzer den Zustand "Over Quota"
  • Das Soft Limit kann bis zum Wert des Hard Limits überschritten werden, was allerdings mit Konsequenzen verbunden ist, welche vom Administrator bestimmt werden

Ist die Verwendung eines Soft Limits nicht erwünscht, so werden die Limit-Werte von Soft Limit gleich denen von Hard Limit gesetzt

Grace Period

Ist ein Benutzer Over Quota, hat also das Soft Limit überschritten, so erhält er eine Frist, die "Grace Period" genannt wird

  • Standardmäßig beträgt sie sieben Tage, kann aber frei vom Administrator gewählt werden
  • Während dieser Frist muss der Benutzer oder die Gruppe durch Verlagern, Löschen oder Komprimieren von Dateien den verbrauchten Speicherplatz wieder soweit reduzieren, dass der Under Quota Zustand erreicht wird

Um sicherzugehen, dass sie von dem Umstand in Kenntnis gesetzt werden, können Administrator, Benutzer oder Gruppe über das Vorkommnis per E-Mail oder System-Mail informiert werden

Sollte der Benutzer die Frist von Grace Period versäumen, so nimmt sein derzeitig verbrauchter Speicherplatz das Hard Limit ein

  • Der Benutzer kann nun nicht mehr produktiv arbeiten und muss sich nun an den Administrator wenden, damit dieser ihm entweder die Frist verlängert, das Hard Limit etwas erhöht oder selber Dateien löscht
Grafik

Hier eine kleine Grafik, um die ganze Sache an einem Beispiel grafisch zu erläutern

  • quota_grafika.png

Auf der Partition /dev/sda2, welche als /home eingehängt wird, wird der Speicherplatz vom User Jan eingeschränkt

  • Sein Speicherplatz ist aufgeteilt in Under Limit und Soft Limit
  • Hard Limit stellt die ihm gesetzte Grenze dar

Anhang

Siehe auch


Dokumentation

Links

Projekt

Weblinks

  1. https://www.linuxhaven.de/dlhp/HOWTO/mini/DE-Quota-HOWTO.html
  2. https://www.debian.org/doc/manuals/securing-debian-manual/ch04s17.de.html
  3. https://debian-handbook.info/browse/de-DE/stable/sect.quotas.html