Lenny/Quotas
Archiv: Dieser Artikel beschreibt nicht die Funktionalität des derzeit aktuellen delixs-Servers. Er beschreibt ältere Schulserver-Funktionen und dient dem Zweck der Archivierung. |
Quotas
Quotas installieren
Mit Quotas können Sie festlegen und überwachen, wie viel Plattenplatz ein Benutzer belegen darf.
Die Installation erfolgt mit:
aptitude install quota
Damit diese Quotas aktiv werden, müssen sie in die Datei "/etc/fstab" eingetragen werden. Schalten Sie Quotas nur für Bereiche ein, für die diese auch wirklich benötigt werden. Hier werden wir es für "/home" einschalten.
Vor der Veränderung einer Datei sollte immer eine Sicherheitskopie angelegt werden
cp /etc/fstab /etc/fstab.org2
damit eventuell später der originale Zustand wieder hergestellt werden kann.
Diese Datei sieht dann so aus:
<source highlight="5-9" lang="text">
- /etc/fstab: static file system information.
- <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0 /dev/sda1 / ext3 acl,user_xattr,defaults,errors=remount-ro 0 1 /dev/sda9 /home xfs defaults,usrquota,grpquota 0 2 /dev/sda8 /tmp ext3 acl,user_xattr,defaults 0 2 /dev/sda5 /usr ext3 acl,user_xattr,defaults 0 2 /dev/sda6 /var ext3 acl,user_xattr,defaults 0 2 /dev/sda7 none swap sw 0 0 /dev/hda /media/cdrom udf,iso9660 user,noauto 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto 0 0 </source>
Die Partition wird nun noch neu gemountet mit den Befehlen:
mount -o remount /home
Kontrollien Sie, ob Quota nun für die gewünschte Partition verfügbar ist:
mount
Die Ausgabe sollte etwa so aussehen:
<source lang="text">
/dev/sda1 on / type ext3 (rw,acl,user_xattr,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sda9 on /home type xfs (rw,usrquota,grpquota)
/dev/sda8 on /tmp type ext3 (rw,acl,user_xattr)
/dev/sda5 on /usr type ext3 (rw,acl,user_xattr)
/dev/sda6 on /var type ext3 (rw,acl,user_xattr)
</source>
Quota in ext3-Filsystemen einrichten
Da der Entwicklungsserver nur für die /home-Partition (xfs-Filesystem) Quota benötigt, können Sie dieses Kapitel überspringen.
Falls Sie aber Quotas für ein ext3-Filesystem nutzen möchten, lesen Sie hier weiter.
Die momentanen Daten des verbrauchten Speicherplatzes durch die Nutzer werden in den zwei Dateien:
/home/aquota.group
/home/aquota.user
gesammelt mit dem Befehl:
quotacheck -avugcm
wobei -avugcm für alle (a) geschwätzig (v) Userquota (u) Gruppenquota (g) erstelle neue Quotadateien (c) und nicht remounten (m) steht. Bevor Quotas zum ersten Mal aktiviert werden können, muss das Sammeln der Verbrauchsinformationen mittels oben beschriebenem "quotacheck..." jetzt einmalig per Hand durchgeführt werden.
Nun erst können Sie die Quotas aktivieren mit
quotaon -a
wobei -a für alle Partitionen (a) steht. Wieder abgeschaltet können die Quotas mit dem Befehl quotaoff /home
werden. Das werden Sie aber nur im Notfall tun müssen.
Quota in xfs-Filsystemen einrichten
Das Filesystem xfs verwaltet Quotas intern. Sie müssen also nichts tun.
Quotas verwenden
Einem einzelnen User Quotas zuweisen können Sie nun mit:
edquota <username>
Die Limits bestehen aus Quotas für den Speicherplatz:
- Hardlimit: darf nie überschritten werden
- Softlimit: darf kurzzeitig überschritten werden. Es erfolgt eine Warnung.
für die Anzahl der Dateien (Inodes):
- Hardlimit: darf nie überschritten werden
- Softlimit: darf kurzzeitig überschritten werden. Es erfolgt eine Warnung.
und für die Grace Period (maximale Überschreitungszeit)
- Days: Tage
zu setzen mittels Befehl edquota -t
- für Speicherplatz sollte '21days' eingetragen werden.
Hinweis: Eine 0 bedeutet beliebig viele, also ohne Limitierung.
Quotas testen
Der Test ist jetzt noch nicht möglich, da es ja noch keine eingerichteten Nutzer im System gibt. Verstehen Sie also den Testvorgang als Anleitung für später auszuführende Tests.
Um Quotas zu testen, erstellen Sie als Benutzer 'testuser' eine Datei mit einer Größe von 500 MB mit den Anweisungen:
su - testuser dd if=/dev/zero of=~/meine_datei.txt bs=1024 count=500000
Ein Aufruf von quota
als User 'testuser' zeigt dann an:
<source lang="text"> Disk quotas for user testuser (uid 2006):
Filesystem blocks quota limit grace files quota limit grace /dev/sda6 499992* 400000 500000 20days 443 0 0
</source>
Quotas kontrollieren
Das Anzeigen der Quotasituation als root erfolgt mit dem Befehl repquota (report quotas):
repquota -avug
wobei -avug für alle (a) geschwätzig (v) Userquota (u) und Gruppenquota (g) steht.
Weblinks
- http://www.debian.de
- http://debiananwenderhandbuch.de
- http://wiki.debianforum.de/
- http://www.debianforum.de/forum/
Hans-Dietrich Kirmse, Uwe Schoffer 2009