Utilizando quota em XFS

Há algum tempo precisei implementar quota em um filesystem XFS, ao procurar documentação encontrei pouquíssimas coisas, e o pouco que achei foi em inglês. Depois de uns 3 dias pesquisando consegui implementar a quota sobre o XFS e descobri algumas coisas bem interessantes, como por exemplo a utilização de quotas por projeto.

[ Hits: 50.272 ]

Por: João Paulo de Lima Barbosa em 18/08/2008 | Blog: http://www.unipan.br/joao


Migrando para XFS, cadê a Quota?



Por questões de performance, na empresa onde trabalho foi necessário trocar o sistema de arquivos de um servidor de arquivos, este utilizava até então EXT3 com quotas de disco por usuário, no entanto devido ao aumento da concorrência do recurso de disco (tendo-se em média 30 a 40 acessos simultâneos a arquivos grandes), este servidor passou a apresentar um alto consumo de CPU, e conseqüentemente lentidões no acesso a compartilhamentos (via samba).

Com isso tínhamos um problema, precisávamos de uma solução, rapidamente percebi que o gargalo estava no sistema de arquivos, que estava consumindo muita CPU. Tendo identificado o problema, comecei a buscar soluções, muita gente poderia aumentar os recursos do servidor ou simplesmente trocá-lo por outro de maior desempenho (a máquina em questão é um Xeon 3GHz HT, 1 GB de RAM e disco SCSI 73 Gb 10K RPM), mas este era um luxo que eu não poderia ter.

Foi então que comecei a pesquisar outros sistemas de arquivos como alternativa para se colocar em produção, os pesquisados foram XFS, ReiserFS e JFS, todas as pesquisas apontavam o XFS como o mais indicado pelo seu baixo consumo de CPU.

Ainda não convencido disso, fiz alguns pequenos testes no mesmo, com operações de escrita a gravação de grandes quantidades de arquivos, e com arquivos de tamanhos variados, ao fim eu estava convencido, iria migrar para XFS.

Implementei então um servidor de teste, foi aí que me deparei com o segundo problema, a QUOTA de disco, começou então a segunda pesquisa, como implementar a quota de disco no XFS, achei pouquíssima documentação sobre como fazê-la, e o pouco que achei eram transcrições exatas dos manuais do XFS, mas consegui me orientar ao poucos e implementar a quota no dito cujo, e ao final fiquei mais satisfeito com a quota do XFS do que com a quota do EXT3, pois além da já famigerada quota por usuários e grupos (suportadas pelo EXT3), o XFS permite quota por projeto, ou seja, posso definir quota para um diretório específico, independente do usuário ou grupo que venham depositar seus arquivos nesse diretório. Nem mesmo o root escapa da quota por projeto!

Bom, chega de enrolação e vamos a implementação.

A implementação foi feita em três distribuições:
  • Debian 4,0 (Etch)
  • CentOS 5.1
  • Slackware 12

Obs.: Vou considerar que você tenha uma partição vazia (ou não particionada) em seu sistema para que possamos realizar os testes.

    Próxima página

Páginas do artigo
   1. Migrando para XFS, cadê a Quota?
   2. Instalando os pacotes necessários
   3. Formatando as partições e ativando quotas para usuários e grupos
   4. Definindo quota para usuários e grupos
   5. Definindo quota por projeto (diretório)
   6. Desativando e reativando a quota (Enforcement)
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Criando um pacote TXZ no Slackware

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

Filesystem LVM

Negação de serviço: Implementação, defesas e repercussões

Explorando NFS mal configurado

  
Comentários
[1] Comentário enviado por celioishikawa em 18/08/2008 - 13:52h

muito bom o artigo!

[2] Comentário enviado por educanario em 18/08/2008 - 14:46h

Excelente artigo.

[3] Comentário enviado por SMarcell em 20/08/2008 - 08:32h

