Полезно использовать-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
.