Quota

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Quotas disque par utilisateur/groupe
Commandes quotacheck, edquota, setquota, quotaon, repquota
Contexte Filesystems ext3/ext4 (quotas classiques) — XFS utilise un mécanisme différent (xfs_quota, options de montage uquota/gquota), non couvert ici
Voir aussi options de montage /etc/fstab

Les quotas disque limitent l'espace occupé (en blocs) et le nombre de fichiers (en inodes) qu'un utilisateur ou un groupe peut consommer sur un filesystem. Sur ext3/ext4, le mécanisme repose sur les fichiers aquota.user/aquota.group à la racine du montage et sur les commandes historiques quota-tools (quotacheck, edquota, quotaon, repquota).

Activer les quotas sur un filesystem

Ajouter les options usrquota,grpquota à la ligne concernée de /etc/fstab :

/dev/rootvg/lvhome  /home  ext3  defaults,usrquota,grpquota  1 2

Puis remonter le filesystem pour que les nouvelles options prennent effet (ou mount -o remount /home si on veut éviter de le démonter) :

umount /home
mount /home

Initialiser la base de données des quotas

Créer (ou recréer) les fichiers aquota.user et aquota.group à la racine du filesystem, en scannant les fichiers existants pour calculer l'occupation réelle :

quotacheck -cug /home     # -c : (re)crée les fichiers de quota, -u/-g : utilisateurs/groupes
quotacheck -avug          # rescanne tous les filesystems montés avec quotas (-a) pour resynchroniser les compteurs

quotacheck -avug est aussi utile après un arrêt brutal (fsck, crash) pour resynchroniser les compteurs avec l'état réel du disque.

Activer/désactiver le suivi

quotaon -vug /home     # active l'application des quotas sur le filesystem
quotaoff -vug /home    # désactive (les fichiers aquota.* restent en place)

Assigner des quotas aux utilisateurs

Édition interactive (ouvre le fichier de quota dans $EDITOR) :

edquota username

Le fichier édité se présente ainsi (limites souples et strictes, en blocs puis en inodes) :

Disk quotas for user eisadmin (uid 500):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/mapper/rootvg-lvhome       5000       5000       5000          7        0        0

Dans cet exemple, le quota est fixé à 5 Mo (blocs) pour l'utilisateur, sans limite sur le nombre d'inodes (soft/hard à 0 = illimité).

Pour recopier les quotas d'un utilisateur modèle vers d'autres comptes :

edquota -p user1 user2 user3

Pour assigner un quota en mode non interactif, sans passer par l'éditeur (setquota -u utilisateur bloc-soft bloc-hard inode-soft inode-hard -a filesystem) :

setquota -u user 5000 5000 0 0 -a /home

Configurer le délai de grâce

Le délai de grâce est le temps toléré au-delà de la limite souple (soft) avant que le quota ne soit appliqué comme une limite stricte (hard) :

edquota -t

Le fichier édité se présente ainsi :

Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
  Filesystem             Block grace period     Inode grace period
  /dev/mapper/rootvg-lvhome     0seconds               0seconds

Consulter l'état des quotas

Rapport global sur tous les filesystems avec quotas activés :

repquota -a

Un utilisateur non-root peut consulter son propre quota avec quota sans argument ; root peut consulter celui de n'importe quel utilisateur avec quota -u username.

Voir aussi

  • /etc/fstab — options de montage (dont usrquota/grpquota)