Admin Linux - Gerenciamento de cotas
As cotas de disco CentOS podem ser habilitadas; alertando o administrador do sistema e negando mais acesso ao armazenamento em disco a um usuário antes que a capacidade do disco seja excedida. Quando um disco está cheio, dependendo do que reside no disco, um sistema inteiro pode parar bruscamente até ser recuperado.
Habilitar Quota Management no CentOS Linux é basicamente um processo de 4 etapas -
Step 1 - Habilite o gerenciamento de cotas para grupos e usuários em / etc / fstab.
Step 2 - Remonte o sistema de arquivos.
Step 3 - Criar banco de dados de cotas e gerar tabela de uso de disco.
Step 4 - Atribuir políticas de cota.
Habilite o gerenciamento de cotas em / etc / fstab
Primeiro, queremos fazer backup de nosso arquivo / etc / fstab -
[root@centosLocal centos]# cp -r /etc/fstab ./
Agora temos uma cópia de nosso / etc / fstab de trabalho conhecido no diretório de trabalho atual.
#
# /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
Fizemos as seguintes alterações na seção de opções de / etc / fstab para o volume ou rótulo onde as cotas devem ser aplicadas para usuários e grupos.
- usrquota
- grpquota
Como você pode ver, estamos usando o xfssistema de arquivo. Ao usar o xfs, há etapas manuais extras envolvidas./homeestá no mesmo disco que /. Uma investigação mais aprofundada mostra / está definido para noquota , que é uma opção de montagem no nível do kernel. Devemos reconfigurar nossas opções de inicialização do kernel.
root@localhost rdc]# mount | grep ' / '
/dev/mapper/cl-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
[root@localhost rdc]#
Reconfigurando opções de inicialização do kernel para sistemas de arquivos XFS
Esta etapa só é necessária sob duas condições -
- Quando o disco / partição em que ativamos as cotas, está usando o sistema de arquivos xfs
- Quando o kernel está passando o parâmetro noquota para / etc / fstab no momento da inicialização
Step 1 - Faça um backup de / etc / default / grub.
cp /etc/default/grub ~/
Step 2- Modifique / etc / default / grub .
Aqui está o arquivo padrão.
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"
Queremos modificar a seguinte linha -
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet"
para
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv
=cl/swap rhgb quiet rootflags=usrquota,grpquota"
Note- É importante copiarmos essas alterações literalmente. Depois de reconfigurar o grub.cfg, nosso sistema falhará ao inicializar se algum erro for cometido na configuração. Por favor, tente esta parte do tutorial em um sistema que não seja de produção.
Step 3 - Faça backup do seu grub.cfg de trabalho
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak
Faça um novo 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]#
Reiniciar
[root@localhost rdc]#reboot
Se todas as modificações fossem precisas, não deveríamos ter disponibilidade para adicionar cotas ao sistema de arquivos xfs .
[rdc@localhost ~]$ mount | grep ' / '
/dev/mapper/cl-root on / type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)
[rdc@localhost ~]$
Passamos os parâmetros usrquota e grpquota via grub.
Agora, edite novamente / etc / fstab para incluir / since / home no mesmo disco físico.
/dev/mapper/cl-root/xfs
defaults,usrquota,grpquota 0 0
Agora vamos habilitar os bancos de dados de cotas.
[root@localhost rdc]# quotacheck -acfvugM
Certifique-se de que as cotas estão ativadas.
[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]#
Remonte o sistema de arquivos
Se a partição ou disco for separado da partição ativamente inicializada, podemos remontar sem reinicializar. Se a cota foi configurada em um disco / partição inicializado no diretório raiz /, pode ser necessário reiniciar o sistema operacional. Forçando a remontagem e a aplicação de alterações, a necessidade de remontar o sistema de arquivos pode variar.
[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 ~]$
Como podemos ver, os volumes LVM estão em uso. Portanto, é simples apenas reiniciar. Isso remontará / home e carregará as alterações de configuração de / etc / fstab na configuração ativa.
Criar arquivos de banco de dados de cotas
O CentOS agora é capaz de trabalhar com cotas de disco em / home. Para habilitar o suporte de cota total, devemos executar oquotacheck comando.
quotacheck criará dois arquivos -
- aquota.user
- aquota.group
Eles são usados para armazenar informações de cota para os discos / partições habilitados para cota.
A seguir estão as opções comuns de verificação.
Interruptor | Açao |
---|---|
-você | Verifica as cotas do usuário |
-g | Verifica as cotas do grupo |
-c | As cotas devem ser habilitadas para cada sistema de arquivos com cotas habilitadas |
-v | Exibe saída detalhada |
Adicionar limites de cota por usuário
Para isso, usaremos o comando edquota, seguido do nome de usuário -
[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
Vejamos cada coluna.
Filesystem - São as cotas do sistema de arquivos para o usuário aplicado
blocks - Quantos blocos o usuário está usando atualmente em cada sistema de arquivos
soft- Defina blocos para um limite suave. O limite flexível permite que o usuário carregue a cota por um determinado período de tempo
hard- Defina blocos para um limite rígido. O limite rígido é a cota total permitida
inodes - Quantos inodes o usuário está usando atualmente
soft - Limite de inode suave
hard - Limite de inode rígido
Para verificar nossa cota atual como usuário -
[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 ~]$
A seguir está um erro fornecido a um usuário quando o limite máximo da cota é excedido.
[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]$
Como podemos ver, estamos próximos da cota de disco deste usuário. Vamos definir um aviso de limite suave. Dessa forma, o usuário será avisado com antecedência antes que os limites de cota expirem. Com a experiência, você receberá reclamações do usuário final quando ele entrar no trabalho e precisar gastar 45 minutos limpando arquivos para realmente começar a trabalhar.
Como um administrador, podemos verificar o uso da cota com o repquota comando.
[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]#
Como podemos ver, o usuário centos excedeu sua cota de hard block e não pode mais usar mais espaço em disco em / home .
- + indica que uma cota rígida foi excedida no sistema de arquivos.
Ao planejar cotas, é necessário fazer um pouco de matemática. O que um administrador precisa saber é: Quantos usuários estão no sistema? Quanto espaço livre para alocar entre usuários / grupos? Quantos bytes constituem um bloco no sistema de arquivos?
Defina cotas em termos de blocos relacionados ao espaço livre em disco. Recomenda-se deixar um buffer "seguro" de espaço livre no sistema de arquivos que permanecerá no pior cenário: todas as cotas são excedidas simultaneamente. Isso ocorre especialmente em uma partição usada pelo sistema para gravar logs.