Como posso criar uma partição EXT4 com um número extra grande de inodes?

15

Sobre inodes

No Ubuntu, cada arquivo e diretório é chamado inode. Você pode usar df -ipara verificar o número de inodes em uso e disponíveis para todos os sistemas de arquivos montados.

Questão

Se você criar uma nova partição EXT4, ela usará o número padrão de inodes, que em condições normais deve ser suficiente. No entanto, se você executa um sistema que produz milhões de arquivos pequenos, como é necessário criar uma nova partição EXT4 com um número extra grande de inodes? Qual é o máximo?

Comentários

  • NÃO é possível alterar o número de inodes disponíveis APÓS a criação da partição EXT4
bzero
fonte
@Rinzwind Essa não é a mesma pergunta, pois apenas pergunta como encontrar o grande número de arquivos pequenos ... não explica como formatar uma nova partição EXT4 com um número extra grande de inodes. Vou reabrir minha pergunta.
bzero
Como posso desativar o banner superior dizendo que esta pergunta já pode ter sido respondida? Esta é uma pergunta diferente.
bzero

Respostas:

12

Usando mkfs -t ext4 -N iNumberOfINodes /dev/XdYwhere iNumberOfINodesé um número de 32 bits, para que o número máximo possível de inodes em qualquer sistema de arquivos ext2 / 3/4 seja 2 ^ 32-1 ou 4.294.967.295 (~ 4 bilhões).

Fabby
fonte
5
Existem desvantagens de desempenho conhecidas ao configurar 4.000.000.000 de iNodes?
bzero
11
na verdade não é: mkfs.ext4: muitos inodes (4294967296), especifique <2 ^ 32 inodes
dalore
@dalore off-por-um erro: 2 ^ 32-1 ... Obrigado pela feed-back, a resposta adaptada ... :-)
Fabby
Observe que também tentei isso, mas recebi outro erro que não era muito informativo sobre qual número é aceito.
dalore
você já tentou 2 ^ 31 ???
Fabby #
3

Veja a página de manual do mkfs.ext4.

man mkfs.ext4

Option -Npermite definir o número de inodes criados no sistema de arquivos, e option -Ipermite aumentar seu tamanho (para que eles possam lidar com atributos mais extensos dos arquivos). Ajuste para se adequar à sua situação ao criar o sistema de arquivos.

ubfan1
fonte
Obrigado, então -N é usado no momento da criação, enquanto -l pode ser usado para ajustar o número de inodes DEPOIS da criação da partição? Vou dar uma olhada nas páginas do homem agora ...
bzero
A -Imuda o tamanho de cada inode em bytes no momento da criação. Não permitirá que você aumente o número disponível deles em sistemas de arquivos existentes.
TwoD
"allows you to increase their size (so they can handle more files)"Aumentar o tamanho do inode não significa que você pode manipular mais arquivos, quanto maior a taxa de bytes por inode, menos inodes serão criados, o que significa que menos arquivos podem ser manipulados.
ZN13 4/06/19
1

É sempre uma troca entre inodes e tamanho do bloco. 32 bits é o máximo, mas o máximo real depende do tamanho do seu disco / sistema de arquivos dividido pelo tamanho do bloco. Cada arquivo tem no mínimo um bloco. Você também pode especificar o tamanho do grupo que determina quantos blocos por inode. (ou seja, bytes / inode)

Tudo isso determinará o número de inodes que você pode alocar para um tamanho específico de disco e tamanho de bloco.

Também é uma troca entre desempenho versus capacidade de arquivo. Um tamanho de bloco menor significa que arquivos grandes serão fragmentados e exigirão mais operações de E / S para carregar o arquivo.

Se você quiser personalizar, precisará ler o documento ou acabar com um sistema de arquivos totalmente inadequado para o que achou que queria.

Ellison Chan
fonte