Eu corri para o limite de 32k subdiretórios. Algumas pesquisas fazem parecer que a opção de sistema de arquivos dir_nlink irá remover esse limite, mas não consigo encontrar nenhuma documentação sobre isso. Está disponível para ext3? Se eu precisar atualizar para o ext4, como faço isso? Posso executar o ext4 em cima do meu ext3 fs e obter o benefício dessa alteração? Eu preciso de um kernel mais recente? Estou executando o servidor Ubuntu 9.04 estável o kernel é 2.6.18.8-linode19. Obrigado.
O Ext4 afirma que eles têm sem limite de subdiretórios . Eles também dizem que é seguro para uso na produção a partir do Linux 2.6.28 . Eles também detalham como migrar um sistema de arquivos ext3 para ext4 . O limite do subdiretório deve ser elevado para os arquivos existentes, pois é apenas para as extensões que os arquivos pré-atualização não serão atualizados.
A técnica normal é criar vários níveis de subdiretórios se você precisar armazenar um grande número de arquivos - mas não exagere, ter muitos diretórios também é ineficiente.
Se você precisar armazenar > Arquivos 32M, apenas dividi-los pelos dois últimos dígitos do ID ou algo assim, então você terá 100 dirs com os arquivos distribuídos aproximadamente uniformemente.
Se você precisar de uma solução agora mesmo, poderá substituir subdiretórios por links simbólicos. Links simbólicos não estão limitados a 32k. Isso permite que você crie uma estrutura de diretório mais profunda, como os outros recomendam, mas ainda permite que os programas acessem-na em um espaço simples.
Tags linux filesystems ubuntu