Disk Quotas: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 3: Zeile 3:
 
*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.
 
*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.
 
*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 <code>/heimat</code> begrenzt sein und auf <code>/tmp</code> trotzdem schreiben.
 
==Einige grundlegende Konzepte und Funktionen von Disk Quotas==
 
==Einige grundlegende Konzepte und Funktionen von Disk Quotas==
 
===Benutzerquotas===
 
===Benutzerquotas===
Zeile 10: Zeile 11:
 
*Ähnlich wie bei Benutzerquotas können Gruppenquotas verwendet werden, um den Speicherplatzverbrauch für bestimmte Benutzergruppen zu überwachen und zu begrenzen.  
 
*Ä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.
 
*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===
 
===Soft Quotas und Hard Quotas===
 
*Disk Quotas können in zwei Modi konfiguriert werden: 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, haben jedoch weiterhin Schreibzugriff.  
+
*Bei Soft Quotas erhalten Benutzer oder Gruppen eine Warnung, wenn sie ihr Kontingent erreichen oder überschreiten, dürfen aber zunächst weiterschreiben.
*Bei Hard Quotas wird das Schreiben neuer Dateien sofort verhindert, sobald das Kontingent erreicht oder überschritten wird.
+
*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===
 
===Quota-Verwaltungstools===
 
*Betriebssysteme bieten in der Regel spezielle Tools zur Verwaltung von Disk Quotas an.
 
*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.
 
*Diese Tools ermöglichen die Konfiguration von Quota-Einstellungen, Überwachung des Speicherplatzverbrauchs, Berichterstattung und Verwaltung von Warnmeldungen und Benachrichtigungen.
 
+
{| class="wikitable"
 +
! Werkzeug !! Aufgabe
 +
|-
 +
| <code>tune2fs</code> || Quota-Feature im Dateisystem ein- und ausschalten
 +
|-
 +
| <code>quotaon -p</code> || Status abfragen
 +
|-
 +
| <code>edquota</code> || Grenzwerte und Grace Period im Editor bearbeiten
 +
|-
 +
| <code>setquota</code> || Grenzwerte ohne Editor setzen, für Skripte
 +
|-
 +
| <code>repquota</code> || Übersicht über alle Benutzer bzw. Gruppen
 +
|-
 +
| <code>quota</code> || Auskunft für einen einzelnen Benutzer
 +
|}
 
=Disk Quotas Installation=
 
=Disk Quotas Installation=
 
;Debian
 
;Debian
*sudo apt install -y quota
+
*apt install -y quota
 
;Rocky
 
;Rocky
*sudo dnf install -y quota
+
*dnf install -y quota
 
 
 
=Aktivieren von Disk Quotas=
 
=Aktivieren von Disk Quotas=
 
==Erstellen eines Verzeichnis==
 
==Erstellen eines Verzeichnis==
 
*mkdir /heimat
 
*mkdir /heimat
 
==Formatieren von /dev/sdd==
 
==Formatieren von /dev/sdd==
*mkfs.ext4 /dev/sdd
+
*mkfs.ext4 -L heimat /dev/sdd
==Eintrag mit den neuen Optionen in die fstab==
+
==Quota-Feature setzen==
*echo /dev/sdd /heimat ext4 defaults,usrquota,grpquota 0 0 >> /etc/fstab
+
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 36: Zeile 59:
 
*mount -a
 
*mount -a
 
==Kontrolle==
 
==Kontrolle==
*mount -t ext4
+
Im Feature-Eintrag steht <code>quota</code>, und die Quotas sind ohne weiteres Zutun aktiv:
==Erstellen von Quotadatenbanken==
+
*tune2fs -l /dev/sdd | grep -i features
*quotacheck -cug /heimat
+
*quotaon -p /heimat
==Aktivieren von Quotas==
 
*quotaon /heimat/
 
 
==User Gruppen Vorbereitungen==
 
==User Gruppen Vorbereitungen==
 
*groupadd mediauser
 
*groupadd mediauser
*usermod -G mediauser kit
+
*usermod -aG mediauser kit
 
*mkdir /heimat/media
 
*mkdir /heimat/media
 
*chgrp mediauser /heimat/media/
 
*chgrp mediauser /heimat/media/
 
*chmod -v g+w  /heimat/media/
 
*chmod -v g+w  /heimat/media/
 
==Quota-Einstellungen festlegen==
 
==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===
 
===User===
*edquota -u benutzername
+
*edquota -u kit
 
===Gruppen===
 
===Gruppen===
*edquota -g gruppenname
+
*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==
 
==Überprüfen==
 
===User===
 
===User===
Zeile 57: Zeile 84:
 
===Groups===
 
===Groups===
 
*repquota -g /heimat
 
*repquota -g /heimat
==Deaktivieren von Benutzer- und Gruppenquoten==
+
===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 <code>Disk quota exceeded</code> ab, die Datei bleibt genau an der Hardgrenze stehen. Danach als root nachsehen:
 +
*exit
 +
*repquota -u /heimat
 +
 
 +
In der Spalte <code>grace</code> steht die Restlaufzeit, wenn nur die Soft-, nicht aber die Hardgrenze überschritten wurde.
 +
==Deaktivieren==
 
*quotaoff /heimat
 
*quotaoff /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 /heimat begrenzt sein und auf /tmp trotzdem 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

Aufgaben