Btrfs

Как да активирам компресирането на файловата система Btrfs

Как да активирам компресирането на файловата система Btrfs
Файловата система Btrfs поддържа компресиране на данни на ниво файлова система. Това означава, че данните на файловата система ще бъдат компресирани автоматично при записване на нови данни във файловата система. Когато осъществите достъп до файловете, съхранени във вашата файлова система Btrfs, данните на тези файлове ще бъдат автоматично декомпресирани.

Тази функция на файловата система ще ви спести много дисково пространство и ще ви спести много време, което бихте отделили за компресиране на вашите файлове ръчно.

В тази статия ще ви покажа как да активирате компресията на ниво файлова система Btrfs във файлова система Btrfs. И така, нека започнем.

Предпоставки:

За да изпробвате примерите от тази статия,

Имам 20 GB твърд диск 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 и Huffman. Файловата система 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 data / dev / sdb1

Монтирайте файлова система Btrfs с активирана компресия:

За да активирате компресирането на ниво файлова система Btrfs, трябва да монтирате файловата система Btrfs, която сте създали в sdb1 дял с компресирайте или компресираща сила опция за монтиране.

i) опция за компресиране: The компресирайте опцията за монтиране просто ще даде възможност за компресиране на ниво файлова система Btrfs. Файловата система Btrfs ще определи дали компресирането прави файла, който трябва да бъде компресиран, по-голям от оригиналния (некомпресиран) размер на файла. Ако компресията прави размера на файла по-голям от оригинала, файловата система Btrfs няма да компресира този файл.

ii) опция за монтиране със сила на компресиране: За разлика от компресирайте опция за монтиране, ако файловата система Btrfs е монтирана с помощта на компресираща сила опция за монтиране, тогава всеки файл във файловата система Btrfs ще бъде компресиран, дори когато компресията прави файла по-голям.

Създайте директория /данни със следната команда:

$ sudo mkdir -v / data

За да активирате LZO компресия, монтирайте файловата система Btrfs, която сте създали по-рано в /данни директория със следната команда:

$ sudo mount -o компресиране = 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

За да зададете a ZLIB ниво на компресия (да кажем, ниво 7), можете да монтирате файловата система Btrfs в /данни директория, както следва:

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

За да активирате ZSTD компресия, монтирайте файловата система Btrfs в /данни директория, както следва:

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

За да зададете a 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 с най-високо ниво на компресия (ниво 15) от ZSTD алгоритъм за компресиране в /данни директория, както следва:

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

Копирах за 717 MB на данни във файловата система Btrfs, монтирана на /данни директория. Както виждате, само 661 MB е дисково пространство се използва във файловата система Btrfs, въпреки че данните, съхранявани във файловата система, са 717 MB в размер. И така, компресията на ниво файлова система Btrfs работи.

Монтиране на файлова система с разрешено компресиране Btrfs при стартиране:

Ако искате да монтирате файловата система Btrfs автоматично по време на зареждане с активирана компресия (което най-вероятно правите), тогава този раздел е за вас.

Първо намерете UUID на файловата система Btrfs, който искате да активирате компресирането и да го монтирате автоматично по време на зареждане, както следва:

$ sudo btrfs файлова система show / data

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

Отвори / и т.н. / fstab файл с нано текстов редактор, както следва:

$ sudo nano / etc / fstab

Въведете следния ред в края на / и т.н. / fstab файл:

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

ЗАБЕЛЕЖКА: Заменете UUID на файловата система Btrfs с вашата. Също така променете опцията за монтиране и алгоритъма за компресиране, както искате.

След като приключите, натиснете + х следван от Y и за да запазите / и т.н. / fstab файл.

За да влязат в сила промените, рестартирайте компютъра си със следната команда:

$ sudo рестартиране

След като компютърът ви се зареди, файловата система Btrfs трябва да бъде монтирана в /данни директория, както можете да видите на екранната снимка по-долу.

$ df -h / данни

Заключение:

В тази статия съм обсъждал алгоритмите за компресиране, поддържани от файловата система Btrfs: LZO, ZLIB и ZSTD. Също така ви показах как да активирате компресиране на ниво файлова система във файлова система Btrfs.

Как да покажа брояч на FPS в игрите на Linux
Linux игрите получиха голям тласък, когато Valve обяви поддръжка на Linux за Steam клиент и техните игри през 2012 г. Оттогава много AAA и независими ...
Как да изтеглите и пуснете Civilization VI на Сид Майер на Linux
Въведение в играта Civilization 6 е модерен поглед върху класическата концепция, въведена в поредицата от игрите Age of Empires. Идеята беше доста про...
Как да инсталирате и играете Doom на Linux
Въведение в Doom Серията Doom възниква през 90-те години след пускането на оригиналния Doom. Това беше незабавен хит и от този момент нататък серията ...