Mettre en place des quotas d'espace disque sur Debian
Les quotas sont un moyen simple de limiter l'espace disque utilisé par certaines de vos applications ou de vos utilisateurs. Cet article est un aide mémoire de mise en place de quotas d'espace disque sur Debian.
Ce guide est testé sur :
- Debian 6.0 Squeeze
Quotas sur dossiers
Les quotas décris dans cet articles sont globaux aux systèmes de fichiers. Si vous souhaitez instaurer des quotas dossiers par dossiers pour un même utilisateur, le moyen le plus simple est l'utilisation du gestionnaire de volumes logiques LVM ou de devices loopback. Créez un disque LVM pour chaque dossier dont vous souhaitez limiter la taille.
Installation
Configuration du système d'exploitation
Chargez le module du noyau chargé de la gestion des quotas, et faites en sorte qu'il soit chargé au démarrage du système :
command modprobe quota_v2 if [ -z "$(command grep 'quota_v2' '/etc/modules')" ]; then command echo 'quota_v2' >> '/etc/modules' fi
Installez les outils de gestion des quotas :
command apt-get install quota quotatool
Configuration du système de fichiers
Pour supporter les quotas, un système de fichiers doit être monté avec l'option "usrquota".
Renseignez le fichier device du système de fichiers sur lequel vous souhaitez activer les quotas :
FS_DEV="/dev/sda3"
Ajoutez l'option usrquota à la ligne fstab du système de fichiers :
command sed -i \ -e "s|^\(${FS_DEV}[ \t]*[^ \t]*[ \t]*[^ \t]*[ \t]*[^ \t]*\)\([ \t].*\)$|\1,usrquota\2|" \ '/etc/fstab'
Remontez le système de fichier avec l'option adéquate :
command mount -o remount,usrquota "${FS_DEV}"
Déterminez le point de montage du système de fichiers :
FS_MOUNT="$(command mount \ | command grep "${FS_DEV}" \ | command cut --delimiter=" " --fields=3)"
Mettez en place les fichiers stockant les informations de quotas :
if [ ! -e "${FS_MOUNT}/aquota.user" ]; then command touch "${FS_MOUNT}/aquota.user" command chmod 600 "${FS_MOUNT}/aquota.user" fi if [ ! -e "${FS_MOUNT}/aquota.qroup" ]; then command touch "${FS_MOUNT}/aquota.group" command chmod 600 "${FS_MOUNT}/aquota.group" fi
Activez les quotas pour le système de fichiers :
command quotacheck -vagum
Configuration
Mettez en place un quotas de 250 Mo sur /home pour l'utilisateur connecté :
command quotatool -u "${USER}" -bq '200M' -l '250 Mb' '/home'
Visualisez les quotas en place sur /home :
command repquota /home
Remerciements
- Merci à Steve pour son article Limiting your users use of disk space with quotas sur Debian Administration.