Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

Chapitre 16. Quotas de disques

L'espace disque peut être restreint en implémentant des quotas de disques qui alerteraient un administrateur système avant qu'un utilisateur ne consomme trop d'espace disque ou qu'une partition ne soit pleine.
Les quotas de disques peuvent être configurés pour des utilisateurs individuels ainsi que pour des groupes d'utilisateurs. Ceci permet de gérer l'espace alloué pour les fichiers spécifiques aux utilisateurs (par exemple pour les courriers électroniques) séparément de l'espace alloué aux projets sur lesquels un utilisateur travaille (en supposant que ces projets se voient offrir leurs propres groupes).
En outre, des quotas peuvent être définis, non seulement pour contrôler le nombre de blocs de disques consommés, mais aussi pour contrôler le nombre d'inodes (des structures de données contenant des informations sur les fichiers dans les systèmes de fichiers UNIX). Comme les inodes sont utilisés pour contenir des informations concernant des fichiers, cela permet de contrôler le nombre de fichiers pouvant être créés.
Le RPM quota doit être installé pour implémenter les quotas de disques.

Note

Ce chapitre concerne tous les systèmes de fichiers, cependant, certains systèmes de fichiers ont leurs propres outils de gestion des quota. Voir la description correspondante pour les systèmes de fichiers applicables.
Pour les systèmes de fichiers XFS, voir Section 6.3, « Gestion des quotas XFS ».
Btrfs n'a pas de quota de disque donc n'est pas couvert.

16.1. Configurer les quotas de disques

Pour fixer les quotas de disques, procédez aux étapes suivantes :
  1. Activez les quotas par système de fichiers en modifiant le fichier /etc/fstab.
  2. Remontez le(s) système(s) de fichiers.
  3. Créez les fichiers de la base de données des quotas et générez le tableau d'utilisation du disque.
  4. Assignez les politiques des quotas.
Chaque étape sera discutée en détails dans les sections suivantes.

16.1.1. Activer les quotas

En tant que root et à l'aide d'un éditeur de texte, modifiez le fichier /etc/fstab.

Exemple 16.1. Modifiez /etc/fstab

Par exemple, pour utiliser l'éditeur de texte vim, veuillez saisir :
# vim /etc/fstab
Ajoutez les options usrquota ou grpquota aux systèmes de fichiers qui requièrent des quotas :

Exemple 16.2. Ajoutez les quotas

/dev/VolGroup00/LogVol00 /         ext3    defaults        1 1 
LABEL=/boot              /boot     ext3    defaults        1 2 
none                     /dev/pts  devpts  gid=5,mode=620  0 0 
none                     /dev/shm  tmpfs   defaults        0 0 
none                     /proc     proc    defaults        0 0 
none                     /sys      sysfs   defaults        0 0 
/dev/VolGroup00/LogVol02 /home     ext3    defaults,usrquota,grpquota  1 2 
/dev/VolGroup00/LogVol01 swap      swap    defaults        0 0 . . .
Dans cet exemple, le système de fichiers /home possède des quotas utilisateurs et groupes activés.

Note

Les exemples suivants supposent qu'une autre partition /home ait été créée pendant l'installation de Red Hat Enterprise Linux. La partition root (/) peut être utilisée pour définir les politiques de quotas dans le fichier /etc/fstab.

16.1.2. Remonter les systèmes de fichiers

Après avoir ajouté les options usrquota ou grpquota, veuillez remonter chaque système de fichier dont l'entrée fstab a été modifiée. Si le système de fichiers n'est pas en cours d'utilisation par un processus, veuillez utiliser l'une des méthodes suivantes :
  • Saisissez la commande umount suivie de la commande mount afin de remonter le système de fichiers. Veuillez consulter la page man pour umount et mount afin de connaître la syntaxe particulière pour monter et démonter divers types de systèmes de fichiers.
  • Saisissez la commande mount -o remount file-system (où file-system est le nom du système de fichiers) afin de remonter le système de fichiers. Par exemple, pour remonter le système de fichiers /home, veuillez utiliser la commande mount -o remount /home.
Si le système de fichiers est en cours d'utilisation, la plus simple méthode pour remonter le système de fichiers est de redémarrer le système.

16.1.3. Créer les fichiers de base de données de quotas

Après avoir remonté chaque système de fichiers dont les quotas sont activés, veuillez exécuter la commande quotacheck.
La commande quotacheck examine les systèmes de fichier dont les quotas sont activés et crée un tableau de l'utilisation actuelle du disque par système de fichiers. Le tableau est ensuite utilisé pour mettre à jour la copie de l'utilisation du disque du système d'exploitation. En outre, les fichiers de quotas du système de fichiers sont aussi mis à jour.

Note

La commande quotacheck n'a aucun effet sur XFS car le tableau d'utilisation de disque est complété automatiquement au moment du montage. Voir la page man de xfs_quota(8) pour plus d'informations.
Pour créer les fichiers de quotas (aquota.user et aquota.group) sur le système de fichiers, veuillez utiliser l'option -c de la commande quotacheck.

Exemple 16.3. Créer des fichiers de quotas

