функция largefile при создании файловой системы

функция largefile при создании файловой системы

Полезно использовать-T большой файлфлаг при создании файловой системы для раздела с большими файлами, такими как видео и аудио в формате flac?

Я протестировал один и тот же раздел с этим флагом и без него, а также с использованиемtune2fs -l [раздел], я проверил в "Функции файловой системы", что у обоих включен "large_file". Так что нет необходимости использовать-T флаг большой файл?

решение1

Флаг -T largefileрегулирует количество инодов, которые выделяются при создании файловой системы. После выделения их количество не может быть изменено (по крайней мере для ext2/3, не совсем уверен насчет ext4). По умолчанию один инод на каждые 16 КБ дискового пространства. -T largefileделает один инод на каждый мегабайт.

Каждый файл требует один инода. Если у вас не осталось инодов, вы не можете создавать новые файлы. Но эти статически выделенные иноды тоже занимают место. Вы можете ожидатьэкономия около 1,5 гигабайт на каждые 100 ГБ дискапри установке -T largefile, в отличие от значения по умолчанию -T largefile4(один inode на 4 МБ), не оказывает столь драматического эффекта.

Если вы уверены, что средний размер файлов, хранящихся на устройстве, будет превышать 1 мегабайт, то, конечно, установите -T largefile. Я с удовольствием использую его на своих разделах хранилища и считаю, что это не слишком радикальная настройка.

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

Проверить количество доступных инодов в работающей файловой системе можно с помощью dumpe2fsкоманды:

# dumpe2fs /dev/hda5
[...]
Inode count:              98784
Block count:              1574362
Reserved block count:     78718
Free blocks:              395001
Free inodes:              34750

Здесь я все еще могу создать 34 тысячи файлов.

Вот что я получил после работы mkfs.ext3 -T largefile -m 0с разделом размером 100 ГБ:

Filesystem           1M-blocks      Used Available Use% Mounted on
/dev/loop1              102369       188    102181   1% /mnt/largefile
/dev/loop2              100794       188    100606   1% /mnt/normal

Версия с большим файлом имеет 102 400 инодов, в то время как обычная версия создала 6 553 600 инодов и сэкономила в процессе 1,5 ГБ.

Если у вас есть хорошее представление о том, какой размер файлов вы собираетесь разместить в файловой системе, вы можете точно настроить количество инодов напрямую с помощью переключателя -i. Он устанавливает соотношение байтов на иноды. Вы получите 75% экономии места, если будете использовать, -i 65536и при этом сможете создать более миллиона файлов. Я обычно рассчитываю, что нужно оставить не менее 100 000 запасных инодов.

решение2

Мне кажется, вы смешиваете два совершенно разных и независимых понятия.

Функция large_file, которую вы видите в выводе dumpe2fs, означает, что эта файловая система может хранить файлы размером более 2 ГиБ, я думаю, что это автоматически устанавливается современными ядрами. Это не имеет ничего общего с -Tопцией mke2fs.

Связанный контент