![]() |
![]() |
![]() |
Wer den Server intensiv als Fileserver im Netz einsetzt, und den Schülern die Freiheit läßt, diesen Speicherbereich für eine eigene Web-Site und ähnliches zu nutzen, der vermisst eine Beschränkung des von den Schülern (und Lehrern) genutzten Plattenplatzes auf dem Kommunikationsserver. Hierzu ist Quota die Lösung!
Das Quota-Paket erlaubt dem Systemverwalter unter zwei verschiedenen Aspekten den von den Benutzern genutzten Disk-Speicherbereich zu begrenzen: Einerseits kann die Anzahl der von den Nutzern oder einer Gruppe angelegten Dateieinträge (number of inodes), andererseits der Gesamtumfang des genutzten Speicherbereichs auf einer Harddiskpartition (number of disk blocks) für einen User oder eine Gruppe von Usern begrenzt werden. Der Ansatz des Quota-Pakets geht also dahin, die Benutzer zu zwingen, bei Verwendung des Disk-Speicherbereichs vorgebenene Grenzen einzuhalten.
Prinzipiell sind somit für jeden User auf jeder Partition verschiedene Vorgaben einstellbar, die man zudem durch eine Soft- und eine Hartgrenze belegen kann. Doch dazu später mehr.
Der ODS-Server V3.0 ist für die Verwendung von Quotas schon größtenteils vorbereitet. Sie brauchen nur noch wenige Schritte selbst erledigen. Als erstes kontrollieren Sie die Datei /etc/fstab , ob die beiden fett markierten Ergänzungen vorhanden sind:
/dev/hda1 / ext2 defaults 1 1 /dev/hda2 swap swap defaults 1 1 /dev/hda3 /var ext2 defaults,usrquota 1 1 /dev/hda4 /home ext2 defaults,usrquota 1 1 none /proc proc defaults 0 0 /dev/hdc /cdrom iso9660 defaults,ro,user,noauto 0 0 /dev/fd0 /a vfat defaults,rw,umask=000,user,noauto,noexec 0 0
Beim Systemstart muss nun das Quota-Paket gestartet werden. Dazu setzen Sie
in der Datei /etc/rc.config die Zeile "START_QUOTA=yes" .
Anschließend startet Sie den gesamten Server neu (Reboot!).
Bei diesem Neustart prüft Arktur erstmals den Plattenplatz und hinterlegt
für jede Partition in einer Datei "quota.user" die Information für
die entsprechenden Nutzer über den belegten Plattenplatz. Diese Datei
kann dabei einige Megabyte groß werden. Natürlich braucht diese
Prüfung etwas Zeit!
Dazu dient das Programm edquota. Normalerweise sollte vor dem Editieren "quotacheck -avu" aufgerufen werden, um sicherzustellen, dass die aktuelle Plattenbelegung in den Quota-Dateien vorliegt. Das ist mit dem Neustart aber geschehen; nur bei Problemen mit dem Dateisystem sollte das zusätzlich erfolgen.
Erstellen einer Vorlage für die Quotas:
Auf dem ODS-Server gibt es einen nicht weiter benutzten User games. Das Kommando "edquota -u games" startet den Editor für die Quotas:
Quotas for user games: /dev/hda3: blocks in use: 0, limits (soft = 1024, hard = 2048) inodes in use: 0, limits (soft = 20, hard = 30) /dev/hda4: blocks in use: 0, limits (soft = 4096, hard = 6144) inodes in use: 0, limits (soft = 400, hard = 500)
"blocks in use" ist die Gesamtzahl der Blöcke (in Kilobytes),
die der Benutzer auf der Partition belegt hat.
"inodes in use" ist die Gesamtzahl der Dateieinträge, die der
Benutzer auf der Partition angelegt hat.
Auf der Partition /dev/hda3 hat ein Benutzer eigentlich nur seine Mail-Datei
(und ggf. temporäre Dateien beim Drucken), daher wird hier ein Softlimit
von 1MB und ein Hardlimit von 2MB eingetragen, die Anzahl der Dateien auf
20 (max 30) festgesetzt. Auf der Partition /dev/hda4 liegt das Homeverzeichnis,
daher werden hier größere Werte eingetragen.
Zuweisung von Quota-Einstellungen an die anderen Nutzer:
Das schnelle Zuweisen identischer Quota-Setzungen an alle User mit UID über
1999 (das sind auf dem c't-Server die Schüler) oder an alle User mit
UID über 999 (das sind auf dem c't-Server die normalen User, Lehrer
und Schüler) kann dann mit dem Skript /usr/sbin/copyquota
vorgenommen werden, wobei der User games als Vorlage dient.
Außerdem wird bei aktiviertem Quota für alle neu angelegten Nutzer
diese Begrenzung sofort übernommen. Sie können mit dem Befehle
"edquota" aber für jeden einzelnen die Beschränkungen wieder
ändern.
Im Zusammenhang mit Quota sind die folgenden 3 Begriffe wichtig: Soft Limit, Hard Limit, and Grace Period.
Soft Limit
Soft limit gibt den maximal belegbaren Diskspeicher (oder Dateianzahl)
vor, dieein Benutzer auf der Partition belegen kann. Wenn diese Option mit
grace period kombiniert wird, dient diese Angabe als erste Grenze,
ab der der User Quota-Warnungen bekommt, wenn er dieses Limit
überschreitet. Diese Warnungen werden beim Einloggen in den Server beim
Login ausgegeben (oder auch per Mail zugestellt, siehe Warnquota weiter unten!).
Beim Einloggen erhält ein User z.B. dann bei Überschreiten des
Limits bei aktivierter grace period die Meldung:
Hard Limit
Hard limit arbeitet nur, wenn grace period gesetzt ist. Damit wird dann die absolute Obergrenze vorgegeben, die auch kurzfristig nicht überschritten werden kann.
Grace Period
Mit dem Kommando "edquota -t", kann der Wert von grace period gesetzt werden. Dies meint einen Zeitraum, der dem User nach Überschreiten des Soft Limits (bis maximal zum Hard Limit) zur Verfügung gestellt wird, bevor die Anwendung des soft limit erzwungen wird. Benutzte Zeiteinheiten können sec(onds), min(utes), hour(s), day(s), week(s) und month(s) sein. Nach Eingabe von "edquota -t" kann im Editor die folgende Einstellung herbeigeführt werden:
Time units may be: days, hours, minutes, or seconds Grace period before enforcing soft limits for users: /dev/hda3: block grace period: 7 days, file grace period: 7 days /dev/hda4: block grace period: 7 days, file grace period: 7 days
Ein User, der sein Softlimit überschritten hat, bekommt so beim Einloggen entsprechende Rückmeldung, bekommt einem Zeitraum von bis zu 7 Tagen eingeräumt, in dem er das Softlimit bis zum Hardlimit überschreiten darf, danach werden die als Softlimit angegebenen Grenzwerte aktiv.
Quotacheck
Mit Quotacheck werden die Dateien "quota.user" auf den aktuellen Stand gebracht. Der Server führt das jede Nacht automatisch aus.
Repquota
Repquota gibt eine Zusammenfassung des von den Usern belegten Disk-Speicherplatzes aus: Ein Aufruf mit "repquota -av" ergibt:
*** Report for user quotas on /dev/hda3 (/var)
Block limits File limits
User used soft hard grace used soft hard grace
root -- 5615 0 0 563 0 0
bin -- 2 0 0 3 0 0
lp -- 1 0 0 1 0 0
news -- 23 0 0 28 0 0
uucp -- 18 0 0 17 0 0
nobody -- 5030 0 0 4160 0 0
www -- 2 0 0 2 0 0
kwerner -- 4 2048 4096 1 20 40*** Report for user quotas on /dev/hda4 (/home)
Block limits File limits
User used soft hard grace used soft hard grace
root -- 72231 0 0 236 0 0
adm -- 3342 0 0 20 0 0
nobody -- 5 0 0 1 0 0
ftp -- 670 0 0 6 0 0
www -- 17304 0 0 1898 0 0
kwerner -- 207 4096 6144 35 300 400
Quotaon and Quotaoff
Quotaon wird im Start-Skript /etc/rc.d/rc.quota benutzt um Quota einzuschalten; quotaoff um Quota beim Herunterfahren des Servers wieder abzuschalten.
Warnquota
Warnquota versendet Warnungen an Benutzer per eMail. Dieser Befehl wird jede Nacht als Cron-Job (siehe Kapitel 6.8) ausgeführt. Hierdurch werden jeweils nachts die Warnungen an Nutzer versandt, die ihre Speicherplatzgrenzen überschritten haben. Eine solche, per eMail zugestellte Warnung sieht dann z.B. so aus:
Message 1/11 From root Aug 5, 98 04:39:00 pm Return-Path: <root> Date: Wed, 5 Aug 98 16:39 MEST Subject: Quota usage on system To: maxie Cc: root Hi, We noticed that you are in violation with the quotasystem used on this system. We have found the following violations: Block limits File limits Filesystem used soft hard grace used soft hard grace /dev/hda4 +- 4913 4096 6144 7days 38 300 400 We hope that you will cleanup before your grace period expires root (System Super User).
Diese Beschreibung stellt nur eine Einführung in das Thema Quota dar. Sie sollten hier eventuell weiterführende Literatur zu Rate ziehen.
![]() |
![]() |
![]() |