Gerenciando quotas de disco

Neste artigo, descrevo as funcionalidades do recurso de quotas de disco, uma breve introdução sobre Soft Limit, Hard Limit e Grace Period e um tutorial básico para criação e gerenciamento de quotas.

[ Hits: 86.361 ]

Por: Cristian Alexandre Castaldi em 28/12/2005


Comandos para gerência de quotas



quota


O comando quota é usado para visualizar informações sobre as quotas de espaço em disco configuradas para um determinado usuário ou grupo de usuários. Ele possui as seguintes opções:
  • -u - Mostra a quota definida para um determinado usuário;
  • -g - Mostra a quota definida para um determinado grupo de usuários;
  • -v - Mostra as quotas mesmo que nenhuma esteja definida;
  • -q - Mostra somente quando a rota for excedida;
  • -i - Ignora pontos de montagem montados pelo automounter;
  • -l - Mostra apenas quotas de sistemas de arquivos locais;

Somente o superusuário pode visualizar as informações de quotas de outros usuários, sendo que um usuário comum só pode ver a sua quota e a quota do grupo que ele pertence.

# quota -u crildo
Disk quotas for user crildo (uid 1000):
Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
/dev/sdb2    2740*   1000    2000              60       0       0    

quotaon


O comando quotaon habilita o gerenciamento prévio de todas as quotas de disco configuradas em um ou mais sistemas de arquivos. Ele possui as seguintes opções:
  • -a - Habilita o gerenciamento de todas as quotas de disco para todos os sistemas de arquivos configurados para controle de quotas no arquivo /etc/fstab;
  • -v - Mostra uma mensagem para cada sistema de arquivos com quotas habilitadas;
  • -u - Habilita o gerenciamento de quotas de usuários em um determinado dispositivo;
  • -g - Habilita o gerenciamento de quotas de grupos em um determinado dispositivo;

# quotaon -aguv
/dev/sdb2 [/mnt/particao1]: group quotas turned on
/dev/sdb2 [/mnt/particao1]: user quotas turned on

Vamos supor que eu necessite habilitar as quotas de grupo somente do sistema de arquivos localizado no diretório /home:
# quotaon -gv /home

quotaoff


O comando quotaoff desabilita o gerenciamento de quotas de usuários ou grupos em um ou mais sistemas de arquivos. Observe as suas opções:
  • -a - Desabilita o gerenciamento de todas as quotas de disco para todos os sistemas de arquivos configurados para controle de quotas no arquivo /etc/fstab;
  • -v - Mostra uma mensagem para cada sistema de arquivos com quotas desabilitadas;
  • -u - Desabilita o gerenciamento de quotas de usuários em um determinado dispositivo;
  • -g - Desabilita o gerenciamento de quotas de grupos em um determinado dispositivo;

# quotaoff -aguv
/dev/sdb2 [/mnt/particao1]: group quotas turned off
/dev/sdb2 [/mnt/particao1]: user quotas turned off

quotacheck


Faz uma checagem nos sistemas de arquivos configurados com gerenciamento de quotas, compila e atualiza os bancos de dados de quotas (usrquota e grpquota). É recomendado que o quotacheck seja executado toda vez que o sistema é inicializado ou periodicamente (dia, semana, mês), via cron.

Desta maneira, ele garante que o banco de dados esteja no seu mais recente estado. É importante saber que as quotas para um determinado dispositivo devem ser desabilitadas antes do uso do comando quotacheck, senão as informações coletadas da base de dados ficarão em memória e os arquivos com a base de dados não serão atualizados. Ele possui as seguintes opções:
  • -a - Checa todas as quotas configuradas para os sistemas de arquivos mencionados no arquivo /etc/fstab;
  • -g grupo - Cria a base de dados para um determinado grupo;
  • -u user - Cria a base de dados para um determinado usuário;
  • -v - Mostra todas as informações executadas pelo quotacheck;

# quotaoff -a
# quotacheck -avug
# quotaon -a

edquota


O comando edquota é um utilitário usado somente pelo superusuário para edição de quotas de usuários e grupos. O editor vi é o editor padrão usado com o edquota para editar os arquivos quota.user e quota.group. Ele possui as seguintes opções:
  • -r Edita quotas em dispositivos remotos, um bom exemplo são os dispositivos que usam NFS;
  • -u - Edita as quotas de usuários;
  • -g - Edita as quotas de grupos de usuários;
  • -p user - Copia as configurações de uma quota de usuário padrão para criar outra;
  • -F format-name - Edita as quotas para um formato específico (vfsold, vfsv0, rpc e xfs);
  • -f filesystem - Realiza operações especificas para um único sistema de arquivos;
  • -T - Edita o tempo limite de uso de quotas de usuários/grupos quando o softlimit é excedido;
  • -t - Edita o período de graça para os Soft Limits para cada sistema de arquivos;

Observe a edição da quota do usuário crildo:

# edquota -u crildo
Disk quotas for user crildo (uid 1000):
Filesystem   blocks  soft   hard  inodes    soft     hard
/dev/sdb2    2740    3000   5000  60        0        0

