48

У меня есть несколько внешних и внутренних жестких дисков, которые я использую в системе 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 без журналирования и все остальное, что занимает столько места, если это возможно.

3 ответа3

94

По умолчанию ext2 и его наследники резервируют 5% файловой системы для использования пользователем root. Это уменьшает фрагментацию и снижает вероятность того, что администратору или любым демонам, принадлежащим пользователю root, не останется свободного места для работы.

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

5% -ное количество было установлено в 1980-х годах, когда диски были намного меньше, но были оставлены как есть. В настоящее время 1%, вероятно, достаточно для стабильности системы.

Резервирование можно изменить с помощью опции -m команды tune2fs :

tune2fs -m 0 /dev/sda1

Это установит процент зарезервированных блоков на 0% (0 блоков).

Чтобы получить текущее значение (среди прочего), используйте команду:

tune2fs -l <device> 
3

Еще один момент, о котором еще не говорилось, это количество инодов, которые вы резервируете в своей файловой системе.

По умолчанию mkfs создает несколько инодов, которые должны позволять помещать в вашу файловую систему множество очень маленьких файлов. Если вы знаете, что файлы будут очень большими, и вы поместите в FS только небольшое количество файлов, вы можете уменьшить количество инодов.

Береги себя! Это число (соответственно, отношение между пространством и числом inode) может быть установлено только во время создания файловой системы. Даже при расширении FS соотношение остается тем же.

3

если данные, которые вы собираетесь хранить на них, являются сжимаемыми, btrfs, смонтированные с compress=zstd (или compress-force=zstd), вероятно, будет использовать значительно меньше дискового пространства, чем ext *

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

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