Denne funksjonen i filsystemet sparer deg mye diskplass og sparer deg mye tid du ville brukt på å komprimere filene dine manuelt.
I denne artikkelen skal jeg vise deg hvordan du aktiverer Btrfs-filsystemnivåkomprimering på et Btrfs-filsystem. Så la oss komme i gang.
Forutsetninger:
For å prøve eksemplene på denne artikkelen,
- Du må ha Btrfs-filsystemet installert på datamaskinen din.
- Du må ha en harddisk eller SSD med minst 1 gratis partisjon (av hvilken som helst størrelse).
Jeg har en 20 GB harddisk sdb på min Ubuntu-maskin. Jeg har laget 2 partisjoner sdb1 og sdb2 på denne harddisken. Jeg vil bruke partisjonen sdb1 i denne artikkelen.
$ sudo lsblk -e7
Harddisken eller SSD-en din kan ha et annet navn enn min, det vil også partisjonene gjøre. Så sørg for å erstatte dem med dine fra nå av.
Hvis du trenger hjelp med å installere Btrfs-filsystemet på Ubuntu, kan du sjekke artikkelen min Installer og bruk Btrfs på Ubuntu 20.04 LTS.
Hvis du trenger hjelp med å installere Btrfs-filsystemet på Fedora, kan du sjekke artikkelen min Installer og bruk Btrfs på Fedora 33.
Btrfs komprimeringsalgoritmer:
I skrivende stund støtter Btrfs-filsystemet følgende komprimeringsalgoritmer:
i) LZO: LZO er en tapsfri algoritme for blokkompresjon i sanntid. LZO deler dataene i blokker og komprimerer / dekomprimerer dataene etter blokker i sanntid. Det er standardkomprimeringsalgoritmen til Btrfs-filsystemet.
ii) ZLIB: ZLIB er et bibliotek som brukes til datakomprimering. Den bruker DEFLATE datakomprimeringsalgoritmen. DEFLATE-datakomprimeringsalgoritmen er en kombinasjon av kodingsalgoritmene LZ77 og Huffman. Btrfs-filsystemet støtter ZLIB-datakomprimeringsalgoritmen.
Du kan også spesifisere kompresjonsnivået du ønsker. Nivået kan være et hvilket som helst tall fra 1 til 9. Et høyere nivå indikerer et høyere kompresjonsforhold. Så nivå 9 vil spare mer diskplass enn nivå 1 (nivå 9 har et høyere kompresjonsforhold enn nivå 1). Med mindre du spesifiserer et ZLIB-nivå for komprimering som skal brukes, bruker Btrfs-filsystemet ZLIB-kompresjonsnivå 3 som standard.
ZSTD: ZSTD eller Zstandard er en tapsfri datakomprimeringsalgoritme med høy ytelse. Den ble utviklet på Facebook av Yann Collect. Kompresjonsforholdet er sammenlignbart med DEFLATE-algoritmen som brukes i ZLIB, men det er raskere. Btrfs-filsystemet støtter ZSTD-datakomprimeringsalgoritmen.
Du kan også spesifisere kompresjonsnivået du ønsker. Nivået kan være et hvilket som helst tall fra 1 til 15. Et høyere nivå indikerer et høyere kompresjonsforhold. Så nivå 15 vil spare mer diskplass enn nivå 1 (nivå 15 har et høyere kompresjonsforhold enn nivå 1). Med mindre du spesifiserer et ZSTD-komprimeringsnivå som skal brukes, vil Btrfs-filsystemet bruke ZSTD-kompresjonsnivå 3 som standard.
Opprette et Btrfs-filsystem:
For å eksperimentere med datakomprimering av Btrfs-filsystemnivå, må du opprette et Btrfs-filsystem.
Å lage et Btrfs-filsystem med etiketten data på sdb1 partisjon, kjør følgende kommando:
$ sudo mkfs.btrfs -L data / dev / sdb1
Monter et Btrfs-filsystem med komprimering aktivert:
For å aktivere Btrfs-filsystemnivåkomprimering, må du montere Btrfs-filsystemet du har opprettet på sdb1 partisjon med enten komprimere eller komprimeringskraft monteringsalternativ.
i) komprimeringsmonteringsalternativ: De komprimere monteringsalternativ vil ganske enkelt aktivere Btrfs filsystemnivåkomprimering. Btrfs-filsystemet vil avgjøre om komprimering gjør filen som skal komprimeres større enn den originale (ukomprimerte) filstørrelsen. Hvis komprimering gjør filstørrelsen større enn originalen, komprimerer ikke Btrfs-filsystemet den filen.
ii) alternativ for komprimeringskraftmontering: i motsetning til komprimere monteringsalternativ, hvis Btrfs-filsystemet er montert ved hjelp av komprimeringskraft monteringsalternativ, så blir hver fil på Btrfs-filsystemet komprimert selv når komprimering gjør filen større.
Lag en katalog /data med følgende kommando:
$ sudo mkdir -v / data
For å aktivere LZO komprimering, monter Btrfs-filsystemet du har opprettet tidligere i /data katalog med følgende kommando:
$ sudo mount -o komprimere = lzo / dev / sdb1 / data
For å aktivere kraft LZO komprimering, monter Btrfs-filsystemet du har opprettet tidligere i / data-katalogen som følger:
$ sudo mount -o komprimeringskraft = lzo / dev / sdb1 / data
På samme måte kan du montere Btrfs-filsystemet i /data katalog som følger for å aktivere ZLIB komprimering:
$ sudo mount -o komprimere = zlib / dev / sdb1 / data
For å stille inn en ZLIB komprimeringsnivå (la oss si, nivå 7), kan du montere Btrfs-filsystemet i /data katalog som følger:
$ sudo mount -o komprimere = zlib: 7 / dev / sdb1 / data
For å aktivere ZSTD komprimering, monter Btrfs-filsystemet i /data katalog som følger:
$ sudo mount -o komprimere = zstd / dev / sdb1 / data
For å stille inn en ZSTD komprimeringsnivå (la oss si, nivå 10), kan du montere Btrfs-filsystemet i /data katalog som følger:
$ sudo mount -o komprimere = zstd: 10 / dev / sdb1 / data
Btrfs-filsystemet du har opprettet på sdb1 skillevegg skal monteres i /data katalog som du kan se på skjermbildet nedenfor.
$ df -h / data
Testing av Btrfs filsystemkomprimering:
For å teste om Btrfs-filsystemet komprimerer filene som er på Btrfs-filsystemet, vil jeg montere Btrfs-filsystemet på /data katalog med komprimeringskraft alternativ. Jeg vil bruke det høyeste kompresjonsnivået til ZSTD-komprimeringsalgoritmen for demonstrasjonen.
Først må du demontere Btrfs-filsystemet som du kanskje har montert på /data katalog som følger:
$ sudo umount / data
Monter Btrfs-filsystemet med det høyeste kompresjonsnivået (nivå 15) av ZSTD komprimeringsalgoritme i /data katalog som følger:
$ sudo mount -o komprimeringskraft = zstd: 15 / dev / sdb1 / data
Jeg har kopiert 717 MB av data på Btrfs-filsystemet montert på /data katalog. Som du kan se, bare 661 MB er diskplass brukes på Btrfs-filsystemet, selv om dataene som er lagret i filsystemet er 717 MB i størrelse. Så Btrfs-filsystemnivåkomprimering fungerer.
Montere et komprimeringsaktivert Btrfs-filsystem ved oppstart:
Hvis du vil montere Btrfs-filsystemet automatisk ved oppstart med komprimering aktivert (som du sannsynligvis gjør), er denne delen noe for deg.
Finn først UUID for Btrfs-filsystemet som du vil aktivere komprimering og montere automatisk ved oppstartstid som følger:
$ sudo btrfs filsystem show / data
Som du kan se, er UUID for Btrfs-filsystemet a8e75a9d-a6f6-4c6e-be41-c10bc1077aa2 i mitt tilfelle. Det vil være annerledes for deg. Så sørg for å erstatte den med din fra nå av.
Åpne / etc / fstab fil med nano tekstredigerer som følger:
$ sudo nano / etc / fstab
Skriv inn følgende linje på slutten av / etc / fstab fil:
UUID = a8e75a9d-a6f6-4c6e-be41-c10bc1077aa2 / data btrfs komprimere = lzo 0 0MERK: Bytt ut UUID for Btrfs-filsystemet med ditt. Endre også monteringsalternativet og komprimeringsalgoritmen slik du vil.
Når du er ferdig, trykk
For at endringene skal tre i kraft, må du starte datamaskinen på nytt med følgende kommando:
$ sudo omstart
Når datamaskinen har startet opp, bør Btrfs-filsystemet monteres i /data katalog som du kan se på skjermbildet nedenfor.
$ df -h / data
Konklusjon:
I denne artikkelen har jeg diskutert komprimeringsalgoritmene som støttes av Btrfs-filsystemet: LZO, ZLIB og ZSTD. Jeg har også vist deg hvordan du aktiverer filsystemnivåkomprimering i et Btrfs-filsystem.