Linux - Quota de disco

Quotas de disco permitem controlar o uso do disco por usuário ou grupo, ou por ambos (usuário e grupo). São normalmente utilizadas em sistemas multi-usuários e não em sistemas mono-usuário (desktop) e é gerenciada somente pelo usuário root. Neste artigo irei cobrir a versão mais utilizada de implementação de quota: vfsv0 (versão 2).

[ Hits: 154.520 ]

Por: Roberto Rodrigues da Silva em 02/11/2006


Habilitar quotas de disco



Atualmente temos 3 tipos de quotas de disco: vfsold (versão 1), vfsv0 (versão 2) e xfs (quota de disco para o sistema de arquivos XFS).

Neste artigo irei cobrir a versão mais utilizada: vfsv0 (versão 2).

Para habilitar quota de disco vfsv0 é necessário que seu kernel tenha suporte. Os kernels 2.4 e 2.6 tem total suporte necessário. Já versões anteriores do kernel tem suporte incompleto a quota de disco e será necessário recompilar para ter suporte a quota de disco.

Neste artigo estou utilizando o kernel 2.6.15-23-386.

Agora será necessário instalar as ferramentas para manipular as quotas de disco.

Utilizando a ferramenta APT-GET:

# apt-get install quota

Vamos habilitar quota de disco para a partição de disco que queremos utilizar quotas. Para isso é necessário editar o arquivo de configuração das tabelas de sistemas de arquivos, o /etc/fstab, e incluir as opções "usrquota" (para quota por usuários), e/ou "grpquota" (para quota por grupos).

No exemplo abaixo estamos habilitando quota de disco para usuários e grupos na partição /dev/hda4 montada em /share:

# /etc/fstab: static file system information.
#
#
proc        /proc          proc        defaults                       0 0
/dev/hda2   /              reiserfs    notail                         0 1
/dev/hda4   /share         ext3        defaults,usrquota,grpquota     0 2
/dev/hda3   /mnt/win98     vfat        defaults,utf8,umask=007,gid=46 0 1
/dev/hda1   none           swap        sw                             0 0
/dev/hdd    /media/cdrom0  udf,iso9660 user,noauto                    0 0

OBS: Somente sistemas de arquivos ext2, ext3 e xfs possuem suporte a quota de disco no Linux.

Após editar o arquivo /etc/fstab e habilitar a quota de disco no ponto de montagem /share, será necessário remontar para aplicar as alterações feitas.

# mount -o remount,rw /share

OBS: Se você incluir quota de disco para o diretório raiz do sistema "/", será necessário reiniciar o sistema.

Execute o comando "mount" para verificar se as opções de quotas estão habilitadas.

Exemplo:

# mount | grep share
/dev/hda4 on /share type ext3 (rw,usrquota,grpquota)

Utilizando os comandos quotachek, quotaon e quotaoff:

O comando quotacheck é utilizado para checar quotas de disco em todos os sistemas de arquivos em /etc/fstab. E também é utilizado para criar os arquivos com informações sobre as quotas: aquota.user e aquota.group.

O comando quotaon é utilizado para habilitar a checagem de quota de disco.

Já o comando quotaoff desabilita quotas de disco no sistema.

Ambos os comandos quotacheck e quotaon são normalmente incluídos nos scripts de inicialização do sistema, para checar e habilitar a quota de disco após você reiniciar seu computador.

Agora iremos criar os arquivos com informações sobre as quotas dos usuários e grupos.

No exemplo abaixo as seguintes opções serão passadas para os comandos quotacheck e quotaon:
  • -a - Checa todos os sistemas de arquivos em /etc/fstab que estão habilitados como "automount";
  • -u - Checa quotas de usuários (opção padrão);
  • -g - Checa quotas de grupos;
  • -v - Mostra mais detalhes na saída do comando (modo verbose).

Então vamos aos comandos:

# quotacheck -augv
quotacheck: Quota for users is enabled on mountpoint /share so quotacheck might damage the file.
Please turn quotas off or use -f to force checking.

# quotaon -augv
quotaon: using /share/aquota.group on /dev/hda4 [/share]: Device or resource busy
quotaon: using /share/aquota.user on /dev/hda4 [/share]: Device or resource busy

Agora vamos verificar se os arquivos aquota.user e aquota.group foram criados em /share:

# cd /share
# ls -lah

total 37K
drwxr-xr-x 3 root root 4,0K 2006-09-16 17:10 .
drwxr-xr-x 23 root root 616 2006-09-16 14:16 ..
-rw------- 1 root root 6,0K 2006-09-16 17:10 aquota.group
-rw------- 1 root root 6,0K 2006-09-16 17:10 aquota.user
drwx------ 2 root root 16K 2006-09-16 14:13 lost+found

OBS: Perceba que os arquivos aquota.user e aquota.group tem permissão de leitura e escrita somente para o usuário root, já que somente o usuário root pode gerenciar quotas no sistema.

    Próxima página

Páginas do artigo
   1. Habilitar quotas de disco
   2. Editar limites de quotas de disco
   3. Checar quotas de disco
   4. Gerenciar quotas ultrapassadas
   5. Aviso de limite de quota ultrapassado
Outros artigos deste autor

Python - Brincando com arquivos

Linux - Manipulando partições de disco

Linux - Sistema de arquivos

Linux - Permissões de acesso especiais

Verificando e marcando badblocks

Leitura recomendada

Particionando o HD sem perder os dados utilizando o FIPS

MooseFS - Sistema de arquivos distribuído

Apresentando o Btrfs - Nova geração de sistema de arquivos para GNU/Linux

