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 :
- Activez les quotas par système de fichiers en modifiant le fichier
/etc/fstab
. - Remontez le(s) système(s) de fichiers.
- Créez les fichiers de la base de données des quotas et générez le tableau d'utilisation du disque.
- 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 commandemount
afin de remonter le système de fichiers. Veuillez consulter la pageman
pourumount
etmount
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 commandemount -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.