Como calcular aproximadamente bytes por inode para ext2?
Tenho 7,3 GB de armazenamento (15320519 setores de 512B cada). Eu criei um sistema de arquivos ext2 com tamanho de bloco 4096
mke2fs /dev/sda2 -i 524288 -m 0 -L "SSD" -F -b 4096 -U 11111111-2222-3333-4444-555555555555 -O none,filetype,sparse_super,large_file
Filesystem label=SSD
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
15104 inodes, 1915064 blocks
0 blocks (0%) reserved for the super user
First data block=0
Maximum filesystem blocks=4194304
59 block groups
32768 blocks per group, 32768 fragments per group
256 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Normalmente todos os meus arquivos têm tamanho de 100kB (e cerca de 5 arquivos podem ter 400MB). Eu tento ler isso e aquilo . Mas ainda não está claro como calcular aproximadamente bytes por inode? O atual 524288 não é suficiente, por enquanto não consigo criar novos arquivos no sda2 mas ainda tenho muito espaço livre.
PS Informações extras
# df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/root ext4 146929 84492 59365 59% /
devtmpfs devtmpfs 249936 0 249936 0% /dev
tmpfs tmpfs 250248 0 250248 0% /dev/shm
tmpfs tmpfs 250248 56 250192 0% /tmp
tmpfs tmpfs 250248 116 250132 0% /run
/dev/sda2 ext2 7655936 653068 7002868 9% /mnt/sda2
# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 143.5M 82.5M 58.0M 59% /
devtmpfs 244.1M 0 244.1M 0% /dev
tmpfs 244.4M 0 244.4M 0% /dev/shm
tmpfs 244.4M 56.0K 244.3M 0% /tmp
tmpfs 244.4M 116.0K 244.3M 0% /run
/dev/sda2 7.3G 637.8M 6.7G 9% /mnt/sda2
# fdisk -l
Disk /dev/sda: 7.45 GiB, 8001552384 bytes, 15628032 sectors
Disk model: 8GB ATA Flash Di
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0a19a8af
Device Boot Start End Sectors Size Id Type
/dev/sda1 309 307508 307200 150M 83 Linux
/dev/sda2 307512 15628030 15320519 7.3G 83 Linux
Seu espaço livre é de aproximadamente
7.3*1024*1024*1024
bytes. Em média, espera-se que o tamanho de um arquivo seja de100*1024
bytes. Isso significa que você tem espaço para aproximadamentearquivos distintos. Isso implica que você precisa exatamente dessa quantidade de inodes.
A saída mke2fs indica que você possui
15,104
inodes atualmente; não é de admirar que você fique sem eles - você precisa de aprox. cinco vezes mais.Acredito que você não tenha percebido que a
-i
opção já especifica diretamente o tamanho médio esperado do arquivo. Você precisa de um inode por arquivo (distinto), portanto, se o tamanho médio do arquivo for 100 KB, um novo inode deverá ser atribuído a cada 100 KB de armazenamento. Basta executar novamente o comando com-i $((100*1024))
.(Sua opção atual
-i 524288
informa ao mke2fs que o tamanho normal do arquivo será 512 KB, o que é cca, cinco vezes maior que a realidade - é por isso que você obtém cca, cinco vezes menos inodes do que o necessário.)Em resumo, basta ler "bytes por inode" como "bytes por arquivo distinto".