Bem, primeiro, o que é um inode? No mundo Unix, um inode é um tipo de entrada de arquivo. Um nome de arquivo em um diretório é apenas um rótulo (um link!) Para um inode. Um inode pode ser referenciado em vários locais (hardlinks!).
-i bytes-por-inode (também conhecido como inode_ratio)
Por alguma razão desconhecida, este parâmetro é por vezes documentado como bytes-por-inode e em algum momento como inode_ratio . De acordo com a documentação, esta é a relação bytes / inode . A maioria dos humanos terá uma melhor compreensão quando declarada como (desculpem meu inglês):
- 1 inode para cada X bytes de armazenamento (onde X é bytes por inodo).
- menor tamanho médio de arquivo que você pode ajustar.
A fórmula (retirada do código-fonte mke2fs
):
inode_count = (blocks_count * blocksize) / inode_ratio
Ou mesmo simplificado (supondo que "tamanho da partição" seja aproximadamente equivalente a blocks_count * blocksize
, eu não verifiquei a alocação):
inode_count = (partition_size_in_bytes) / inode_ratio
Nota 1: Mesmo que você forneça um número fixo de inode na hora de criação do FS ( mkfs -N ...
), o valor é convertido em uma proporção, para que você possa ajustar mais inode conforme estende o tamanho do sistema de arquivos. p>
Nota 2: Se você ajustar esta proporção, certifique-se de alocar significativamente mais inode do que o que você planeja usar ... você realmente não quer reformatar seu sistema de arquivos.
-I inode-size
Este é o número de bytes que o sistema de arquivos irá alocar / reservar para cada inode que o sistema de arquivos possa ter. O espaço é usado para armazenar os atributos do inode (leia Introdução aos Inodes ). No Ext3, o tamanho padrão era 128. No Ext4, o tamanho padrão é 256 (para armazenar extra_isize
e fornecer espaço para atributos estendidos embutidos). leia Linux: Por que mudar o tamanho do inode?
Nota: X bytes de disjkspace são alocados para cada inode alocado, seja livre ou usado, onde X = tamanho do inode.