Как определить физически возможное максимальное количество inode? Или это программный лимит?

Я работаю в файловой системе GPFS. В соответствии с /usr/lpp/mmfs/bin/mmlsfileset gpfs0 -i у меня MaxInodes = 134217728 . Это значение 27-разрядного целого числа без знака, что неубедительно. Это похоже на ограничение программного обеспечения. Это?

1 ответ1

2

Иноды не имеют физического отношения к характеристикам диска, за исключением побочного эффекта от конкретной файловой системы.

inodes - это концепция метаданных файловой системы, и они используются для присоединения метаданных к структурам на диске или мета-структурам (например, к каталогам, которые являются inode, в котором перечислены inode, отражающие его содержимое). Таким образом, любое ограничение на inode основано на структурах, созданных, когда диск отформатирован для данного типа файловой системы.

По ссылке выше:

Место для inode должно быть выделено, когда установлена операционная система (или новая файловая система), и эта система выполняет первоначальное структурирование файловой системы. В любой файловой системе максимальное число inode и, следовательно, максимальное количество файлов, устанавливается при создании файловой системы.

Итак, да, ограничение основано на программном обеспечении либо в ОС, либо в драйверах файловой системы. Файловые системы Linux обычно позволяют ОС играть роль в определении количества инодов при форматировании диска.

Настройка по умолчанию создает индекс для каждых 2 Кбайт, содержащихся в файловой системе, но число может быть изменено пользователем при создании файловой системы. Например, может быть целесообразно создать меньше инодов при настройке файловой системы, которая будет содержать всего несколько больших файлов. Аналогично, для файловой системы, предназначенной в основном для небольших файлов, рекомендуется выделять больше места для inode и меньше для содержимого файла.

Таким образом, по умолчанию большинство Linux будет выделять

ceil(formattedSizeInBytes/(2 * 1024)) => initialInodes .

Это указывает (среди прочего), что число инодов всегда будет точной степенью двойки (поскольку и делитель, и дивиденд по сути являются степенями 2).

Тем не менее, все это говорит о том, что многие старые файловые системы были разработаны для хранения одного файла на сектор или блок, поэтому в этих случаях число inode является функцией числа секторов, которые предоставляет диск (плюс все, что создатели файловой системы считают подходит для ссылок и каталогов и т. д.).

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .