Btrfs

Как включить сжатие файловой системы Btrfs

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

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

В этой статье я покажу вам, как включить сжатие на уровне файловой системы Btrfs в файловой системе Btrfs. Итак, приступим.

Предпосылки:

Чтобы попробовать примеры из этой статьи,

У меня жесткий диск 20 ГБ SDB на моей машине Ubuntu. Я создал 2 раздела sdb1 а также sdb2 на этом жестком диске. Я буду использовать перегородку sdb1 в этой статье.

$ sudo lsblk -e7

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

Если вам нужна помощь в установке файловой системы Btrfs в Ubuntu, ознакомьтесь с моей статьей Установите и используйте Btrfs в Ubuntu 20.04 LTS.

Если вам нужна помощь в установке файловой системы Btrfs в Fedora, ознакомьтесь с моей статьей Установите и используйте Btrfs в Fedora 33.

Алгоритмы сжатия Btrfs:

На момент написания этой статьи файловая система Btrfs поддерживает следующие алгоритмы сжатия:

i) LZO: LZO - алгоритм сжатия блоков в реальном времени без потерь. LZO делит данные на блоки и сжимает / распаковывает данные по блокам в реальном времени. Это алгоритм сжатия по умолчанию файловой системы Btrfs.

ii) ZLIB: ZLIB - это библиотека, используемая для сжатия данных. Он использует алгоритм сжатия данных DEFLATE. Алгоритм сжатия данных DEFLATE представляет собой комбинацию алгоритмов кодирования LZ77 и Хаффмана. Файловая система Btrfs поддерживает алгоритм сжатия данных ZLIB.

Вы также можете указать желаемый уровень сжатия. Уровень может быть любым числом от 1 к 9. Более высокий уровень указывает на более высокую степень сжатия. Таким образом, уровень 9 сэкономит больше дискового пространства, чем уровень 1 (уровень 9 имеет более высокую степень сжатия, чем уровень 1). Если вы не укажете уровень сжатия ZLIB для использования, файловая система Btrfs по умолчанию будет использовать уровень сжатия ZLIB 3.

ZSTD: ZSTD или Zstandard - это высокопроизводительный алгоритм сжатия данных без потерь. Он был разработан в Facebook Yann Collect. Его степень сжатия сопоставима с алгоритмом DEFLATE, который используется в ZLIB, но он быстрее. Файловая система Btrfs поддерживает алгоритм сжатия данных ZSTD.

Вы также можете указать желаемый уровень сжатия. Уровень может быть любым числом от 1 к 15. Более высокий уровень указывает на более высокую степень сжатия. Таким образом, уровень 15 сэкономит больше дискового пространства, чем уровень 1 (уровень 15 имеет более высокую степень сжатия, чем уровень 1). Если вы не укажете уровень сжатия ZSTD для использования, файловая система Btrfs по умолчанию будет использовать уровень сжатия ZSTD 3.

Создание файловой системы Btrfs:

Чтобы поэкспериментировать со сжатием данных на уровне файловой системы Btrfs, вам необходимо создать файловую систему Btrfs.

Чтобы создать файловую систему Btrfs с меткой данные на sdb1 раздел, выполните следующую команду:

$ sudo mkfs.btrfs -L данные / dev / sdb1

Смонтируйте файловую систему Btrfs с включенным сжатием:

Чтобы включить сжатие на уровне файловой системы Btrfs, вы должны смонтировать файловую систему Btrfs, которую вы создали, на sdb1 раздел с компресс или же сила сжатия вариант крепления.

i) вариант сжимающего крепления: В компресс опция mount просто включит сжатие на уровне файловой системы Btrfs. Файловая система Btrfs определит, увеличивает ли сжатие сжатого файла исходный (несжатый) размер файла. Если сжатие увеличивает размер файла по сравнению с исходным, файловая система Btrfs не сжимает этот файл.

ii) вариант крепления с усилием сжатия: в отличие от компресс параметр монтирования, если файловая система Btrfs смонтирована с использованием сила сжатия опция монтирования, то каждый файл в файловой системе Btrfs будет сжат, даже если сжатие увеличивает размер файла.

Создать каталог /данные с помощью следующей команды:

$ sudo mkdir -v / данные

Включить LZO сжатие, смонтируйте файловую систему Btrfs, которую вы создали ранее в /данные каталог с помощью следующей команды:

$ sudo mount -o compress = lzo / dev / sdb1 / data

Чтобы включить силу LZO сжатие, смонтируйте файловую систему Btrfs, которую вы создали ранее, в каталог / data следующим образом:

