Vous êtes ici : Accueil / Debian GNU/Linux / Système / Configuration / Mettre en place des quotas d'espace disque sur Debian

Mettre en place des quotas d'espace disque sur Debian

Par Pierre-Yves Landuré Dernière modification 19/10/2012 13:38

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