sexta-feira, 2 de janeiro de 2009

Quotas em Disco

Concerteza é uma das ferramentas que salvam administradores do temido "DISCO CHEIO". Em minha opinião é a melhor forma de evitarmos que usuarios pare nossos serviços. Temos que tratar Servidores de dados como um copo d'agua quanto mais cheio mais perigoso se torna. No linux podemos fazer a configuracao de 2 formas, por inodes e por blocos. Sempre temos que analisar qual é a opção mais viavel porque vejamos, temos uma particao de 100Mb e configuramos nossas cotas por Inodes e cada usuario só pode obter 20inodes em nossa partição, até ai é uma divisão justa mas, se um dos usuarios faz um download de 90Mb, ele já possui 90% da particao com um único Inode, e os outros usuarios terao que dividir 10% da particao entre si.
Temos que efetuar um estudo e uma estrategia para analisar a situação da rede e vincular a melhor configuração com o ambiente. Para evitarmos grandes imprevistos.

Configuracao:

Primeiro temos que instalar o pacote de quotas logo após, configurar o /etc/fstab adicionando as configurações de cotas nas partições desejadas e os arquivos são: usrquota – grpquota.

Ex do fstab:

# vim /etc/fstab

/dev/sdb1 /home ext3

defaults,usrquota,grpquota 0 0

(nesse caso só estamos adicionando as configurações de cota dando suporte a usuarios e grupos do sistema.)

Logo após devemos remontar a partição indicada no fstab, para que as alterações tenham efeito. Comando indicado:
# mount –o remount /home

Aps isso verifique se foi realmente montado com o comando mount

Agora teremos que criar os arquivos de configuração de quotas.
#quotacheck –cugm /home logo após verifique se os arquivos usrquota e grpquota foram criados no local indicado.

Agora veremos se o sistema de quotas está ativo. Execute o comando,
# repquota –a –v A saida do comando, trará a exibirá os usuarios e configuração do sistema de quotas, ainda inexistente.

O proximo passo é configurar as cotas, mas iniciaremos por usuarios.
#edquota –u maicon

Vamos configurar o usuario maicon da seguinte forma, que ele só poderá utilizar apenas 20Mb de Bloco e um limite maximo de 30Mb e criação de 100Inodes e limite maximo de 150.

Indico que utilize o terminal no modo grafico para ter uma melhor visualização de todo o ambiente.


Saida do comando anterior:


Disk quotas for user maicon (uid 1001):

Filesystem Blocks soft hard inodes soft hard
/dev/sdb1 0 20000 30000 0 100 150

Agora vamos entender o que foi feito no arquivo.
Primeiro ele mostra qual usuario está sendo alterado e seu UID, logo após indica a qual filesystem pertence.

O campo blocks não pode ser alterado porque ele indica quantos blocos o usuario utilizou.
O campo soft indica a quota por bloco que no nosso caso é 20mb.
O campo hard indica a quota maxima por bloco que é 30mb.

O campo inodes indica a quantidade de inodes criados aquele usuario possue.
O campo soft indica a quota por Inodes que no nosso caso foi 100.
O campo hard indica a quota maxima por inodes que é 150.

Logo após da configuração efetuada execute novamente o comando # repquota –a –v que exibirá as novas configurações no usuario indicado.

No nosso caso configuração quotas por bloco e por inode, então a primeira que alcançar o valor Soft iniciará o tempo de tolerancia do sistema ao

Usuario para que se libere o espaço e que ele permaneça abaixo do limite indicado.

Para configurar o tempo de tolerancia execute o comando:
# edquota –t

Dentro da configuração do Edquota –t

teremos a possibilidade de definir o tempo de tolerancia que por padao é 7dias.

E com o comando repquota –a –v é exibido nas primeiras linhas o tempo de tolerancia.

Para testarmos se realmente está fucionando devemos logar com o usuario configurado e podemos utilizar um pqno script para lotar disco e criar arquivos.

# echo teste > a; while true; do cat a >> b; cat b >> a; done - (lota disco)

# I=1 ; while true; do touch arq$I; let I++ ; done - (cria arquivos)

Com o comando repquota –a –v vemos o estouro e o tempo de tolerancia ativa, e quando efetuarmos a liberação do espaço em disco automaticamente é liberado no sistema de quotas.

E uma configuração que deixa a administração mao na roda é na hora da adição dos usuarios, pq já pensou fazer isso em todos os usuarios.?

Então edite o arquivo /etc/adduser.conf, na linha 61 adicione o usuario que você quer ter como exemplo, para que todos os usuarios que seje adicionado replique as configurações para ele.

E para usuarios já existentes é necessario apenas utilizar o seguinte comando edquota –p maicon galileu a interpretação seria a seguinte. Replicar configurações do usuario maicon para o usuario galileu.

A uma grande necessidade de checar o arquivo de quotas de forma periodica então é necessario criar um script basico com os comandos:
quotaoff –v /home quotacheck –vug /home quotaon –v /home

Nenhum comentário:

Postar um comentário