$ sudo mount -o compress-force = lzo / dev / sdb1 / data

Таким же образом вы можете смонтировать файловую систему Btrfs в /данные каталог, как показано ниже, чтобы включить ZLIB сжатие:

$ sudo mount -o compress = zlib / dev / sdb1 / data

Чтобы установить ZLIB уровень сжатия (скажем, уровень 7), вы можете смонтировать файловую систему Btrfs в /данные каталог следующим образом:

$ sudo mount -o compress = zlib: 7 / dev / sdb1 / data

Включить ZSTD сжатие, смонтируйте файловую систему Btrfs в /данные каталог следующим образом:

$ sudo mount -o compress = zstd / dev / sdb1 / data

Чтобы установить ZSTD уровень сжатия (скажем, уровень 10), вы можете смонтировать файловую систему Btrfs в /данные каталог следующим образом:

$ sudo mount -o compress = zstd: 10 / dev / sdb1 / data

Файловая система Btrfs, которую вы создали на sdb1 перегородку следует смонтировать в /данные каталог, как вы можете видеть на скриншоте ниже.

$ df -h / данные

Тестирование сжатия файловой системы Btrfs:

Чтобы проверить, сжимает ли файловая система Btrfs файлы, находящиеся в файловой системе Btrfs, я смонтирую файловую систему Btrfs на /данные каталог с сила сжатия вариант. Я буду использовать самый высокий уровень сжатия алгоритма сжатия ZSTD для демонстрации.

Сначала отключите файловую систему Btrfs, которую вы могли смонтировать на /данные каталог следующим образом:

$ sudo umount / данные

Смонтируйте файловую систему Btrfs с наивысшим уровнем сжатия (level 15) принадлежащий ZSTD алгоритм сжатия в /данные каталог следующим образом:

$ sudo mount -o compress-force = zstd: 15 / dev / sdb1 / data

Я скопировал о 717 МБ данных о файловой системе Btrfs, смонтированной на /данные каталог. Как видите, только 661 МБ используется ли дисковое пространство в файловой системе Btrfs, даже если в файловой системе хранятся 717 МБ по размеру. Итак, сжатие на уровне файловой системы Btrfs работает.

Монтирование файловой системы Btrfs с включенным сжатием при загрузке:

Если вы хотите автоматически монтировать файловую систему Btrfs во время загрузки с включенным сжатием (что вы, скорее всего, делаете), то этот раздел для вас.

Сначала найдите UUID файловой системы Btrfs, которую вы хотите включить сжатие и автоматически монтировать во время загрузки, как показано ниже:

Показать / данные файловой системы $ sudo btrfs

Как видите, UUID файловой системы Btrfs равен a8e75a9d-a6f6-4c6e-be41-c10bc1077aa2 в моем случае. Для тебя будет иначе. Так что не забудьте заменить его теперь своим.

Открой / etc / fstab файл с нано текстовый редактор следующим образом:

$ sudo nano / etc / fstab

Введите следующую строку в конце / etc / fstab файл:

UUID = a8e75a9d-a6f6-4c6e-be41-c10bc1077aa2 / data btrfs compress = lzo 0 0

ПРИМЕЧАНИЕ: Замените UUID файловой системы Btrfs своим. Также измените параметр монтирования и алгоритм сжатия по своему усмотрению.

Когда вы закончите, нажмите + Икс с последующим Y а также чтобы спасти / etc / fstab файл.

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

$ sudo перезагрузка

После загрузки компьютера файловая система Btrfs должна быть смонтирована в /данные каталог, как вы можете видеть на скриншоте ниже.

$ df -h / данные

Заключение:

В этой статье я обсудил алгоритмы сжатия, поддерживаемые файловой системой Btrfs: LZO, ZLIB и ZSTD. Я также показал вам, как включить сжатие на уровне файловой системы в файловой системе Btrfs.

Как установить League Of Legends на Ubuntu 14.04
Если вы поклонник League of Legends, то это возможность для вас протестировать League of Legends. Обратите внимание, что LOL поддерживается в PlayOnLi...
Установите последнюю версию игры OpenRA Strategy в Ubuntu Linux
OpenRA - это игровой движок Libre / Free Real Time Strategy, воссоздающий ранние игры Westwood, такие как классическая Command & Conquer: Red Alert. Р...
Установите последнюю версию эмулятора Dolphin для Gamecube и Wii в Linux
Эмулятор Dolphin позволяет вам играть в выбранные вами игры Gamecube и Wii на персональных компьютерах (ПК) Linux. Являясь свободно доступным игровым...