Quota mini-HOWTO

v0.5, 9 aug 2003

Inleiding: Dit document is geschreven door Ralf van Dooren (r.vdooren@snow.nl). De oorspronkelijke tekst en opzet van dit document is copyleft-ed door Albert M.C. Tam, veel dank aan hem voor deze initiële mini-HOWTO. Dit document is uitgegeven onder de GNU Free Documentation License. Permission to use, copy, distribute this document for non-commercial purposes is hereby granted, provided that the author's / editor's name and this notice appear in all copies and/or supporting documents; that this document is not modified. This document is distributed in hope that it will be useful, but WITHOUT ANY WARRANTY, either expressed or implied. While every effort has been taken to ensure the accuracy of the information documented herein, the author / editor / maintainer assumes NO RESPONSIBILITY for errors, or for damages results for the use of the information documented herein. In dit document wordt beschreven hoe de bestandssysteemquota te activeren op een Linux host, quota toe te kennen aan gebruikers en groepen, als ook het gebruik van de diverse quota opdrachten. Het is bedoeld voor gebruikers draaiend kernel 2.x (recent getest met kernel 2.4.21). Stuur gerust feedback of commentaar naar r.vdooren@snow.nl mocht je een fout aantreffen of enige informatie hierin ontbreekt. Ik waardeer het.

Wat is quota?

Waar dient quota voor?Met quota kun je limieten opgeven op twee aspecten van diskopslag: het aantal inodes waarover een gebruiker of groep gebruikers kan beschikken; en het aantal diskblokken dat door een gebruiker of groep gebruikers kan worden toegewezen.Het idee achter quota is dat gebruikers worden gedwongen onder hun diskverbruikslimiet te blijven, hen de mogelijkheid ontnemend om onbeperkt diskruimte op een systeem in gebruik te nemen. Quota wordt afgehandeld per gebruiker, per bestandssysteem. Zijn er meer bestandssystemen waarop een gebruiker bestanden aan kan maken, dan moet quota voor elk bestandssysteem apart worden ingesteld. Er bestaan diverse utility's om het quota beleid op je systeem te beheren en automatiseren.
Benodigdheden voor quota

KernelDe 2.x kernelbroncode is beschikbaar vanaf Gebruik alsjeblieft één van de beschikbare mirrors om bandbreedte te besparen. Als je een recente versie hebt van tar, dan kun je het .bz2 gecomprimeerde bestand downloaden.Pak de kernel uit: cd /usr/src tar jxvf /path/to/linux-2.4.21-tar.bz2 - voor bzip2 kernel - tar zxvf /path/to/linux-2.4.21-tar.gz - voor gzip kernel - ln -s /usr/src/linux-2.4.21 /usr/src/linux
Quota setup: installatie en configuratie

Patch de kernel Download de patch voor je kernel vanaf:.Kies je kernelversie en download de patch(es). Pas de patch toe op de kernel met de opdracht 'patch'. Is er meer dan 1 patch voor je kernelversie, zorg dan dat je de patches in de juiste volgorde toepast.Je kunt dit script gebruiken ( Ik ga er van uit dat de gedownloadde patches in /tmp/quota/ staan en de kernel is uitgepakt in /usr/src/linux) :#!/bin/sh gunzip /tmp/quota/*.gz cd /usr/src/linux COUNT=`ls -1 /tmp/quota/*.diff | wc -l` for I in `seq 1 $COUNT` do patch -p1 < /tmp/quota/quota-2.4.21-$I-*.diff done
Quota setup: toolsDeze bewerking wordt uitgevoerd met de opdracht edquota (`man edquota` voor details).

Quota toekennen aan een bepaalde gebruikerHier is een voorbeeld. Ik heb op mijn systeem een gebruiker met de login-ID bob. Nadat ik de opdracht "edquota -u bob" heb opgestart, opent vi (of editor aangegeven in de omgevingsvariabele $EDITOR) om de quota voor gebruiker bob op elke partitie waarop quota is geactiveerd te bewerken: Quotas for user bob: /dev/hda3: blocks in use: 2594, limits (soft = 5000, hard = 6500) inodes in use: 356, limits (soft = 1000, hard = 1500)"blocks in use" is het totaal aantal blokken (in kilobytes) dat een gebruiker op een partitie heeft verbruikt."inodes in use" is het totaal aantal inodes dat een gebruiker op een partitie heeft verbruikt.
Diverse quota opdrachten

QuotacheckQuotacheck wordt gebruik om een bestandssysteem op diskverbruik te scannen en de quota recordfile "aquota.user" wordt ermee bijgewerkt tot de meest recente status. Ik raad je aan de quotacheck tijdens de systeemstart uit te voeren en periodiek via cronjob (stel, elke week?).