XFS unterstützt Festplattenkontingente nach Benutzer, Gruppe und Projekt. Projektdatenträgerkontingente ermöglichen es Ihnen, den Speicherplatz auf einzelnen Verzeichnishierarchien zu begrenzen. Sie können sowohl harte als auch weiche Grenzwerte für die Anzahl der Festplattenblöcke (oder Speicherplatz) und die Anzahl der Inodes konfigurieren, die die Anzahl der Dateien begrenzen, die ein Benutzer erstellen kann. Kontingente gelten nicht für den Root-Benutzer.
Sie müssen zuerst Kontingente für Benutzer, Gruppen und/oder Projekte aktivieren, indem Sie beim Mounten für das XFS-Dateisystem eine Mount-Option verwenden. Verwenden Sie nach dem Aktivieren von Kontingenten den Befehl xfs_quota, um Limits festzulegen und Kontingentinformationen anzuzeigen.
Kontingente aktivieren
Um Kontingente für Benutzer in einem XFS-Dateisystem zu aktivieren, fügen Sie die Option quota in den Eintrag /etc/fstab für das Dateisystem ein oder hängen Sie das Dateisystem mit der Quote an Möglichkeit:
# mount –o quota /dev/xvdb1 /xfs
Um Kontingente für Gruppen zu aktivieren, fügen Sie die gquota-Option in den /etc/fstab-Eintrag für das Dateisystem ein oder hängen Sie das Dateisystem mit gquota ein Möglichkeit:
# mount –o gquota /dev/xvdb1 /xfs
Um Kontingente für Projekte zu aktivieren, fügen Sie die Option prjquota in den Eintrag /etc/fstab für das Dateisystem ein oder hängen Sie das Dateisystem mit prjquota an Möglichkeit:
# mount –o prjquota /dev/xvdb1 /xfs
Alternativ können Sie die Quota-Mount-Optionen in die Datei /etc/fstab aufnehmen. Das folgende Beispiel zeigt Einträge in der Datei /etc/fstab, um Kontingente für Benutzer, Gruppen bzw. Projekte in einem XFS-Dateisystem zu aktivieren. Diese Beispiele mounten auch das Dateisystem mit Lese-/Schreibberechtigungen:
# vim /etc/fstab /dev/xvdb1 /xfs xfs rw,quota 0 0 /dev/xvdb1 /xfs xfs rw,gquota 0 0 /dev/xvdb1 /xfs xfs rw,prjquota 0 0
XFS-Kontingent-Mount-Optionen
Andere „Quota“-Mount-Optionen für XFS-Dateisysteme sind verfügbar. Das Folgende ist eine vollständige Liste der Einhängeoptionen zum Aktivieren von Benutzerkontingenten auf XFS-Dateisystemen:
- Quote|uQuote|usrQuote :Benutzerkontingente aktivieren und Nutzungsbeschränkungen erzwingen.
- uqnoenforce :Benutzerkontingente aktivieren. Nutzung melden, aber keine Nutzungsbeschränkungen erzwingen.
Zu den Mount-Optionen für Gruppenkontingente gehören:
- gquota|grpquota :Gruppenkontingente aktivieren und Nutzungslimits erzwingen.
- gqnoenforce :Gruppenkontingente aktivieren. Nutzung melden, aber keine Nutzungsbeschränkungen erzwingen.
Zu den Mount-Optionen für Projektkontingente gehören:
- pquota|prjquota :Projektkontingente aktivieren und Nutzungslimits erzwingen.
- pqnoenforce :Projektkontingente aktivieren. Nutzung melden, aber keine Nutzungsbeschränkungen erzwingen.
Kontingentstatusinformationen melden
Sie können das folgende xfs_quota verwenden Befehl zum Melden der Gesamtkontingentstatusinformationen:
# xfs_quota -x -c state User quota state on /data (/dev/mapper/vg_test-lv_test) Accounting: ON Enforcement: ON Inode: #67 (1 blocks, 1 extents) Group quota state on /data (/dev/mapper/vg_test-lv_test) Accounting: OFF Enforcement: OFF Inode: #0 (0 blocks, 0 extents) Project quota state on /data (/dev/mapper/vg_test-lv_test) Accounting: OFF Enforcement: OFF Inode: #0 (0 blocks, 0 extents) Blocks grace time: [7 days] Inodes grace time: [7 days] Realtime Blocks grace time: [7 days]
Dieser Befehl meldet, ob Benutzer-, Gruppen- und Projektkontingentkontingente aktiviert sind und ob Grenzwerte erzwungen werden. Die Gnadenfrist für Blöcke und Inodes wird ebenfalls gemeldet. Der Timer für die Kulanzzeit wird immer dann aktiviert, wenn das Soft-Limit überschritten wird. Wenn die Soft-Limits nach Ablauf der Nachfrist weiterhin überschritten werden, werden kein Speicherplatz oder keine Inodes mehr zugewiesen.
xfs_quota-Dienstprogramm
Verwenden Sie nach dem Aktivieren von Kontingenten mithilfe von Mount-Optionen für das XFS-Dateisystem den Befehl xfs_quota, um Kontingentinformationen für das Dateisystem zu melden, Block- und Inode-Limits festzulegen, die Kontingentdurchsetzung zu aktivieren oder zu deaktivieren, die Zeitüberschreitungsinformationen für die Kontingentdurchsetzung (Gnadenfrist) zu ändern und andere Kontingentverwaltungen durchzuführen Operationen auf XFS-Dateisystemen.
Das Dienstprogramm xfs_quota bietet eine Reihe von Unterbefehlen für Benutzer und Administratoren. Diese Unterbefehle können im interaktiven Modus ausgegeben oder als Argumente für den Befehl xfs_quota eingefügt werden. Geben Sie xfs_quota ohne Optionen oder Argumente ein, um in den interaktiven Modus zu wechseln. Im interaktiven Modus wird eine Eingabeaufforderung xfs_quota> angezeigt. Hilfe eingeben oder ? um die verfügbaren Unterbefehle anzuzeigen. Sie können auch help commandname eingeben, um zusätzliche Informationen zu einem bestimmten Unterbefehl anzuzeigen.
# xfs_quota xfs_quota> help df [-bir] [-hn] [-f file] -- show free and used counts for blocks and inodes help [command] -- help for one or all commands print -- list known mount points and projects quit -- exit the program quota [-bir] [-g|-p|-u] [-hnNv] [-f file] [id|name]... -- show usage and limits Use 'help commandname' for extended help.
Wenn Sie xfs_quota-Unterbefehle von der Befehlszeile einschließen, verwenden Sie den –c [Befehl] Möglichkeit. Alle Änderungen am Kontingentsystem über die Befehlszeile erfordern auch die -x-Option (Expertenmodus aktivieren) . Das folgende Beispiel verwendet den Unterbefehl limit, um ein weiches Limit von 5 MB und ein hartes Limit von 6 MB für das XFS-Dateisystem für Benutzer john festzulegen:
# xfs_quota –x –c 'limit –u bsoft=5m bhard=6m john' /xfs
Das folgende Beispiel legt ein weiches Limit von 100 Inodes und ein hartes Limit von 150 Inodes für die Gruppe students fest:
# xfs_quota –x –c 'limit –g isoft=100 ihard=150 students' /xfs
Kontingentinformationen anzeigen
Verwenden Sie den Befehl xfs_quota, um Informationen zu Datenträgerkontingenten anzuzeigen. So listen Sie alle Pfade mit Geräten und Kennungen auf:
# xfs_quota -x -c print Filesystem Pathname /data /dev/mapper/vg_test-lv_test (uquota)
So melden Sie die Dateisystemnutzung für Blöcke (-b) und Inodes (-i):
# xfs_quota -x -c 'free -hb' Filesystem Size Used Avail Use% Pathname /dev/mapper/vg_test-lv_test 35.5G 41.1M 35.4G 0% /data
# xfs_quota -x -c 'free -hi' Filesystem Inodes Used Free Use% Pathname /dev/mapper/vg_test-lv_test 18.6m 5 18.6m 0% /data
So melden Sie Kontingentinformationen für das Dateisystem:
# xfs_quota -x -c report /data User quota on /data (/dev/mapper/vg_test-lv_test) Blocks User ID Used Soft Hard Warn/Grace ---------- -------------------------------------------------- root 4 0 0 00 [--------]
So melden Sie Kontingentinformationen in menschenlesbarer Form auf /data:
# xfs_quota -x -c 'report -h' /data User quota on /data (/dev/mapper/vg_test-lv_test) Blocks User ID Used Soft Hard Warn/Grace ---------- --------------------------------- root 4K 0 0 00 [------]
Projektquoten festlegen
Mit XFS können Sie Quoten für einzelne Verzeichnishierarchien festlegen. Sie können einen Eintrag in /etc/projects erstellen Datei, die die Verzeichnishierarchie des XFS-Dateisystems mit einer eindeutigen Projekt-ID verknüpft. Beispielsweise ordnet der folgende Eintrag in /etc/projects eine Projekt-ID von 50 dem /data-Verzeichnis zu:
50:/data
Sie können optional die Datei /etc/projid verwenden, um einen Projektnamen mit einer Projekt-ID zu verknüpfen. Beispielsweise ordnet der folgende Eintrag in der Datei /etc/projid den Projektnamen test der Projekt-ID 50 zu:
test:50
Nachdem Sie ein Projekt in /etc/projects definiert haben, verwenden Sie den Befehl xfs_quota, um sein Projektverzeichnis zu initialisieren:
# xfs_quota –x –c 'project –s test' /data
Verwenden Sie den Befehl xfs_quota, um Grenzwerte für Projekte mit initialisierten Verzeichnissen festzulegen. Das folgende Beispiel legt für das Testprojekt ein weiches Limit von 5 MB und ein hartes Limit von 6 MB fest:
# xfs_quota –x –c ‘limit –p bsoft=5m bhard=6m test’ /dataAnleitung zum Sichern und Wiederherstellen von XFS-Dateisystemen (xfsdump / xfsrestore)
Ausführen von Reparaturen an XFS-Dateisystemen
Anleitung zum Vergrößern/Erweitern von XFS-Dateisystemen in CentOS / RHEL mit dem Befehl „xfs_growfs“