Par exemple, si les quotas d'utilisateurs et de groupes sont activés pour le système de fichiers /home, veuillez créer les fichiers dans le répertoire /home :
# quotacheck -cug /home
L'option -c indique que des fichiers de quotas doivent être créés pour chaque système de fichiers sur lequel les quotas sont activés, l'option -u indique que les quotas d'utilisateurs seront vérifiés, et l'option -g indique que les quotas de groupes seront vérifiés.
Si les options -u ou -g ne sont pas spécifiées, seul le fichier du quota d'utilisateurs sera créé. Si seule l'option -g est spécifiée, seul le fichier du quota de groupes sera créé.
Une fois que les fichiers sont créés, veuillez exécuter la commande suivante afin de générer le tableau d'utilisation du disque actuelle par système de fichiers avec quotas activés :
# quotacheck -avug
Les options utilisées sont comme suit :
a
Vérifie tous les systèmes de fichiers montés localement avec quotas activés
v
Affiche les informations détaillées pendant la progression de la vérification du quota
u
Vérifie les informations du quota de disques de l'utilisateur
g
Vérifie les informations du quota de disques de groupe
Une fois que quotacheck a terminé son exécution, les fichiers de quotas correspondants aux quotas activés (d'utilisateurs ou de groupes) sont remplis avec des données pour chaque système de fichiers monté localement avec quotas activés, tel que /home.

16.1.4. Allouer les quotas par utilisateur

La dernière étape consiste à assigner les quotas de disques avec la commande edquota.
Pour configurer le quota pour un utilisateur, en tant que root, utiliser la commande suivante :
# edquota username
Procédez à cette étape pour chaque utilisateur qui a besoin d'un quota. Ainsi, si un quota est activé dans /etc/fstab pour la partition /home (/dev/VolGroup00/LogVol02 dans l'exemple ci-dessous) et que la commande edquota testuser est exécutée, vous verrez ce qui suit dans l'éditeur configuré par défaut dans le système :
Disk quotas for user testuser (uid 501):   
Filesystem                blocks     soft     hard    inodes   soft   hard   
/dev/VolGroup00/LogVol02  440436        0        0     37418      0      0

Note

L'éditeur de texte défini par la variable d'environnement EDITOR est utilisé par edquota. Pour changer l'éditeur, définir la variable d'environnement EDITOR dans votre fichier ~/.bash_profile vers le chemin d'accès de l'éditeur de votre choix.
La première colonne correspond au nom du système de fichiers qui contient un quota activé. La seconde colonne montre combien de blocs l'utilisateur utilise actuellement. Les deux colonnes suivantes sont utilisées pour fixer des limites de blocs « soft » ou « hard » pour l'utilisateur sur le système de fichiers. La colonne inodes affiche le nombre d'inodes actuellement en cours d'utilisation par l'utilisateur. Les deux dernières colonnes sont utilisées pour définir les limites d'inode « soft » et « hard » pour l'utilisateur sur le système de fichiers.
La limite hard bloc correspond au montant maximum d'espace disque qu'un utilisateur ou un groupe peut utiliser. Une fois que la limite est atteinte, on ne peut pas utiliser d'espace supplémentaire.
La limite de bloc « soft » détermine le montant maximum de d'espace disque pouvant être utilisé. Cependant, à la différence de la limite « hard », la limite « soft » peut être dépassée jusqu'à une certaine limite. C'est ce que l'on appelle la période de grâce. La période de grâce peut être exprimée en secondes, minutes, heures, jours, semaines, ou mois.
Si une seule des valeurs est fixée à 0, cette limite n'est pas définie. Dans l'éditeur de texte, veuillez changer les limites que vous souhaitez.

Exemple 16.4. Modifier les limites souhaitées

Par exemple :
Disk quotas for user testuser (uid 501):   
Filesystem                blocks     soft     hard   inodes   soft   hard   
/dev/VolGroup00/LogVol02  440436   500000   550000    37418      0      0
Pour vous assurer que le quota utilisateur a bien été défini, utiliser la commande :
# quota username
Disk quotas for user username (uid 501): 
   Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
     /dev/sdb    1000*   1000    1000               0       0       0

16.1.5. Assigner les quotas par groupe

Les quotas peuvent aussi être assignés sur une base « par groupe ». Par exemple, pour définir un quota de groupe pour le groupe devel (le groupe doit exister avant de définir le quota du groupe), veuillez utiliser la commande :
# edquota -g devel
Cette commande affiche le quota existant pour le groupe dans l'éditeur de texte :
Disk quotas for group devel (gid 505):   
Filesystem                blocks    soft     hard    inodes    soft    hard   
/dev/VolGroup00/LogVol02  440400       0        0     37418       0       0
Modifiez les limites, puis enregistrez le fichier.
Pour vérifier que le quota de groupe a bien été défini, veuillez utiliser la commande :
# quota -g devel

16.1.6. Définir la période de grâce pour les limites soft

Si un quota donné possède des limites « soft », vous pouvez modifier la période de grâce (la période pendant laquelle la limite « soft » peut être dépassée) avec la commande suivante :
# edquota -t
Cette commande fonctionne sur les quotas pour les inodes ou les blocs pour utilisateurs ou pour groupes.

Important

Tandis que les autres commandes edquota opèrent sur les quotas d'un utilisateur ou d'un groupe particulier, l'option -t opère sur tous les systèmes de fichiers dont les quotas sont activés.