Agora, vamos mudar o período de soft limit de todos os usuários:

# edquota -tu
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem     Block grace period     Inode grace period
/dev/sdb2      5days                  3days

Podemos usar dias, horas, minutos ou segundos para configurar o Soft Limit, no exemplo acima, o período de graça para espaço em disco está configurado para 5 dias e 3 dias para armazenamento de arquivos.

repquota


O comando repquota gera um relatório do uso das quotas de discos de usuários e grupos de um determinado dispositivo. Observe as opções mais usadas:
  • -a - Exibe um relatório de todas as quotas dos sistemas de arquivos que estão contidos no arquivo /etc/mtab;
  • -v - Cria um cabeçalho descritivo para o relatório de quotas;
  • -u - Cria um relatório de utilização por usuário;
  • -g - Cria um relatório de utilização por grupo;
  • -c - Faz cache das entradas para relatório e traduz os UIDs/GIDs para nomes em uma grande amostra de usuários. É um bom procedimento quando usado com o arquivo /etc/passwd;
  • -C - Faz cachê das entradas para relatório individualmente. É um bom procedimento quando os usuários estão armazenados em um banco de dados;
  • -t - Trunca o nome de usuários ou grupos com mais de 9 caracteres;
  • -n - Não traduz UIDs/GIDs para nomes;
  • -i - Ignora os pontos de montagem montados pelo automounter;
  • -s - Testa para relatar o espaço e o número de inodes usados;
  • -F - Exibe um relatório de quotas para um determinado formato. Esses formatos podem ser: vfsold, vfsv0 e xfs;

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Comandos para gerência de quotas
   3. Criando e gerenciando quotas
   4. Bibliografia
Outros artigos deste autor

Trabalhando com coringas, filtros e expressões regulares no shell

Trabalhando com shell e variáveis de ambiente

Instalando e configurando o servidor Samba

Autenticando usuários

Usando partições e sistemas de arquivos

Leitura recomendada

Aprendendo NFS - Network File System

Permissões - referência rápida

Configuração de Servidor NFSv4 no CentOS 6

Transferência Rápida de Arquivos com NFS

Visão geral sobre o Raid

  
Comentários
[1] Comentário enviado por casterman em 29/12/2005 - 15:20h

simples mas poderosp legal, cara

[2] Comentário enviado por agk em 03/01/2006 - 14:18h

Excelente artigo, está de parabéns, não tinha visto ainda um artigo que explicasse tão bem os conceitos de quota e como aplicá-los.

[3] Comentário enviado por canaman em 15/02/2006 - 12:09h

E como faço pra que ao criar um usuário, uma quota padrão seja aplicada?

[4] Comentário enviado por canaman em 15/02/2006 - 12:13h

outra coisa, apaguei sem querar o arquivo quota.user.. tenho mais de 200 usuários e alguns com quotas diferentes, o que faço agora? Sorte que difilmente é preciso reiniciar o servidor, espero que não falte energia tão cedo

[5] Comentário enviado por juliaojunior em 27/10/2006 - 13:40h

kara, ou +-iniciante e fiquei 'boiando'.

[6] Comentário enviado por aps167 em 28/05/2007 - 11:00h

você sabe me dizer qual é comando que vejo o quanto do hd já foi usado, ou seja oq eunto do hd já tem dados gravados.?

[7] Comentário enviado por crildo em 28/05/2007 - 11:20h

O comando df mostra o quanto de espaço de disco está sendo usado.

digite...

# df -v

ou

# df -h


[8] Comentário enviado por rodrigo.vizu em 08/04/2011 - 12:04h

Estou tentando configurar o Samba e usar o controle de quotas, estou usando o debian squeeze e quando tento entrar com o comando quotacheck -vagum a mensagem a seguir é apresentada.

quotacheck: Cannot guess format from filename on /dev/sda5. Please specify format on commandline.
quotacheck: Cannot find filesystem to check or filesystem not mounted with quota option.

Se alguem puder ajudar eu agradeço.

[9] Comentário enviado por cordobel em 21/03/2012 - 18:18h

rodrigo.vizu da uma olhada nos detalhes que postei no meu blog.

Mas basicamente basta não criar os arquivos aquota.user e aquota.group ou quota.user e quota.group

o quotacheck -vagumf se encarrega de criá-los. Ele até reclama dos arquivos que não existem, mas funciona.

Agora, pq ta esse erro quando os arquivos já existem???? eu tb não sei, só sei que assim deu certo pra mim.

http://www.cordobel.com/2012/03/ativando-quotas-de-disco-no-debian.html

vlw

[10] Comentário enviado por rgtobr em 08/10/2013 - 14:07h

Como criar um valor de quota padrão (DEFAULT) para novos usuários adicionados ao sistema? Por exemplo: quero que todo novo usuário adicionado ao sistema possua 150MB de espaço disponível por padrão. Onde configuro isto? PS: uso CentOS 6.4


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts