Jak włączyć kompresję systemu plików BTRFS

Jak włączyć kompresję systemu plików BTRFS
BTRFS System plików obsługuje kompresję danych na poziomie systemu plików. Oznacza to, że dane systemu plików zostaną automatycznie kompresowane, ponieważ nowe dane zostaną zapisane w systemie plików. Po uzyskaniu dostępu do plików przechowywanych w systemie plików BTRFS, dane tych plików zostaną automatycznie zdekompresowane.

Ta funkcja systemu plików zaoszczędzi dużo miejsca na dysku i zaoszczędzi dużo czasu, które wydasz ręcznie kompresję plików.

W tym artykule pokażę, jak włączyć kompresję na poziomie systemu plików BTRFS na systemie plików BTRFS. Więc zacznijmy.

Wymagania wstępne:

Aby wypróbować przykłady tego artykułu,

  • Musisz mieć instalowany system plików BTRFS na komputerze.
  • Musisz mieć dysk twardy lub dysk SSD z co najmniej 1 wolną partycją (dowolnego rozmiaru).

Mam dysk twardy 20 GB SDB na mojej maszynie Ubuntu. Stworzyłem 2 partycje SDB1 I SDB2 na tym dysku twardym. Użyję partycji SDB1 w tym artykule.

$ sudo lsblk -e7

Twój dysk twardy lub dysk SSD mogą mieć inną nazwę niż moje, podobnie jak partycje. Więc upewnij się, że zastąp je od teraz.

Jeśli potrzebujesz instalacji systemu plików BTRFS na Ubuntu, sprawdź mój artykuł Zainstaluj i użyj BTRFS na Ubuntu 20.04 LTS.

Jeśli potrzebujesz pomocy w instalacji systemu plików BTRFS w Fedorze, sprawdź mój artykuł Zainstaluj i użyj BTRFS na Fedora 33.

Algorytmy kompresji BTRFS:

W chwili pisania tego tekstu BTRFS System obsługuje następujące algorytmy kompresji:

i) LZO: LZO to bezstronny algorytm kompresji bloków w czasie rzeczywistym. LZO dzieli dane na bloki i kompresuje/zdekompresowało dane przez bloki w czasie rzeczywistym. Jest to domyślny algorytm kompresji systemu plików BTRFS.

ii) Zlib: ZLIB to biblioteka używana do kompresji danych. Wykorzystuje algorytm sprężania danych deflate. Algorytm sprężania danych deflate jest kombinacją algorytmów kodowania LZ77 i Huffmana. BTRFS System systemu obsługuje algorytm kompresji danych ZLIB.

Możesz także określić pożądany poziom kompresji. Poziom może być dowolnym numerem z 1 Do 9. Wyższy poziom wskazuje wyższy współczynnik kompresji. Tak więc poziom 9 zaoszczędzi więcej miejsca na dysku niż poziom 1 (poziom 9 ma wyższy współczynnik kompresji niż poziom 1). O ile nie określisz poziomu kompresji ZLIB, system plików BTRFS będzie domyślnie użyć poziomu kompresji ZLIB.

ZSTD: ZSTD lub ZSTANDARD to wysokowydajny algorytm kompresji danych bezstratów. Został opracowany na Facebooku przez Yann Collect. Jego współczynnik kompresji jest porównywalny z algorytmem deflate, który jest używany w Zlib, ale jest szybszy. System plików BTRFS obsługuje algorytm kompresji danych ZSTD.

Możesz także określić pożądany poziom kompresji. Poziom może być dowolnym numerem z 1 Do 15. Wyższy poziom wskazuje wyższy współczynnik kompresji. Tak więc poziom 15 zaoszczędzi więcej miejsca na dysku niż poziom 1 (poziom 15 ma wyższy współczynnik kompresji niż poziom 1). O ile nie określisz poziomu kompresji ZSTD, system plików BTRFS będzie domyślnie użyje poziomu kompresji ZSTD.

Tworzenie systemu plików BTRFS:

Aby eksperymentować z kompresją danych na poziomie systemu plików BTRFS, musisz utworzyć system plików BTRFS.

Aby utworzyć system plików BTRFS z etykietą dane na SDB1 partycja, uruchom następujące polecenie:

$ sudo mkfs.BTRFS -L Data /Dev /SDB1

Zamontuj system plików BTRFS z włączonym kompresją:

Aby włączyć kompresję na poziomie systemu plików BTRFS, musisz zamontować system plików BTRFS, który utworzyłeś na SDB1 partycja z albo Kompresja Lub Compress Force Opcja montowania.

i) Opcja skompresowania mocowania: Kompresja Opcja montażu po prostu włączy kompresję na poziomie systemu plików BTRFS. System plików BTRFS określi, czy kompresja sprawia, że ​​plik ma być kompresowany większy niż oryginalny (nieskompresowany) rozmiar pliku. Jeśli kompresja sprawia, że ​​rozmiar pliku jest większy niż oryginał, wówczas system plików BTRFS nie kompresuje tego pliku.

ii) Opcja montażu z formy kompresji: w przeciwieństwie do Kompresja Opcja montowania, jeśli system plików BTRFS jest zamontowany za pomocą za pomocą Compress Force Opcja montowania, wówczas każdy plik na systemie plików BTRFS zostanie skompresowany, nawet gdy kompresja sprawi, że plik będzie powiększony.

Utwórz katalog /dane Z następującym poleceniem:

$ sudo mkdir -v /dane

Umożliwić LZO kompresja, zamontuj system plików BTRFS, który utworzyłeś wcześniej w /dane Katalog z następującym poleceniem:

$ sudo Mount -o Compress = LZO /Dev /Sdb1 /Data

Aby włączyć siłę LZO Kompresja, zamontuj system plików BTRFS, który utworzyłeś wcześniej w katalogu /danych w następujący sposób:

$ sudo Mount -o Compress -Force = LZO /Dev /Sdb1 /Data

W ten sam sposób możesz zamontować system plików BTRFS w /dane katalog w następujący sposób, aby umożliwić Zlib kompresja:

$ sudo Mount -o Compress = zlib /dev /sdb1 /data

Do ustawienia Zlib Poziom kompresji (powiedzmy, poziom 7), możesz zamontować system plików BTRFS w /dane katalog w następujący sposób:

$ sudo mont -o compress = zlib: 7 /dev /sdb1 /Data

Umożliwić Zstd kompresja, zamontuj system plików BTRFS w /dane katalog w następujący sposób:

$ sudo Mount -o Compress = ZSTD /Dev /Sdb1 /Data

Do ustawienia Zstd Poziom kompresji (powiedzmy, poziom 10), możesz zamontować system plików BTRFS w /dane katalog w następujący sposób:

$ sudo Mount -o Compress = zstd: 10 /dev /sdb1 /Data

System plików BTRFS, który utworzyłeś na SDB1 partycja powinna być zamontowana w /dane katalog, jak widać na zrzucie ekranu poniżej.

$ df -h /dane

Testowanie kompresji systemu plików BTRFS:

Aby sprawdzić, czy system plików BTRFS kompresuje pliki na systemie plików BTRFS, zamontuję system plików BTRFS na /dane katalog z Compress Force opcja. Do demonstracji użyję najwyższego poziomu kompresji algorytmu kompresji ZSTD.

Po pierwsze, nie zorientuj się na system plików BTRFS, który mógłbyś zamontować na /dane katalog w następujący sposób:

$ sudo umount /dane

Zamontować system plików BTRFS o najwyższym poziomie kompresji (poziom 15) Zstd Algorytm kompresji w /dane katalog w następujący sposób:

$ sudo Mount -o Compress -Force = ZSTD: 15 /Dev /Sdb1 /Data

Skopiowałem o 717 MB danych na temat systemu plików BTRFS zamontowanych na /dane informator. Jak widać, tylko 661 MB Czy miejsce na dysku jest używane na systemie plików BTRFS, nawet jeśli dane przechowywane w systemie plików są 717 MB W rozmiarze. Tak więc kompresja na poziomie systemu plików BTRFS działa.

Montaż kompresji włączonego systemu plików BTRFS na rozruchu:

Jeśli chcesz automatycznie zamontować system plików BTRFS w czasie rozruchu z włączoną kompresją (co najprawdopodobniej robisz), ta sekcja jest dla Ciebie.

Najpierw znajdź UUID systemu plików BTRFS, który chcesz włączyć kompresję i montować automatycznie w czasie rozruchu w następujący sposób:

$ sudo btrfs fileSystem Pokaż /dane

Jak widać, UUID z systemu plików BTRFS jest A8E75A9D-A6F6-4C6E-BE41-C10BC1077AA2 w moim przypadku. Będzie dla Ciebie inaczej. Więc upewnij się, że odtąd zastąp go swoim.

Otworzyć /etc/fstab plik z Nano Edytor tekstu w następujący sposób:

$ sudo nano /etc /fstab

Wpisz w poniższej linii na końcu /etc/fstab plik:

UUID = A8E75A9D-A6F6-4C6E-BE41-C10BC1077AA2 /DATA BTRFS Compress = LZO 0 0

NOTATKA: Wymień UUID systemu plików BTRFS. Zmień także opcję mocowania i algorytm kompresji, jak chcesz.

Po zakończeniu naciśnij + X śledzony przez Y I Aby uratować /etc/fstab plik.

Aby zmiany zaczęły się uruchomić, ponownie uruchom komputer za pomocą następującego polecenia:

$ sudo restart

Gdy komputer się uruchamia, system plików BTRFS powinien być zamontowany w /dane katalog, jak widać na zrzucie ekranu poniżej.

$ df -h /dane

Wniosek:

W tym artykule omówiłem algorytmy kompresji obsługiwane przez system plików BTRFS: LZO, ZLIB i ZSTD. Pokazałem również, jak włączyć kompresję poziomu systemu plików w systemie plików BTRFS.