Максимальный предел inode для файловой системы ext4 - кто-нибудь может объяснить?

16

Недавно у нас возникла проблема, когда одна из файловых систем ext4, казалось, не могла обрабатывать очень большое количество файлов, more than 6mln in this caseнесмотря на наличие достаточного места. Это 6mlnмаксимальное число, которое может иметь файловая система ext4 при форматировании со всеми настройками по умолчанию? Я попытался Google это, но не получил никакого определенного ответа. Кто-нибудь здесь может пролить свет на это, пожалуйста? Ура !!

MacUsers
источник

Ответы:

20

Для ext4 нет значения по умолчанию как такового , оно зависит от размера устройства и параметров, выбранных при создании. Вы можете проверить существующие ограничения, используя

tune2fs -l /path/to/device

Например,

root@xwing:~# tune2fs -l /dev/sda1
tune2fs 1.42 (29-Nov-2011)
Filesystem volume name:   <none>
Last mounted on:          /

[lots of stuff snipped]

Inode count:              1277952
Free inodes:              1069532
Inodes per group:         8192
Inode blocks per group:   512

[lots of stuff snipped]

Согласно man mkfs.ext4

-i байт на индекс

Укажите соотношение байт / индекс. mke2fs создает индекс для каждого байта на индекс байтов пространства на диске. Чем больше отношение байтов к индексу, тем меньше будет создано инодов. Это значение обычно не должно быть меньше, чем размер блока файловой системы, поскольку в этом случае будет сделано больше inode, чем когда-либо может быть использовано. Имейте в виду, что после создания файла в inode невозможно увеличить число inode, поэтому будьте осторожны, выбирая правильное значение для этого параметра.

EightBitTony
источник
6

Это зависит от того, как вы отформатировали файловую систему. Используя его, tune2fs -l <device>вы можете определить количество инодов на вашем устройстве, вероятно, около 6 млн инодов в вашем случае. Каждый файл или каталог использует индекс.

Насколько я знаю, единственная возможность увеличить количество inode - это переформатировать вашу файловую систему. -iПараметр к mkfsможет быть использован для указания / соотношения байт индексного дескриптора. Значение по умолчанию определено в /etc/mke2fs.conf(в моей системе: 16384).

Чем больше отношение байтов к индексу, тем меньше число инодов, а меньше - больше. Значения по умолчанию работают хорошо в большинстве случаев, но если у вас есть большое количество маленьких файлов, вы можете столкнуться с ограничением и вам может потребоваться отформатировать файловую систему с меньшим отношением байтов к индексу.

Оливер
источник