Dateisystem-Quota einrichten

Kategorie: Linux
Erstellt: 31.10.2019

Auf Webservern wird empfohlen, das Dateisystem-Quota einzurichten, um den von Webhosting-Verträgen belegten Speicherplatz prüfen und begrenzen zu können. Wenn ein Server ausschließlich als Datenbank- oder Mailserver genutzt wird, ist kein Dateisystem-Quota erforderlich.

LiveConfig nutzt das sogenannte Gruppen-Quota - der Speicherplatz wird also pro Gruppe begrenzt.

Quota-System installieren

Installieren Sie das Paket “quota”, je nach Distribution:

  • Debian/Ubuntu:

    root@srv:~# apt install quota
    
  • CentOS / Red Hat Enterprise Linux:

    root@srv:~# yum install quota
    
  • openSUSE:

    root@srv:~# zypper install quota
    

Dateisystem-Quota aktivieren

  • bei ext3/ext4-Dateisystemen fügen Sie die Optionen grpjquota=aquota.group,jqfmt=vfsv0 in der Datei /etc/fstab ein, z.B.:

    UUID=[...]  /  ext4  errors=remount-ro,grpjquota=aquota.group,jqfmt=vfsv0  0  1

    Dann mounten Sie das betroffene Dateisystem neu:

    root@srv:~# mount -vo remount <file system>
    

    Anschließend lassen Sie die aktuelle Quota-Belegung berechnen:

    root@srv:~# quotacheck -vgm <file system>
    

    Schließlich können Sie das Quota aktivieren:

    root@srv:~# quotaon -vg <file system>
    
  • bei XFS-Dateisystemen kommt es darauf an, ob Quota auf dem root-Dateisystem (/) oder auf irgendeinem anderen Dateisystem aktiviert werden soll. Möchten Sie es auf einem nicht-root-Dateisystem aktivieren, fügen Sie einfach die Option grpquota in die /etc/fstab ein und mounten es anschließend neu:

    UUID=[...]  /var  xfs  errors=remount-ro,grpjquota  0  1
    root@srv:~# mount -vo remount <file system>
    

    Wenn Quota hingegen auf dem root-Dateisystem aktiviert werden soll, müssen Sie die Option rootflags=grpquota zu den Boot-Flags des Kernels hinzufügen. Wenn der Server einen Bootloader wie z.B. Grub verwendet, fügen Sie diese Option in die entsprechende Konfigurationsdatei ein; beim Booten einer virtuellen Maschine muss diese eventuell in die Host-Konfigurationsdatei eingefügt werden (bei Xen beispielsweise die Option extra = 'rootglags=grpquota').

  • bei Virtuozzo-/OpenVZ-Containern muss das sogenannte second level quota für den gewünschten Container aktiviert werden, was nur der Administrator des Hostsystems machen kann. Weitere Informationen hierzu finden Sie in der Virtuozzo-Dokumentation bzw. im OpenVZ-Wiki.

    Setzen Sie die Option quotaugidlimit auf die maximale Anzahl an Benutzern und Gruppen im Container, inklusive aller Systembenutzer und -Gruppen. Anschließend starten Sie den Container neu, um die Änderungen anzuwenden.

    Im folgenden Beispiel wird Quota für den Container 101 mit maximal 500 Benutzern/Gruppen aktiviert:

    root@srv:~# vzctl set 101 --quotaugidlimit 500 --save
    Unable to apply new quota values: ugid quota not initialized
    Saved parameters for CT 101
    root@srv:~# vzctl restart 101
    Restarting container
    Stopping container ...
    Container was stopped
    Container is unmounted
    Starting container ...
    Container is mounted
    Adding IP address(es): 192.168.100.101
    Setting CPU units: 1000
    Configure meminfo: 65536
    File resolv.conf was modified
    Container start in progress...
    

Dateisystem-Quota testen

Mit dem Befehl repquota -ag können Sie testen, ob das Gruppen-Quota aktiv ist:

root@srv:~# repquota -ag
*** Report for group quotas on device /dev/disk/by-uuid/[...]
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
Group           used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      -- 1203900       0       0          51406     0     0
[...]