Файловая система etx4 и расчет максимального индекса - PullRequest
0 голосов
/ 28 февраля 2020

Как рассчитать максимальное число инодов, используемых для опции -N в mkfx.ext4, исходя из LV / размера устройства?

В приведенном ниже примере я попробовал несколько больших чисел -N при создании файловой системы на ~ 500 МБ LV и он выходит из строя на 4207000 и на 4017000 работает уже. Как рассчитать макс?

# mkfs.ext4 -m 0 -b 4096 -N 4207000 /dev/mapper/testvg-testlv
mke2fs 1.42.9 (28-Dec-2013)
mkfs.ext4: inode_size (128) * inodes_count (4207000) too big for a
        filesystem with 130048 blocks, specify higher inode_ratio (-i)
        or lower inode count (-N).


# mkfs.ext4 -m 0 -b 4096 -N 4017000 /dev/mapper/testvg-testlv
mke2fs 1.42.9 (28-Dec-2013)
warning: 160 blocks unused.

Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
4018656 inodes, 129888 blocks
0 blocks (0.00%) reserved for the super user
First data block=0
123 block groups
1056 blocks per group, 1056 fragments per group
32672 inodes per group
Superblock backups stored on blocks:
        1056, 3168, 5280, 7392, 9504, 26400, 28512, 51744, 85536

Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): mkfs.ext4: Could not allocate block in ext2 filesystem
        while trying to create journal

1 Ответ

0 голосов
/ 28 февраля 2020
Block Size = 4096
Blocks = 130048
Partition Size = (Block Size * Blocks) =  532676608  ( ~508Mb )
inode_size = 128
inode_ratio = 16834
max inodes =  (Partition Size /  inode_ratio) * inode_size = 4050291

Надеюсь, что поможет

...