Disk Quotas: Unterschied zwischen den Versionen
| Zeile 27: | Zeile 27: | ||
! Werkzeug !! Aufgabe | ! Werkzeug !! Aufgabe | ||
|- | |- | ||
| − | | <code> | + | | <code>tune2fs</code> || Quota-Feature im Dateisystem ein- und ausschalten |
|- | |- | ||
| − | | <code>quotaon | + | | <code>quotaon -p</code> || Status abfragen |
|- | |- | ||
| <code>edquota</code> || Grenzwerte und Grace Period im Editor bearbeiten | | <code>edquota</code> || Grenzwerte und Grace Period im Editor bearbeiten | ||
| Zeile 49: | Zeile 49: | ||
==Formatieren von /dev/sdd== | ==Formatieren von /dev/sdd== | ||
*mkfs.ext4 -L heimat /dev/sdd | *mkfs.ext4 -L heimat /dev/sdd | ||
| − | == | + | ==Quota-Feature setzen== |
| − | + | Das Dateisystem führt die Buchhaltung selbst, in versteckten Inodes und mit dem Journal. | |
| − | * | + | *tune2fs -O quota /dev/sdd |
| + | ==Eintrag in die fstab== | ||
| + | *echo "LABEL=heimat /heimat ext4 defaults 0 2" >> /etc/fstab | ||
==Bei systemd System eventuell notwendig== | ==Bei systemd System eventuell notwendig== | ||
*systemctl daemon-reload | *systemctl daemon-reload | ||
| Zeile 57: | Zeile 59: | ||
*mount -a | *mount -a | ||
==Kontrolle== | ==Kontrolle== | ||
| − | + | Im Feature-Eintrag steht <code>quota</code>, und die Quotas sind ohne weiteres Zutun aktiv: | |
| − | + | *tune2fs -l /dev/sdd | grep -i features | |
| − | |||
| − | |||
| − | |||
| − | * | ||
| − | |||
| − | |||
*quotaon -p /heimat | *quotaon -p /heimat | ||
==User Gruppen Vorbereitungen== | ==User Gruppen Vorbereitungen== | ||
| Zeile 80: | Zeile 76: | ||
===Ohne Editor=== | ===Ohne Editor=== | ||
Dieselbe Einstellung für Skripte – hier 100 MiB weich, 120 MiB hart, keine Inode-Grenze: | Dieselbe Einstellung für Skripte – hier 100 MiB weich, 120 MiB hart, keine Inode-Grenze: | ||
| − | *setquota -u kit | + | *setquota -u kit 102400 122880 0 0 /heimat |
===Grace Period=== | ===Grace Period=== | ||
*edquota -t | *edquota -t | ||
| Zeile 100: | Zeile 96: | ||
In der Spalte <code>grace</code> steht die Restlaufzeit, wenn nur die Soft-, nicht aber die Hardgrenze überschritten wurde. | In der Spalte <code>grace</code> steht die Restlaufzeit, wenn nur die Soft-, nicht aber die Hardgrenze überschritten wurde. | ||
| − | ==Deaktivieren | + | ==Deaktivieren== |
*quotaoff /heimat | *quotaoff /heimat | ||
*quotaon -p /heimat | *quotaon -p /heimat | ||
==Aufgaben== | ==Aufgaben== | ||
*[[Aufgaben zu Quotas]] | *[[Aufgaben zu Quotas]] | ||
Aktuelle Version vom 26. August 2026, 12:58 Uhr
Disk Quotas Grundlagen
Was sind Disk Quotas?
- Disk Quotas (Festplattenkontingente) sind ein Mechanismus, der in Betriebssystemen verwendet wird, um die Nutzung des Speicherplatzes auf einem Dateisystem durch Benutzer oder Benutzergruppen zu überwachen und zu begrenzen.
- Das Ziel von Disk Quotas besteht darin, sicherzustellen, dass kein Benutzer den verfügbaren Speicherplatz übermäßig beansprucht, um eine gerechte Verteilung des Speicherplatzes zu gewährleisten.
- Quotas gelten immer für ein einzelnes Dateisystem, nicht systemweit. Ein Benutzer kann auf
/heimatbegrenzt sein und auf/tmptrotzdem schreiben.
Einige grundlegende Konzepte und Funktionen von Disk Quotas
Benutzerquotas
- Bei Benutzerquotas wird jedem Benutzer ein bestimmtes Kontingent an Speicherplatz zugewiesen.
- Dieses Kontingent kann aus einer festen Größe oder einem variablen Betrag bestehen, der mit der Zeit wachsen kann. Wenn ein Benutzer sein zugewiesenes Kontingent erreicht oder überschreitet, wird ihm in der Regel das Schreiben neuer Dateien verweigert.
Gruppenquotas
- Ähnlich wie bei Benutzerquotas können Gruppenquotas verwendet werden, um den Speicherplatzverbrauch für bestimmte Benutzergruppen zu überwachen und zu begrenzen.
- Dies ermöglicht eine feinere Kontrolle über die Nutzung des Speicherplatzes durch Gruppen von Benutzern.
- Maßgeblich ist die Gruppe, der die Datei gehört – nicht die Gruppen, in denen der schreibende Benutzer Mitglied ist.
Blöcke und Inodes
- Begrenzt wird nicht nur der belegte Platz, sondern auch die Anzahl der Dateien.
- Die Blockgrenze wird in KiB angegeben, die Inode-Grenze als Stückzahl. Beide lassen sich unabhängig voneinander setzen, beide können einzeln auch offen bleiben (Wert 0).
- Ohne Inode-Grenze kann ein Benutzer ein Dateisystem mit Millionen leerer Dateien lahmlegen, ohne je die Blockgrenze zu berühren.
Soft Quotas und Hard Quotas
- Disk Quotas können in zwei Modi konfiguriert werden: Soft Quotas und Hard Quotas.
- Bei Soft Quotas erhalten Benutzer oder Gruppen eine Warnung, wenn sie ihr Kontingent erreichen oder überschreiten, dürfen aber zunächst weiterschreiben.
- Dieses Weiterschreiben ist zeitlich begrenzt: Nach Ablauf der Grace Period (Standard 7 Tage) wirkt die Soft Quota wie eine Hard Quota. Sinkt der Verbrauch vorher wieder unter den Softwert, läuft die Frist zurück.
- Bei Hard Quotas wird das Schreiben neuer Dateien sofort verhindert, sobald das Kontingent erreicht oder überschritten wird. Die Hard Quota ist eine echte Obergrenze und kann nicht überschritten werden.
Quota-Verwaltungstools
- Betriebssysteme bieten in der Regel spezielle Tools zur Verwaltung von Disk Quotas an.
- Diese Tools ermöglichen die Konfiguration von Quota-Einstellungen, Überwachung des Speicherplatzverbrauchs, Berichterstattung und Verwaltung von Warnmeldungen und Benachrichtigungen.
| Werkzeug | Aufgabe |
|---|---|
tune2fs |
Quota-Feature im Dateisystem ein- und ausschalten |
quotaon -p |
Status abfragen |
edquota |
Grenzwerte und Grace Period im Editor bearbeiten |
setquota |
Grenzwerte ohne Editor setzen, für Skripte |
repquota |
Übersicht über alle Benutzer bzw. Gruppen |
quota |
Auskunft für einen einzelnen Benutzer |
Disk Quotas Installation
- Debian
- apt install -y quota
- Rocky
- dnf install -y quota
Aktivieren von Disk Quotas
Erstellen eines Verzeichnis
- mkdir /heimat
Formatieren von /dev/sdd
- mkfs.ext4 -L heimat /dev/sdd
Quota-Feature setzen
Das Dateisystem führt die Buchhaltung selbst, in versteckten Inodes und mit dem Journal.
- tune2fs -O quota /dev/sdd
Eintrag in die fstab
- echo "LABEL=heimat /heimat ext4 defaults 0 2" >> /etc/fstab
Bei systemd System eventuell notwendig
- systemctl daemon-reload
Mounten
- mount -a
Kontrolle
Im Feature-Eintrag steht quota, und die Quotas sind ohne weiteres Zutun aktiv:
- tune2fs -l /dev/sdd | grep -i features
- quotaon -p /heimat
User Gruppen Vorbereitungen
- groupadd mediauser
- usermod -aG mediauser kit
- mkdir /heimat/media
- chgrp mediauser /heimat/media/
- chmod -v g+w /heimat/media/
Quota-Einstellungen festlegen
Der Editor zeigt je Dateisystem eine Zeile mit sechs Werten: belegte Blöcke, Soft- und Hardgrenze für Blöcke, belegte Inodes, Soft- und Hardgrenze für Inodes. Die beiden Ist-Werte sind nur Anzeige und werden nicht übernommen. Der Wert 0 bedeutet „keine Grenze".
User
- edquota -u kit
Gruppen
- edquota -g mediauser
Ohne Editor
Dieselbe Einstellung für Skripte – hier 100 MiB weich, 120 MiB hart, keine Inode-Grenze:
- setquota -u kit 102400 122880 0 0 /heimat
Grace Period
- edquota -t
Überprüfen
User
- repquota -u /heimat
Groups
- repquota -g /heimat
Ein einzelner Benutzer
- quota -u kit
Die Quota in Aktion
Als Benutzer anmelden und über die Grenze schreiben:
- su - kit
- dd if=/dev/zero of=/heimat/gross.img bs=1M count=200
Der Schreibvorgang bricht mit Disk quota exceeded ab, die Datei bleibt genau an der Hardgrenze stehen. Danach als root nachsehen:
- exit
- repquota -u /heimat
In der Spalte grace steht die Restlaufzeit, wenn nur die Soft-, nicht aber die Hardgrenze überschritten wurde.
Deaktivieren
- quotaoff /heimat
- quotaon -p /heimat