Nos próximos posts vou falar sobre quotas em disco. A vantagem das quotas está no controle do espaço em disco. Se você possui um HD não particionado, não tem esse controle… os usuários vão gravando, gravando até que um dia o espaço acaba. Tudo bem, hoje em dia o tamanho dos HDs aumentou e o preço caiu bastante; mas ainda assim é importante manter o controle quanto ao uso do espaço em disco.
Antes de colocar a mão na massa, achei legal fazer um checklist do que vamos fazer para implementar quotas, depois abaixo vou colocando mais detalhes:
1) Saber qual a versão do kernel para checar se este tem suporte a quota e aplicar a versão correta da mesma;
2) Saber o filesystem utilizado e se este possui suporte nativo a quota ou precisa aplicar algum patch, ou depende da instalação de algum pacote para funcionar;
3) Definir qual partição será aplicada quota;
4) Editar o arquivo /etc/fstab para indicar que a partição irá usar quota;
5) Criar os arquivos de gerenciamento de quota;
6) Instalar o pacote quota;
7) Habilitar módulos se necessário;
8) Remontar a partição onde foi aplicado quota;
9) Definir as quotas para os usuários;
10) Testar
.
Checklist na mão, é importante dizer que atualmente, existem duas versões de quotas:
✔ quota_v1 (vfsold) – utilizada somente no kernel da série 2.4
✔ quota_v2 (vfsv0) – utilizada no kernel da série 2.6
Aliás, o kernel 2.6 traz as duas versões (quota_v1 e quota_v2); o administrador escolhe qual versão deseja utilizar e habilita o módulo no kernel.
Além da questão do kernel, é importante falar que a principal diferença entre as versões de quota, são os arquivos criados para gerenciar a quota na partição.
Se você optar por usar quota_v1, os arquivos de gerenciamento são o quota.user e quota.group; se optar por usar quota_v2, os arquivos são aquota.user e aquota.group.
Uma vantagem de se usar quota_v2 é que esta versão checa os arquivos de dados de quota corrompidos e trabalha mais rápido mesmo em grandes partições.
Na LPI costuma cair perguntas sobre quotas e com certeza esses arquivos são uma pegadinha… é bom ficar atento aos nomes e às versões de quota para não errar na prova
!
O meu kernel é 2.6, então vou trabalhar com quota_v2; lembrando que o comando para checar a versão do kernel é o uname:
# uname -r
2.6.26-2-686
Também é bom saber é que o sistema de quotas é uma funcionalidade que deve ser suportada pelo filesystem e pelo kernel; ou seja… para que você possa aplicar quota em uma partição, tanto o sistema de arquivos dela (ext3, reiserfs, xfs, etc) quanto o kernel devem oferecer esse suporte.
Então, antes de sair limitando o quanto um usuário pode escrever em disco, é boa idéia verificar o filesystem da partição. Isso pode ser verificado com o comando mount:
# mount
/dev/sda6 on /home type ext3 (rw)
No meu caso, o filesystem é o ext3… ele possui suporte a quotas – humm… eu não achei o site oficial do ext3 listando todas as features incluindo quotas… mas tem uma apresentação do Dr. Stephen Tweedie que fala sobre o suporte a quotas no ext3 – então significa que posso aplicar quotas ai!
E para saber se o kernel possui suporte a quota:
# grep CONFIG_QUOTA /boot/config-2.6.26-2-686
CONFIG_QUOTA=y
Lembrando que se a opção não estiver habilitada, a solução é recompilar o kernel para oferecer suporte a quota!
Um outro filesystem que também permite aplicar quotas é o ReiserFS; o serviço não vem como padrão, para ter o suporte é necessário aplicar um patch. Depois que aplicar o patch, os procedimentos para instalação e configuração de quotas é o mesmo que está sendo descrito para o ext3.
Vamos definir também em qual partição será aplicado a quota. Com um HD particionado, estamos limitando o usuário escrever somente até o tamanho da partição; configurando quotas, garantimos também que o espaço não seja ocupado por apenas um usuário.
Podemos configurar quota para qualquer partição, mas como estamos falando de usuários, o ideal é que a quota seja aplicado na partição /home.
No próximo post, continuo a falar sobre quota em um HD particionado.
Até lá
!