У меня есть несколько внешних и внутренних жестких дисков, которые я использую в системе Linux. У меня есть только системы Linux, поэтому использование файловой системы Linux имело бы смысл, верно? Однако в настоящее время я использую NTFS везде, потому что она дает мне наиболее полезное пространство из жестких дисков.
Я хотел бы сейчас перейти на файловые системы Linux, в основном из-за разрешений и совместимости (например, я не могу изменить размер зашифрованного раздела LFS с помощью NTFS для изменения размера под Linux, продолжает говорить мне chkdsk под Windows).
Однако, когда я отформатировал эти жесткие диски, я опробовал несколько различных файловых систем, и каждая файловая система Linux, даже ext2, которая, насколько я знаю, не ведет журналирование, использовала много места для себя. Я не помню точных значений, но более 100 ГБ NTFS дало мне больше на 2 ТБ HDD, что очень много.
Итак, мой вопрос: есть ли способ заставить ext-файловые системы использовать меньше места для себя? Или есть другая файловая система (я пробовал ext2, ext3, ext4, NTFS и vfat - ни одна из них даже близко не подходила для полезного пространства, предлагаемого мне NTFS) с идеальной поддержкой Linux и большим используемым пространством?
Я хотел бы услышать о том, как и почему файловые системы (особенно ext2, у которых нет ведения журнала) используют намного больше места, чем NTFS, и я не знаю, где еще спросить. Я бы предпочел способ использовать ext4 без журналирования и все остальное, что занимает столько места, если это возможно.
Ответы:
По умолчанию ext2 и его наследники резервируют 5% файловой системы для использования пользователем root. Это уменьшает фрагментацию и снижает вероятность того, что администратор или любые демоны, принадлежащие пользователю root, останутся без места для работы.
Эти зарезервированные блоки не позволяют программам, не запущенным от имени root, заполнить ваш диск. Оправдывают ли эти соображения потерю емкости, зависит от того, для чего используется файловая система.
5% -ное количество было установлено в 1980-х годах, когда диски были намного меньше, но были оставлены как есть. В настоящее время 1%, вероятно, достаточно для стабильности системы.
Резервирование может быть изменено с помощью
-m
опцииtune2fs
команды:Это установит процент зарезервированных блоков на 0% (0 блоков).
Чтобы получить текущее значение (среди прочего), используйте команду:
источник
df
полномочий root против root не показывает разницы.tune2fs -l <device>
должен дать это значение среди других. 5% -ное количество было установлено в 1980-х годах, когда диски были намного меньше, но были оставлены как есть. В настоящее время 1%, вероятно, достаточно для стабильности системы.если данные, которые вы намереваетесь хранить на них, являются сжимаемыми, btrfs, смонтированные с
compress=zstd
(илиcompress-force=zstd
), вероятно, будут использовать значительно меньше дискового пространства, чем ext *источник
Еще один момент, о котором еще не говорилось, это количество инодов, которые вы резервируете в своей файловой системе.
По умолчанию mkfs создает несколько инодов, которые должны позволять помещать в вашу файловую систему множество очень маленьких файлов. Если вы знаете, что файлы будут очень большими, и вы поместите в FS только небольшое количество файлов, вы можете уменьшить количество инодов.
Береги себя! Это число (соответственно, отношение между пространством и числом inode) может быть установлено только во время создания файловой системы. Даже при расширении FS соотношение остается тем же.
источник