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.