Na minha opinião, o XFS hoje é o melhor "file system" disponível para o Linux! É super veloz na leitura e gravação de dados, conta com excelentes ferramentas administrativas e muito mais. Também é um dos poucos FS que contam com ferramenta de desfragmentação (sim DESFRAGMENTAÇÃO! muitos usuários ainda acreditam no mito de que os sistemas de arquivos disponíveis para Linux não fragmentam). Parábens pelo artigo cara!



[4] Comentário enviado por joaocdc em 20/08/2008 - 11:55h

Obrigado a todos!
Concordo plenamente com o colega acima (SMarcell), o XFS é um dos melhores filesystem da atualidade.
Abraços

[5] Comentário enviado por grandmaster em 25/08/2008 - 21:00h

Muito bom mesmo.

Renato de Castro Henriques
CobiT Foundation 4.1 Certified ID: 90391725
http://www.renato.henriques.nom.br

[6] Comentário enviado por linux.vitor em 18/12/2008 - 17:52h

Otimo Artigo!

So uma duvida...

Se eu colocar uma quota de 100MB e o usuario exeder essa quota, o servidor vai para de gravar? ou vai dar uma msg de alerta para o usuario ou administrador?

Obrigado.

Att
Vitor

[7] Comentário enviado por joaocdc em 21/12/2008 - 18:31h

Obrigado!

por exemplo se o usuário tem uma quota de 100MB ele vai "enxergar" apenas 100MB disponível nesse diretório, e quando seu espaço acabar, o sistema vai informar que o espaço em disco é insuficiente para gravação, da mesma forma que acontece quando um HD ou Pendrive enche, o administrador pode ver isto utilizando o xfs_quota report, como foi descrito no artigo.

Att. João

[8] Comentário enviado por rogerio.carvalho em 27/08/2009 - 16:43h

O artigo está muito bom, mas gostaria de complementá-lo com algo que presenciei na distro Opensuse, não sei se mais alguem passou por isso com outra, mas assim que estabeleci as opções no fstab de uquota e gquota para a raiz do sistema ao reiniciar o computador as opções de quota eram consideradas inválidas, após algumas pesquisas na internet notei que a opção rooflags=quota no boot do sistema era necessária para que as quotas fossem de fato aplicadas no sistema para a raiz do sistema.

Att.
Rogerio

[9] Comentário enviado por raickonen em 03/11/2010 - 13:04h

Preciso definir quota para vários diretorios, cada um com sua quota individual. Isso é possivel?

[10] Comentário enviado por joaocdc em 03/11/2010 - 18:29h

Sim, isso é possível. Utilizando o conceito de quota por projeto (descrito na página 5 do artigo), para isso cada diretório deverá ser tratado como um projeto. Cada diretório com quota controlada, terá uma entrada em "/etc/projid" e "/etc/projects". Como explicado, a quota irá agir independente do usuário que esta fazendo a gravação, nem mesmo o root poderá exceder a quota do diretório, observe que o usuário precisa ter permissão de escrita do diretório, a quota por projeto não afeta em nada o permissionamento de usuários e grupos.

[11] Comentário enviado por rlimao em 28/08/2013 - 14:37h

Cara....Parabéns pelo artigo, muito esclarecedor.

Fiquei com uma duvida: Se eu criei uma cota de 100 mb para o usuário e ele precisar aumentar esse limite, posso utilizar o mesmo comando de criação?


att.

ricardo lima

[12] Comentário enviado por joaocdc em 29/08/2013 - 16:34h

Oi Ricardo,

Exatamente, você utiliza o mesmo comando para alterar a quota do usuário, exemplo:

# xfs_quota -x -c 'limit -u bsoft=100M bhard=100M joao' /mnt/hda2

Att.

[13] Comentário enviado por charlesbrownrj em 18/04/2018 - 21:10h

Parabéns!!!
O melhor artigo que encontrei sobre xfs_quota, muito bom!!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts