Avec les quotas on peut limiter l'espace alloué a un ou
plusieurs utilisateurs, à un groupe, contrôler
l'occupation des inodes, du nombre de fichiers
créés.
Le système de fichiers XFS supporte très
simplement les quotas, mais on ne les active pas de la même
façon que par exemple avec un système de fichiers
ext3, il n'y a pas de fichier aquota.user et aquota.group.
Pour activer les quotas sur XFS, il suffit dans un premier temps
d'ajouter l'option uquota sur la ligne de la partition dans /etc/fstab
ou dans la commande mount. Exemple :
|
LABEL=/data2
/media/hdc2
xfs noatime,nodiratime,user,uquota,noauto
0 2
|
Pour configurer les quotas il faut d'abord monter la partition
avec l'option uquota.
Pour avoir une information sur l'état des lieux, l'option
quot de la commande xfs_quota parcourt rapidement le fs pour donner un
résumé de l'occupation par utilisateur, groupe,
ou projet.
| :~#
xfs_quota -x -c quot /dev/hdc2 (/media/hdc2) User: 4 cep 4 epi 4 casa 4 passant |
L'option state résume les types de quotas en service et l'occupation.
|
:~# xfs_quota -x -c
state
User quota state on /media/hdc2 (/dev/hdc2) Accounting: ON Enforcement: ON Inode: #131 (4 blocks, 4 extents) Group quota state on /media/hdc2 (/dev/hdc2) Accounting: OFF Enforcement: OFF Inode: #18446744073709551615 (0 blocks, 0 extents) Project quota state on /media/hdc2 (/dev/hdc2) Accounting: OFF Enforcement: OFF Inode: #18446744073709551615 (0 blocks, 0 extents) Blocks grace time: [7 days] Inodes grace time: [7 days] Realtime Blocks grace time: [7 days] |
Comme le système de fichiers va maintenant être mis en service pour plusieurs users, nous allons leur fixer des limites avec la commande xfs_quota -x en mode interactif et utiliser les sous commandes path, limit pour fixer les occupations possibles en indiquant l'ID de l'user concerné, et quota -h ID de l'user pour afficher la valeur configurée :
|
:~# xfs_quota -x
/media/hdc2
xfs_quota> path Filesystem Pathname [000] /media/hdc2 /dev/hdc2 (uquota) xfs_quota> limit bsoft=4g bhard=5g 1001 xfs_quota> quota -h 1001 # -h = human-readable comme dans df Disk quotas for User epi (1001) Filesystem Blocks Quota Limit Warn/Time Mounted on /dev/hdc2 4K 4G 5G 00 [------] /media/hdc2 xfs_quota> limit bsoft=2200m bhard=2500m 1002 xfs_quota> quota -h 1002 Disk quotas for User casa (1002) Filesystem Blocks Quota Limit Warn/Time Mounted on /dev/hdc2 4K 2,1G 2,4G 00 [------] /media/hdc2 xfs_quota> limit bsoft=2200m bhard=2500m 1003 xfs_quota> q :~# |
À tout moment, pour avoir le rapport d'occupation :
| :~#
xfs_quota -x -c ' report -h ' /media/hdc2 User quota on
/media/hdc2 (/dev/hdc2)
Blocks User ID Used Soft Hard Warn/Grace ---------- ---------------------------------
root
0
0
0 00 [------]
cep
4K
0
0 00 [------]
casa 4K 4G 5G 00 [------] epi 4K 2,1G 2,4G 00 [------] passant 4K 2,1G 2,4G 00 [------] |
D'après le man, pour établir un quota par user, on aurait aussi pu utiliser la commande :
| xfs_quota -x -c 'limit bsoft=2200m bhard=2500m epi' /media/hdc2 |
Pour une utilisation des quotas sur les groupes ou les projets, voir le man xfs_quota.