Les quotas disque limitent l'espace ou le nombre de fichiers qu'un
utilisateur ou un groupe peut consommer sur un système de fichiers, et évitent
qu'un seul compte sature le serveur. Ce guide montre comment les activer et les
gérer sur ext4 (options usrquota/grpquota, quotacheck, edquota) et
sur XFS (xfs_quota), deux mécanismes différents qu'il ne faut pas
mélanger, puis fait le tour de Btrfs, ZFS et du cas LVM. Il
s'adresse aux administrateurs de serveurs multi-utilisateurs : serveurs de
fichiers, hébergement mutualisé, machines de build partagées. À la fin, vous
saurez poser des limites soft et hard, régler la période de grâce et
surveiller l'usage avec repquota.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Distinguer limites souples et strictes, quotas de blocs et d'inodes ;
- Activer les quotas sur ext4 avec les options de montage
usrquotaetgrpquota; - Gérer les quotas XFS avec
xfs_quota, sansquotacheck; - Définir des limites par utilisateur avec
edquotaousetquota; - Surveiller l'utilisation avec
repquotaet diagnostiquer les blocages.
Comprendre les quotas disque sous Linux
Section intitulée « Comprendre les quotas disque sous Linux »Un quota disque est une limite définie sur la quantité d'espace disque ou sur le nombre de fichiers qu'un utilisateur ou un groupe peut utiliser sur un système Linux. L'objectif est de prévenir la saturation du disque par une utilisation excessive et de garantir un partage équitable des ressources.
Utilité des quotas
Section intitulée « Utilité des quotas »Dans les environnements multi-utilisateurs, les quotas sont essentiels pour :
- Éviter les abus de ressources en limitant l'espace individuel.
- Prévenir les pannes système liées à la saturation du disque.
- Planifier et dimensionner efficacement les ressources selon les besoins réels.
Les quotas sont particulièrement utilisés sur les serveurs de fichiers, les hébergements mutualisés et les infrastructures cloud, partout où plusieurs comptes se partagent le même volume.
Types de quotas
Section intitulée « Types de quotas »Linux propose principalement deux types de quotas :
- Quota de bloc : limite la quantité d'espace disque (en Ko, Mo, Go) qu'un utilisateur ou un groupe peut consommer.
- Quota d'inode : limite le nombre total de fichiers qu'un utilisateur ou groupe peut créer.
Chaque type de quota peut être défini pour un utilisateur individuel ou pour un groupe d'utilisateurs.
Limites souples et limites strictes
Section intitulée « Limites souples et limites strictes »- Limite souple (soft limit) : seuil que l'utilisateur peut dépasser temporairement. Le système autorise un dépassement pendant une période de grâce configurable (7 jours par défaut).
- Limite stricte (hard limit) : valeur absolue à ne jamais dépasser. Dès que cette limite est atteinte, aucune écriture supplémentaire n'est autorisée.
Exemple : un utilisateur a une limite souple de 5 Go et une limite stricte de 6 Go. Il peut utiliser jusqu'à 6 Go, mais doit revenir sous 5 Go avant la fin de la période de grâce, sinon la limite souple devient bloquante à son tour.
Un mécanisme par système de fichiers
Section intitulée « Un mécanisme par système de fichiers »La gestion des quotas dépend du système de fichiers : les commandes ne sont pas interchangeables, et c'est la source d'erreur la plus fréquente sur ce sujet. Ce tableau résume qui fait quoi avant d'entrer dans le détail.
| Système de fichiers | Mécanisme | Outils |
|---|---|---|
| ext4 | Quotas utilisateur/groupe activés par les options de montage usrquota/grpquota | quotacheck, quotaon, edquota, setquota, repquota |
| XFS | Quotas activés au montage via uquota/gquota/pquota, décompte interne | xfs_quota uniquement |
| Btrfs | Qgroups par sous-volume, pas de quotas utilisateur | btrfs qgroup |
| ZFS | Propriétés par dataset ou par utilisateur | zfs set quota / userquota@ |
Quotas sur ext4
Section intitulée « Quotas sur ext4 »Le système de fichiers ext4 est le plus courant sur les distributions Linux. Il prend en charge les quotas, mais nécessite une configuration en plusieurs étapes : options de montage, création des fichiers de décompte, puis activation.
Installation
Section intitulée « Installation »Le support des quotas est compilé dans le noyau de toutes les distributions courantes. Vous pouvez le vérifier :
grep CONFIG_QUOTA= /boot/config-$(uname -r)La sortie doit afficher CONFIG_QUOTA=y. Installez ensuite les outils en
espace utilisateur :
sudo apt install quotaSur RHEL et dérivés, le paquet s'appelle aussi quota (sudo dnf install quota).
Activation
Section intitulée « Activation »Ajoutez les options usrquota (quotas utilisateur) et grpquota
(quotas de groupe) sur la ligne de la partition concernée dans /etc/fstab, le
fichier qui décrit les montages persistants :
UUID=xxx /home ext4 defaults,usrquota,grpquota 0 2Rechargez la configuration systemd (qui génère des unités de montage depuis
/etc/fstab) puis remontez la partition :
sudo systemctl daemon-reloadsudo mount -o remount /homeVérifiez que les options sont bien prises en compte :
findmnt /homeLa colonne OPTIONS doit contenir usrquota et grpquota. Créez ensuite les
fichiers de décompte (aquota.user et aquota.group à la racine de la
partition) avec quotacheck, qui parcourt le système de fichiers et
comptabilise l'existant :
sudo quotacheck -cugm /homeLes options : -c crée les fichiers de quota, -u traite les utilisateurs,
-g les groupes, -m évite de remonter la partition en lecture seule pendant
l'analyse. Activez enfin l'application des limites :
sudo quotaon /homeÀ partir de là, le noyau tient le décompte à jour en continu : quotacheck ne
sert plus qu'à resynchroniser après un incident.
Définir et consulter les limites
Section intitulée « Définir et consulter les limites »La commande edquota ouvre les limites d'un utilisateur dans votre éditeur
de texte :
sudo edquota aliceLe fichier présenté contient, pour chaque système de fichiers, l'usage courant
puis quatre colonnes à remplir : limites soft et hard en blocs de 1 Ko,
puis limites soft et hard en inodes. La valeur 0 signifie « pas de limite ».
Pour scripter la même opération sans éditeur, utilisez setquota :
sudo setquota -u alice 5242880 6291456 0 0 /homeIci 5242880 blocs de 1 Ko = 5 Go en limite souple, 6291456 = 6 Go en limite stricte, et aucune limite d'inodes. La période de grâce se règle globalement par système de fichiers :
sudo edquota -tEnfin, deux commandes de consultation : repquota donne la vue
administrateur de toute la partition, et quota la vue d'un compte
(l'option -s affiche des tailles lisibles) :
sudo repquota -s /homequota -us aliceQuotas sur XFS
Section intitulée « Quotas sur XFS »Le système de fichiers XFS, le
choix par défaut de RHEL, gère les quotas de façon radicalement différente
d'ext4 : il n'y a ni quotacheck ni quotaon à lancer. Le décompte est tenu en
interne par le système de fichiers et les quotas s'activent au montage.
Activation
Section intitulée « Activation »Ajoutez les options uquota (utilisateurs) et gquota (groupes) dans
/etc/fstab ; XFS propose aussi pquota pour des quotas par projet
(arborescence de répertoires) :
UUID=xxx /data xfs defaults,uquota,gquota 0 0Attention, piège classique : contrairement à ext4, ces options ne sont pas
prises en compte par un simple remontage. Un mount -o remount /data ne
change rien, il faut démonter puis remonter la partition :
sudo umount /datasudo mount /dataPour le système de fichiers racine, impossible de le démonter : passez
l'option au noyau via rootflags=uquota dans la configuration GRUB, puis
redémarrez. Vérifiez ensuite l'état des quotas :
sudo xfs_quota -x -c 'state' /dataLa sortie doit indiquer Accounting: ON et Enforcement: ON pour les types de
quota activés.
Toute la gestion passe par xfs_quota en mode expert (-x). Définir des
limites pour un utilisateur, avec les suffixes k, m, g ou t :
sudo xfs_quota -x -c 'limit -u bsoft=5g bhard=6g alice' /dataAfficher un rapport de toute la partition (-h pour des tailles lisibles) :
sudo xfs_quota -x -c 'report -h' /dataLes commandes edquota et repquota du paquet quota savent aussi dialoguer
avec XFS, mais autant prendre l'habitude de l'outil natif : c'est lui qui expose
toutes les fonctionnalités, notamment les quotas de projet.
Quotas sur Btrfs
Section intitulée « Quotas sur Btrfs »Le système de fichiers Btrfs aborde le sujet sous un angle totalement différent : il ne gère pas de quotas par utilisateur ou par groupe. Ses qgroups limitent l'espace consommé par des sous-volumes. Si votre besoin est « limiter l'utilisateur alice à 5 Go », Btrfs ne sait pas le faire directement ; si c'est « limiter le sous-volume de chaque projet », les qgroups répondent bien.
Activation
Section intitulée « Activation »Le support est natif dans le noyau, sans outil supplémentaire. Activez le suivi des quotas sur le système de fichiers :
sudo btrfs quota enable /mntChaque sous-volume reçoit un qgroup. Listez-les, puis posez une limite sur un sous-volume :
sudo btrfs qgroup show /mntsudo btrfs qgroup limit 5G /mnt/sousvolumeGardez en tête que l'activation des qgroups a un coût en performance, surtout avec de nombreux snapshots : ne l'activez que si vous en avez besoin.
Quotas sur ZFS
Section intitulée « Quotas sur ZFS »Avec ZFS, les quotas ne sont pas une option de montage mais une simple propriété de dataset, modifiable à chaud. C'est l'approche la plus souple des quatre.
Installation
Section intitulée « Installation »Installez ZFS et ses outils (zfsutils-linux sur Debian/Ubuntu, où le module
noyau est fourni via DKMS) :
sudo apt install zfsutils-linuxLimiter la taille totale d'un dataset :
sudo zfs set quota=10G tank/homeZFS sait aussi limiter un utilisateur précis à l'intérieur d'un dataset,
avec la propriété userquota@ :
sudo zfs set userquota@alice=5G tank/homeVérifiez l'espace utilisé par dataset avec zfs list, et la consommation par
utilisateur avec zfs userspace tank/home.
Et sur LVM ?
Section intitulée « Et sur LVM ? »LVM (Logical Volume Manager, le gestionnaire de volumes logiques) n'intervient pas au même niveau : c'est une couche de gestion de volumes sous le système de fichiers, pas un système de fichiers. Les quotas se configurent donc sur le système de fichiers posé au-dessus du volume logique (ext4, XFS...), exactement comme sur une partition classique.
Exemple d'activation sur un volume LVM en ext4, dans /etc/fstab :
/dev/mapper/vg_data-lv_home /home ext4 defaults,usrquota,grpquota 0 2Puis la même séquence que pour une partition ext4 :
sudo mount -o remount /homesudo quotacheck -cugm /homesudo quotaon /homeCas spécial : snapshots LVM
Section intitulée « Cas spécial : snapshots LVM »Les fichiers et le décompte de quotas vivent dans le système de fichiers :
un snapshot LVM les
embarque donc avec le reste des données. Le point de vigilance se situe
après un retour arrière (lvconvert --merge) : le décompte restauré peut ne
plus refléter l'activité qui a eu lieu entre le snapshot et la restauration. Sur
ext4, resynchronisez-le :
sudo quotacheck -avugmSur XFS, rien à faire : le système de fichiers vérifie la cohérence de son décompte au montage et le reconstruit si nécessaire.
Bonnes pratiques pour la gestion des quotas disque
Section intitulée « Bonnes pratiques pour la gestion des quotas disque »La mise en place des quotas disque est une étape essentielle pour assurer la stabilité et l'équilibre de l'utilisation du stockage. Voici les bonnes pratiques à respecter pour une gestion efficace et durable.
Planifier l'utilisation de l'espace
Section intitulée « Planifier l'utilisation de l'espace »Avant d'appliquer des quotas, évaluez :
- Le nombre d'utilisateurs et de groupes.
- Le volume moyen d'espace nécessaire par utilisateur.
- Les besoins spécifiques (ex. : utilisateurs techniques vs utilisateurs bureautiques).
Astuce : réservez une marge pour les opérations système et les pics d'activité, et préférez des limites soft légèrement sous les limites hard pour laisser aux utilisateurs le temps de faire le ménage.
Choisir la méthode adaptée au système de fichiers
Section intitulée « Choisir la méthode adaptée au système de fichiers »- Sur ext4, suivez la séquence complète : options de montage,
quotacheck,quotaon. - Sur XFS, utilisez toujours
xfs_quotaet souvenez-vous que l'activation exige un vrai démontage, pas un remount. - Sur Btrfs, activez les qgroups (
btrfs quota enable) en sachant qu'ils limitent des sous-volumes, pas des utilisateurs. - Sur LVM, appliquez les quotas sur le système de fichiers monté, pas sur les volumes logiques eux-mêmes.
Surveiller régulièrement l'utilisation
Section intitulée « Surveiller régulièrement l'utilisation »Un quota qui bloque un utilisateur sans prévenir génère des tickets ; un rapport
régulier permet d'anticiper. Planifiez un contrôle périodique via cron pour
détecter les dépassements :
0 3 * * * /usr/sbin/repquota -a | mail -s "Rapport quotas quotidien" rootVous pouvez aussi remonter ces métriques dans votre outil de supervision pour déclencher des alertes avant que la limite stricte ne soit atteinte.
Adapter les quotas selon l'évolution des besoins
Section intitulée « Adapter les quotas selon l'évolution des besoins »- Ajustez les limites de quotas tous les 6 à 12 mois en fonction de l'utilisation réelle.
- Supprimez ou archivez les comptes inactifs pour libérer de l'espace disque.
- Tenez compte de l'arrivée de nouveaux projets ou services gourmands en stockage.
Documenter la politique de quotas
Section intitulée « Documenter la politique de quotas »- Informez clairement les utilisateurs de leurs limites d'espace et des actions en cas de dépassement.
- Documentez la procédure d'alerte et de demande d'augmentation de quota.
Dépannage
Section intitulée « Dépannage »La plupart des problèmes de quotas viennent d'options de montage absentes, de la confusion ext4/XFS ou d'un décompte désynchronisé. Ce tableau regroupe les symptômes les plus fréquents.
| Symptôme | Cause probable | Solution |
|---|---|---|
quotacheck répond qu'il ne trouve pas de système de fichiers à vérifier | Options usrquota/grpquota absentes de /etc/fstab, ou partition non remontée depuis leur ajout | Vérifier avec findmnt /home, corriger /etc/fstab, remonter |
Les quotas XFS restent inactifs après mount -o remount | XFS n'applique uquota/gquota qu'au montage initial | Démonter puis remonter la partition ; pour la racine, rootflags= et redémarrage |
Disk quota exceeded alors que l'espace semble disponible | Limite d'inodes atteinte, ou période de grâce de la limite soft expirée | quota -us alice pour voir blocs et inodes ; ajuster avec edquota |
repquota affiche des chiffres incohérents avec du | Décompte désynchronisé (arrêt brutal, restauration de snapshot) sur ext4 | Relancer sudo quotacheck -avugm puis sudo quotaon |
quotacheck lancé sur une partition XFS | Confusion entre les deux mécanismes : XFS n'utilise pas quotacheck | Utiliser xfs_quota -x -c 'state' et -c 'report' à la place |
Mettre en pratique
Section intitulée « Mettre en pratique »Passez à la pratique sur une VM : activer les quotas XFS sur un système de fichiers et imposer une limite à un utilisateur, jusqu'à voir l'écriture refusée au dépassement.
Contrôle de connaissances
Section intitulée « Contrôle de connaissances »Vérifiez que l'essentiel de ce guide est acquis. Les questions portent uniquement sur ce qui vient d'être expliqué ici.
Contrôle de connaissances
Validez vos connaissances avec ce quiz interactif
Informations
- Le chronomètre démarre au clic sur Démarrer
- Questions à choix multiples, vrai/faux et réponses courtes
- Vous pouvez naviguer entre les questions
- Les résultats détaillés sont affichés à la fin
Lance le quiz et démarre le chronomètre
Vérification
(0/0)Profil de compétences
Quoi faire maintenant
Ressources pour progresser
Des indices pour retenter votre chance ?
Nouveau quiz complet avec des questions aléatoires
Retravailler uniquement les questions ratées
Retour à la liste des certifications
À retenir
Section intitulée « À retenir »- Un quota limite les blocs (espace) ou les inodes (nombre de fichiers) ; la limite soft tolère un dépassement pendant la période de grâce, la limite hard bloque immédiatement.
- Sur ext4 : options
usrquota/grpquotadans/etc/fstab, puisquotacheck -cugm, puisquotaon; les limites se posent avecedquotaousetquota. - Sur XFS : options
uquota/gquotaet gestion viaxfs_quota; pas dequotacheck, et l'activation exige un démontage complet, pas un remount. - Btrfs limite des sous-volumes (qgroups), pas des utilisateurs ; ZFS
fait les deux avec les propriétés
quotaetuserquota@. - LVM ne gère pas de quotas : ils se configurent sur le système de fichiers posé au-dessus du volume logique.
repquota -spour la vue administrateur,quota -uspour la vue d'un compte : surveillez avant que la limite stricte ne bloque les utilisateurs.
Pour aller plus loin
Section intitulée « Pour aller plus loin »- Montage et persistance des systèmes de fichiers : fiabiliser les options de
/etc/fstab, dont dépendent les quotas ext4 et XFS. - Analyser l'espace disque : mesurer qui consomme quoi avant de dimensionner les limites.
- Snapshots LVM : comprendre le mécanisme de snapshot évoqué dans ce guide et ses limites.