Eu tenho os seguintes cenários:
Partição única montada como /, com muito espaço em disco.
Há uma variedade de diretórios (/ pg / tbs1, / pg / tbs2, / pg / tbs3 e assim por diante), e eu gostaria de limitar o tamanho total desses diretórios.
Uma opção é criar alguns arquivos grandes, e depois executá-los no mkfs, montar sobre loopback e definir cota, mas isso torna a expansão um pouco problemática.
Existe alguma outra maneira de fazer a cota funcionar por diretório?
resize2fs
para aumentar o sistema de arquivos. Eu acho que usar o LVM é uma solução melhor, mas a que você propôs não tem as limitações que você acha que tem.Respostas:
Se você é forçado a usar o ext3, usar o LVM é provavelmente a melhor solução. Crie um novo sistema de arquivos por projeto. Isso seria algo como isto:
É fácil aumentar os sistemas de arquivos do projeto:
fonte
Se você não confiar nas permissões do grupo, poderá usar um grupo UNIX diferente para cada "diretório de cota" e definir o bit sgid em cada diretório (para que os arquivos e diretórios criados pertençam ao grupo do diretório em vez do grupo principal do usuário criador) e use cotas de grupo.
fonte
Sim. Veja o sistema de arquivos XFS e a cota do projeto. Outro sistema de arquivos não oferece esse recurso.
fonte
Na verdade, eu queria fazer isso por um tempo porque não queria criar usuários do sistema para todos os meus usuários de email virtual. Os sistemas de arquivos ZFS com cotas seriam ótimos e o zfs-fuse progride todos os dias, mas o que eu queria era uma solução muito leve. Finalmente, decidi escrever um sistema de arquivos FUSE que eu poderia montar como uma camada sobre outro sistema de arquivos (qualquer diretório base funcionará realmente). Ele possui um utilitário para gerenciar cotas com facilidade de script e, como os valores das cotas são apenas armazenados como xattrs em diretórios ou arquivos, um ponto de montagem pode fornecer suporte para um número arbitrário de cotas.
Venho testando-o em um servidor de correio há um tempo e recentemente decidi que chegara à adolescência e estava pronto para ser lançado na natureza. Se você estiver curioso, confira em http://code.google.com/p/fusequota/ . Eu gostaria muito de receber qualquer feedback.
fonte
O novo sistema de arquivos para cada pasta compartilhada é um exagero no IMHO. Apenas crie um novo grupo para cada pasta compartilhada, defina o grupo de proprietários da pasta compartilhada para este grupo, defina um pedaço fixo para agrupar (para que cada novo arquivo e diretório tenha esse grupo como proprietário) e, para permissões em arquivos e pastas, use listas acl. Em seguida, defina cotas para esses grupos.
fonte
Não conheço nenhum método para definir aspas por diretório.
Mas com a sua idéia de criar sistemas de arquivos com um tamanho limitado. Este pode ser um lugar onde o lvm seria uma boa solução.
Você pode fazer backup / reinstalar e usar o lvm , alocando apenas a quantidade mínima de espaço necessária para seus volumes lógicos. É muito fácil estender volumes lógicos lvm .
fonte