Aplicações em 32 bits para seu Ubuntu 64 bits (Feisty Fawn)

Expandindo partição em LVM

  
Comentários
[1] Comentário enviado por grabber em 02/11/2006 - 00:43h

Artigo extremamente bem escrito sem erros ou contradições.

vfsold (versão 1) - módulo quota_v1
vfsv0 (versão 2) - módulo quota_v2


Parabéns pelo artigo!

[2] Comentário enviado por robertors em 02/11/2006 - 23:39h

Olá, Grabber.

Que bom que gostou.
Muito obrigado.

Abraços.

[3] Comentário enviado por tatototino em 09/11/2006 - 22:38h

Muito bom, parabéns!

[4] Comentário enviado por cleitão em 13/11/2006 - 15:41h

Boa tarde Robertors,

estou utilizando o linux a algum tempo mas só tenho feito configurações prativamente de máquinas desktop, agora tenho um desafio que é configurar um servidor de email. Dei uma olhada em alguns totoriais e todos citam a implementação de com quota. Qual a importância do quota em um servidor de email?????

Obrigado pela atenção.......

[5] Comentário enviado por robertors em 13/11/2006 - 16:16h

Olá,

O uso de Quota em servidores de e-mail é importante pra retringir o espaço em disco utilizado pelo usuarios de e-mails.

Na prática:

Se você não impor limites ao usuário, ele irá rapidamente acabar com o espaço em disco do seu servidor de e-mails.

O pessoal normalmente utiliza quota de disco, buscando informaçoes de quota em um banco de dados ( mysql, postgreSQL )

Sobre Tutoriais - Servidor de E-mail:

Eu estou terminando de escrever um tutorial sobre Servidor de E-mail com Postfix.

Titulo:

Construindo um Servidor de E-mails - Sem Mistério.

Conteúdo:

Ubuntu + Postfix + Maildrop + MySQL + DOMÍNIOS VIRTUAIS + QUOTA + COURIER-IMAP/POP + Sasl/TLS + VACATION + Amavis-NEW + ClamAV + Anti-SPAM ( DSPAM/RBL/SPF/TMDA ou ASK) + Squirrelmail + PosfixAdmin + IsoqLog + Mailqui

Tudo em linguagem clara e objetiva ( do jeito que os sysadmin esperam )
Ainda estou escrevendo.... Mas logo estarei disponibilizando aqui no VOL.

Qualquer dúvida entre em contato comigo.

Abraços.

[6] Comentário enviado por baloeiro_cps em 14/11/2006 - 17:24h

muito legal seu artigo, eu tenho quota aqui no suse10 mas so que nas maquinas windows mostra o tamanho total do disco e nao o tamanho da quota do usuario, vc sabe como posso fazer pra mostrar o compartilhamento com o tamanho da quota do usuario????

agradeço!!!

[7] Comentário enviado por baloeiro_cps em 14/11/2006 - 17:25h

esqueci de dizer, é um servidor de arquivos logando no AD com quota de 100MB para cada usuario!

[8] Comentário enviado por TSM em 28/07/2007 - 22:21h

Muito bom, parabéns.

[9] Comentário enviado por removido em 19/03/2008 - 13:17h

Roberto,

Parabéns pelo excelente artigo.

Atenciosamente,

Slackmaster ( jlgomessouza@gmail.com )

http://dangercode.blogspot.com

[10] Comentário enviado por removido em 28/05/2008 - 15:38h

Ola Amigo,

Muito legal seu artigo.


Abraços

Micnet

[11] Comentário enviado por n1lux em 29/07/2008 - 13:56h

Olá Robertors, exelente artigo kra, aborda totalmente o tema de quotas no linux...
Mas comigo aconteceu um problema kra, talvez vc possa me ajudar:
Fiz tudo certinho seguindo o teu tutorial mas deu problema na cota para grupos. Se estabeleco um limite
para um grupo do AD, esse limite nao e obedecido. ja para usuario funciona direitinho... o q sera que pode ser?

[12] Comentário enviado por hwrbet em 31/05/2009 - 13:04h

EXCELENTE ARTIGO AMIGO, PARABENS!!!

Me interessei pelos seus posts, e vou dar uma olhada em TODOS eles... muito didatico, exemplificado, linguagem simplérrima...

EXCELENTE!!!!!!!!!!!!!

[13] Comentário enviado por mikaelrna em 05/08/2009 - 09:21h

Roberto,

Primeiramente gostaria de parabeniza-lo pelo artigo com uma linguagem simples e objetiva, aproveito para fazer uma sugestão:
Insira no script de inicialização(recomendado /etc/rc.local) para verificar a quota e habilitá-la em tempo de inicialização:

# Verifica a quota e a habilita.
if [ -x /usr/sbin/quotacheck ]
then
echo "Checando quotas. Isto pode levar algum tempo."
/usr/sbin/quotacheck -avug
echo " Concluído."
fi
if [ -x /usr/sbin/quotaon ]
then
echo "Habilitando sistema de quota."
/usr/sbin/quotaon -avug
fi

ATENÇÃO: O caminho para o comando quotacheck pode variar nas distribuições verifique o caminho correto executando o comando:
#which quotacheck

[14] Comentário enviado por mayconplanet em 07/07/2010 - 10:54h

Muito bom!Parabéns! Explicou com detalhes...

[15] Comentário enviado por rsilveiragomes em 30/04/2014 - 13:42h

Muito útil o artigo, tudo muito bem explicado!

Me ajudou a entender melhor o funcionamento das quotas. Obrigado !

[16] Comentário enviado por removido em 26/08/2015 - 00:02h

Artigo muito útil.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts