6.3. Gestion des quotas XFS

Le sous-système de quotas XFS gère les limites de l'espace disque (blocs) et l'usage des fichiers (inodes). Les quotas XFS contrôlent ou rapportent l'usage de ces éléments sur un niveau d'utilisateur, de groupe, de répertoire ou de projet. Veuillez également remarquer que même si les quotas utilisateur, groupe, et répertoire ou projets sont activés indépendamment, les quotas de groupe et de projet sont mutuellement exclusifs.
Lorsque la gestion est effectuée sur une base par répertoire ou par projet, XFS gère l'usage disque des hiérachies de répertoires associées à un projet particulier. Ce faisant, XFS reconnait qu'il existe des limites de « groupe » trans-organisationnelles entre projets. Ceci offre un niveau de contrôle plus important que ce qui est possible lors de la gestion des quotas d'utilisateurs ou de groupes.
Les quotas XFS sont activés lors du montage, avec des options de montage spécifiques. Chaque option de montage peut être spécifiée noenforce ; ceci permettra d'effectuer des rapport d'utilisation sans appliquer de limite. Les options de montage de quotas valides incluent :
  • uquota/uqnoenforce - Quotas d'utilisateurs
  • gquota/gqnoenforce - Quotas de groupes
  • pquota/pqnoenforce - Quotas de projets
Une fois les quotas activés, l'outil xfs_quota peut être utilisé pour définir les limites et effectuer un rapport sur l'utilisation du disque. Par défaut, xfs_quota est exécuté de manière interactive et dans le mode de base. Les sous-commandes du mode de base rapportent simplement l'usage et sont disponibles à tous les utilisateurs. Les sous-commandes xfs_quota de base incluent :
quota username/userID
Afficher l'utilisation et les limites pour le nom d'utilisateur username donné ou l'ID numérique userID donné
df
Afficher le compte des blocs et inodes disponibles et utilisés
En revanche, xfs_quota possède également un mode expert. Les sous-commandes de ce mode permettent la configuration des limites, et sont uniquement disponibles aux utilisateurs possédant des privilièges élevés. Pour utiliser les sous-commandes du mode expert de manière interactive, veuillez exécuter xfs_quota -x. Les sous-commandes du mode expert incluent :
report /path
Rapport des informations sur les quotas d'un système de fichiers particulier
limit
Modifier les limites de quota.
Pour une liste complète des sous-commandes du mode de base ou du mode expert, veuillez utiliser la sous-commande help.
Toutes les sous-commandes peuvent également être exécutées directement à partir de la ligne de commande en utilisant l'option -c, avec -x pour les sous-commandes du mode expert.

Exemple 6.2. Afficher un exemple de rapport de quotas

Par exemple, pour afficher un exemple de rapport de quotas pour /home (sur /dev/blockdevice), veuillez utiliser la commande xfs_quota -x -c 'report -h' /home. Ceci affichera une sortie similaire à la suivante :
User quota on /home (/dev/blockdevice)
                        Blocks              
User ID      Used   Soft   Hard Warn/Grace   
---------- --------------------------------- 
root            0      0      0  00 [------]
testuser   103.4G      0      0  00 [------]
...
Pour paramétrer une limite dure (« hard ») et une limite douce (« soft ») du compte d'inode, respectivement de 500 et 700 pour l'utilisateur john (dont le répertoire d'acceuil est /home/john), veuillez utiliser la commande suivante :
# xfs_quota -x -c 'limit isoft=500 ihard=700 john' /home/
Dans ce cas, passez l'option mount_point qui correspond au système de fichiers xfs monté.
Par défaut, la sous-commande limit reconnaît les cibles en tant qu'utilisateurs. Lors de la configuration des limites d'un groupe, veuillez utiliser l'option -g (comme dans l'exemple précédent). De la même manière, veuillez utiliser -p pour les projets.
Les limites de blocs dures (« hard ») et douces (« soft ») peuvent également être configurées à l'aide de bsoft ou bhard au lieu de isoft ou ihard.

Exemple 6.3. Définir une limite douce (« soft ») et une limite dure (« hard »)

Par exemple, pour définir une limite douce (« soft ») et une limite dure (« hard ») avec des valeurs respectives de 1000m et 1200m pour grouper accounting sur le système de fichiers /target/path, veuillez utiliser la commande suivante :
# xfs_quota -x -c 'limit -g bsoft=1000m bhard=1200m accounting' /target/path

Note

Les commandes bsoft et bhard comptent par octets.

Important

Même si les blocs en temps réel (rtbhard/rtbsoft) sont décrits dans man xfs_quota comme étant des unités valides lors du paramétrage de quotas, le sous-volume en temps réel n'est pas activé dans cette version. Ainsi, les options rtbhard et rtbsoft ne sont pas applicables.

Paramétrer des limites de projets

Avant de configurer les limites des répertoires contrôlés par projets, veuillez les ajouter à /etc/projects. Les noms de projets peuvent être ajoutés à /etc/projectid pour lier les ID de projets aux noms de projets. Une fois qu'un projet est ajouté à /etc/projects, veuillez initialiser son répertoire de projet en utilisant la commande suivante :
# xfs_quota -x -c 'project -s projectname' project_path
Les quotas pour les projets avec des répertoires initialisés peuvent ensuite être configurés avec :
# xfs_quota -x -c 'limit -p bsoft=1000m bhard=1200m projectname'
Les outils génériques de configuration de quotas (par exemple quota, repquota, et edquota) peuvent également être utilisés pour manipuler les quotas XF. Cependant, ces outils ne peuvent pas être utilisés avec les quotas des projets XFS.

Important

Red Hat recommande fortement d'utiliser l'option xfs_quota sur tous les autres outils disponibles.
Pour obtenir davantage d'informations sur le paramétrage de quotas XFS, veuillez consulter man xfs_quota, man projid(5), et man projects(5).