Как я могу использовать опцию сжатия Btrfs при установке Linux?

2

Я пробовал Btrfs с SSD-накопителем и мне понравилась опция сжатия, которая установлена ​​в fstab.

Однако это относится только к файлам, созданным после того, как я установил операционную систему и изменил файл fstab.

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

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

Фил Ханнент
источник

Ответы:

5

При установке вы можете оформить:

mount -o remount,compress=lzo

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

Также убедитесь, что вы обновили / etc / fstab в установленной системе. Я использую следующие опции, которые дают некоторые другие улучшения:

compress=lzo,ssd,relatime,space_cache,inode_cache,autodefrag

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

Я видел другой способ, который включает в себя переименование двоичного файла mount.btrfs и замену его скриптом, но когда я делал это в Ubuntu, он испортился, как обычно, в subvolumes @ и @home, но все просто было сброшено в корень файловой системы. ,

В качестве альтернативы вы можете установить и затем использовать дефрагментацию, но вы должны дефрагментировать каждый файл отдельно, так как команда не является рекурсивной. Это может пригодиться для обновления до новых методов сжатия, которые могут появиться в более новых версиях btrfs, snappy и lz4. Запустите следующее из каталога /.

find -xdev -type f -exec btrfs fi defrag '{}' \;
Дэвид С. Бишоп
источник
Это более правильный ответ. Единственным недостатком сжатия после установки является то, что многие файлы не будут сжаты из-за занятости. Обмануть установщик, предварительно подготовив файловую систему, более эффективно, но гораздо сложнее для менее опытного пользователя.
DanielSmedegaardBuus
«Вы должны дефрагментировать каждый файл отдельно, так как команда не является рекурсивной» - используйте -r для рекурсивной дефрагментации: дефрагментация файловой системы btrfs -r -v -clzo /
bain
1

Как и многие вопросы с программным обеспечением - ответы меняются в зависимости от того, КОГДА их спрашивают / отвечают Я освежаю ответ, чтобы помочь кому-нибудь погуглить свой путь в тему. :)

Правильный ответ для btrfs 3.12 и выше для сжатия директорий / точек монтирования POST (требуемая рекурсивная опция для дефрагментации была добавлена ​​в btrfs 3.12, выпущенной в ноябре 2013 года):
btrfs filesystem defragment -c -r MOUNTPOINT

Вот текущие опции из cli в btrfs версии 4.4: использование
дефрагментации файловой системы btrfs
: дефрагментация файловой системы btrfs [опции] | [| ...]

Defragment a file or a directory

-v             be verbose
-r             defragment files recursively
-c[zlib,lzo]   compress the file while defragmenting
-f             flush data to disk immediately after defragmenting
-s start       defragment only from byte onward
-l len         defragment only up to len bytes
-t size        target extent size hint

BTRFS Use Case из их вики для использования рекурсивного параметра для дефрагментации каталогов / точек монтирования

Запись журнала изменений BTRFS для версии 3.12

Джефф Бернс
источник
Добро пожаловать в Супер пользователя. Помните, что вы опубликовали ответ на вопрос, которому уже несколько лет, и на который уже есть принятый ответ. Хотя в этом нет ничего плохого, просто знайте, что вы можете не получить ответ.
CharlieRB
1
Я согласен с тем, что не получил ответ, но принятый ответ больше не верен. Таким образом, поиск Google приводит к тому, что пользователи получают неверные данные.
Джефф Бернс
И это вполне веская причина для публикации. Отличная работа.
CharlieRB