Administrateur Linux - Gestion des quotas
Les quotas de disque CentOS peuvent être activés à la fois; alerter l'administrateur système et refuser l'accès supplémentaire au stockage sur disque à un utilisateur avant que la capacité du disque ne soit dépassée. Lorsqu'un disque est plein, en fonction de ce qui se trouve sur le disque, un système entier peut s'arrêter brusquement jusqu'à ce qu'il soit récupéré.
L'activation de la gestion des quotas dans CentOS Linux est essentiellement un processus en 4 étapes -
Step 1 - Activez la gestion des quotas pour les groupes et les utilisateurs dans / etc / fstab.
Step 2 - Remontez le système de fichiers.
Step 3 - Créer une base de données Quota et générer une table d'utilisation du disque.
Step 4 - Attribuez des politiques de quota.
Activer la gestion des quotas dans / etc / fstab
Tout d'abord, nous voulons sauvegarder notre fichier / etc / fstab -
[root@centosLocal centos]# cp -r /etc/fstab ./
Nous avons maintenant une copie de notre travail connu / etc / fstab dans le répertoire de travail actuel.
#
# /etc/fstab
# Created by anaconda on Sat Dec 17 02:44:51 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/cl-root / xfs defaults 0 0
UUID = 4b9a40bc-9480-4 /boot xfs defaults 0 0
/dev/mapper/cl-home /home xfs defaults,usrquota,grpquota 0 0
/dev/mapper/cl-swap swap swap defaults 0 0
Nous avons apporté les modifications suivantes dans la section des options de / etc / fstab pour le volume ou le libellé où les quotas doivent être appliqués pour les utilisateurs et les groupes.
- usrquota
- grpquota
Comme vous pouvez le voir, nous utilisons le xfssystème de fichiers. Lorsque vous utilisez xfs, des étapes manuelles supplémentaires sont nécessaires./homeest sur le même disque que /. Une enquête plus approfondie montre / est défini pour noquota , qui est une option de montage au niveau du noyau. Nous devons reconfigurer nos options de démarrage du noyau.
root@localhost rdc]# mount | grep ' / '
/dev/mapper/cl-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
[root@localhost rdc]#
Reconfiguration des options de démarrage du noyau pour les systèmes de fichiers XFS
Cette étape n'est nécessaire que sous deux conditions -
- Lorsque le disque / partition sur lequel nous activons les quotas utilise le système de fichiers xfs
- Lorsque le noyau transmet le paramètre noquota à / etc / fstab au démarrage
Step 1 - Faites une sauvegarde de / etc / default / grub.
cp /etc/default/grub ~/
Step 2- Modifiez / etc / default / grub .
Voici le fichier par défaut.
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
Nous voulons modifier la ligne suivante -
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet"
à
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv
=cl/swap rhgb quiet rootflags=usrquota,grpquota"
Note- Il est important de copier ces modifications textuellement. Après avoir reconfiguré grub.cfg, notre système ne démarrera pas si des erreurs ont été faites dans la configuration. Veuillez essayer cette partie du tutoriel sur un système hors production.
Step 3 - Sauvegardez votre grub.cfg de travail
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak
Créer un nouveau grub.cfg
[root@localhost rdc]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-514.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-514.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-dbba7fa47f73457b96628ba8f3959bfd
Found initrd image: /boot/initramfs-0-rescuedbba7fa47f73457b96628ba8f3959bfd.img
done
[root@localhost rdc]#
Redémarrer
[root@localhost rdc]#reboot
Si toutes les modifications étaient précises, nous ne devrions pas avoir la possibilité d'ajouter des quotas au système de fichiers xfs .
[rdc@localhost ~]$ mount | grep ' / '
/dev/mapper/cl-root on / type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)
[rdc@localhost ~]$
Nous avons passé les paramètres usrquota et grpquota via grub.
Maintenant, modifiez à nouveau / etc / fstab pour inclure / since / home sur le même disque physique.
/dev/mapper/cl-root/xfs
defaults,usrquota,grpquota 0 0
Maintenant, activons les bases de données de quotas.
[root@localhost rdc]# quotacheck -acfvugM
Assurez-vous que les quotas sont activés.
[root@localhost rdc]# quotaon -ap
group quota on / (/dev/mapper/cl-root) is on
user quota on / (/dev/mapper/cl-root) is on
group quota on /home (/dev/mapper/cl-home) is on
user quota on /home (/dev/mapper/cl-home) is on
[root@localhost rdc]#
Remonter le système de fichiers
Si la partition ou le disque est séparé de la partition activement démarrée, nous pouvons remonter sans redémarrer. Si le quota a été configuré sur un disque / partition démarré dans le répertoire racine /, il se peut que nous devions redémarrer le système d'exploitation. Forcer le remontage et appliquer les modifications, la nécessité de remonter le système de fichiers peut varier.
[rdc@localhost ~]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/cl-root 22447404 4081860 18365544 19% /
devtmpfs 903448 0 903448 0% /dev
tmpfs 919308 100 919208 1% /dev/shm
tmpfs 919308 9180 910128 1% /run
tmpfs 919308 0 919308 0% /sys/fs/cgroup
/dev/sda2 1268736 176612 1092124 14% /boot
/dev/mapper/cl-var 4872192 158024 4714168 4% /var
/dev/mapper/cl-home 18475008 37284 18437724 1% /home
tmpfs 183864 8 183856 1% /run/user/1000
[rdc@localhost ~]$
Comme nous pouvons le voir, les volumes LVM sont en cours d'utilisation. Il est donc simple de redémarrer. Cela remontera / home et chargera les modifications de configuration / etc / fstab dans la configuration active.
Créer des fichiers de base de données de quotas
CentOS est maintenant capable de travailler avec des quotas de disque sur / home. Pour activer la prise en charge complète des quotas, nous devons exécuter lequotacheck commander.
quotacheck créera deux fichiers -
- aquota.user
- aquota.group
Ils sont utilisés pour stocker les informations de quota pour les disques / partitions activés par quota.
Voici les commutateurs de quotacheck courants.
Commutateur | action |
---|---|
-u | Vérifie les quotas d'utilisateurs |
-g | Vérifie les quotas de groupe |
-c | Les quotas doivent être activés pour chaque système de fichiers avec des quotas activés |
-v | Affiche une sortie détaillée |
Ajouter des limites de quota par utilisateur
Pour cela, nous utiliserons la commande edquota, suivie du nom d'utilisateur -
[root@localhost rdc]# edquota centos
Disk quotas for user centos (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/mapper/cl-root 12 0 0 13 0 0
/dev/mapper/cl-home 4084 0 0 140 0 0
Regardons chaque colonne.
Filesystem - Ce sont les quotas de système de fichiers pour l'utilisateur appliqués à
blocks - Combien de blocs l'utilisateur utilise actuellement sur chaque système de fichiers
soft- Définissez des blocs pour une limite souple. La limite souple permet à l'utilisateur de transporter un quota pour une période donnée
hard- Définissez des blocs pour une limite stricte. La limite stricte est le quota total autorisé
inodes - Combien d'inodes l'utilisateur utilise actuellement
soft - Limite d'inode souple
hard - Limite inode dure
Pour vérifier notre quota actuel en tant qu'utilisateur -
[centos@localhost ~]$ quota
Disk quotas for user centos (uid 1000):
Filesystem blocks quota limit grace files quota limit grace
/dev/mapper/cl-home 6052604 56123456 61234568 475 0 0 [centos@localhost ~]$
Voici une erreur donnée à un utilisateur lorsque la limite de quota fixe a dépassé.
[centos@localhost Downloads]$ cp CentOS-7-x86_64-LiveKDE-1611.iso.part ../Desktop/
cp: cannot create regular file ‘../Desktop/CentOS-7-x86_64-LiveKDE-
1611.iso.part’: Disk quota exceeded
[centos@localhost Downloads]$
Comme nous pouvons le voir, nous sommes étroitement dans le quota de disque de cet utilisateur. Définissons un avertissement de limite souple. De cette façon, l'utilisateur recevra un préavis avant l'expiration des limites de quota. Par expérience, vous recevrez des plaintes des utilisateurs finaux lorsqu'ils entreront au travail et devront passer 45 minutes à effacer les fichiers pour se rendre au travail.
En tant qu'administrateur, nous pouvons vérifier l'utilisation des quotas avec le repquota commander.
[root@localhost Downloads]# repquota /home
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------------------------
root -- 0 0 0 3 0 0
centos -+ 6189824 56123456 61234568 541 520 540 6days
[root@localhost Downloads]#
Comme nous pouvons le voir, l'utilisateur centos a dépassé son quota de bloc dur et ne peut plus utiliser d'espace disque sur / home .
- + indique qu'un quota fixe a été dépassé sur le système de fichiers.
Lors de la planification des quotas, il est nécessaire de faire un peu de calcul. Ce qu'un administrateur doit savoir, c'est: Combien d'utilisateurs y a-t-il sur le système? Combien d'espace libre à allouer entre les utilisateurs / groupes? Combien d'octets composent un bloc sur le système de fichiers?
Définissez les quotas en termes de blocs en fonction de l'espace disque libre. Il est recommandé de laisser un tampon "sûr" d'espace libre sur le système de fichiers qui restera dans le pire des cas: tous les quotas sont simultanément dépassés. C'est particulièrement le cas sur une partition utilisée par le système pour écrire des journaux.