Limite de diretório Ext4

Limite de diretório Ext4

Eu tenho um servidor Ubuntu 14.04 que não consegue criar um novo diretório além do diretório 65.000. Eu executei um tune2fs -le posso ver que o dir_nlinksinalizador está definido. Alguém sabe o que mais pode ser verificado para permitir que isso ocorra? Tenho muitos outros clones dessa configuração de servidores que ultrapassaram a marca de 65.000 e estão funcionando conforme o esperado. Eu comparei os tune2fs -lresultados e eles parecem iguais. Ainda tenho vários milhões de inodes e blocos gratuitos. Desmontei e remontei o sistema de arquivos e nada mudou.

Responder1

Limite de diretório Ext4

Ext4 suporta dois tipos de diretórios:

  • diretórios quase lineares tradicionais
  • diretórios baseados em hash

Os diretórios lineares têm um limite de 65.000 links, ou seja, em torno disso são possíveis muitos subdiretórios. Diretórios baseados em hash não têm limite.

Ao criar um novo sistema de arquivos, o padrão são diretórios hash. Se seus diretórios ainda forem lineares, provavelmente é porque você atualizou uma partição ext3 antiga. (Ext3 obteve o recurso de diretórios baseados em hash posteriormente.)

Testar se um diretório é quase linear ou baseado em hash

$ sudo debugfs /dev/partition
$ htree /
htree: Not a hash-indexed directory

Conversão

  1. Desmonte a partição
  2. Habilite os recursos dir_index(diretórios baseados em hash) e dir_nlink(links ilimitados).

    sudo tune2fs -O dir_index,dir_nlink /dev/partition
    

Todos os diretórios recém-criados agora são capazes de conter subdiretórios ilimitados.

Se você deseja converter diretórios existentes, faça o seguinte:

  1. Desmonte a partição (importante para evitar perda de dados)
  2. Diga ao fsck para reconstruir os índices do diretório:

    sudo e2fsck -f -D /dev/partition
    

-fforça o fsck a verificar o disco mesmo se estiver no estado limpo

-Ddiz ao e2fsck para reconstruir os índices:

Esta opção faz com que o e2fsck tente otimizar todos os diretórios, reindexando-os se o sistema de arquivos suportar indexação de diretórios, ou classificando e compactando diretórios para diretórios menores ou para sistemas de arquivos que usam diretórios lineares tradicionais.

informação relacionada