Hvordan aktivere BTRFS -filsystemkomprimering

Hvordan aktivere BTRFS -filsystemkomprimering
BTRFS-filsystemet støtter datakomprimering på filsystemnivå. Det betyr at filsystemdataene blir komprimert automatisk ettersom nye data skrives til filsystemet. Når du får tilgang til filene som er lagret i BTRFS -filsystemet ditt, vil disse filenes data automatisk bli dekomprimert.

Denne funksjonen i filsystemet vil spare deg for mye diskplass og vil spare deg for mye tid som du ville brukt på å komprimere filene dine manuelt.

I denne artikkelen skal jeg vise deg hvordan du aktiverer BTRFS-filsystem-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 harddisk på 20 GB SDB på Ubuntu -maskinen min. Jeg har laget to partisjoner SDB1 og SDB2 På denne harddisken. Jeg vil bruke partisjonen SDB1 i denne artikkelen.

$ sudo lsblk -e7

Harddisken din eller SSD kan ha et annet navn enn min, det vil også partisjonene. Så sørg for å erstatte dem med dine fra nå av.

Hvis du trenger hjelp til å installere BTRFS -filsystemet på Ubuntu, sjekk artikkelen min Installer og bruk BTRF -er på Ubuntu 20.04 LTS.

Hvis du trenger hjelp til å installere BTRFS -filsystemet på Fedora, kan du sjekke artikkelen min Installer og bruk BTRF -er på Fedora 33.

BTRFS kompresjonsalgoritmer:

På dette tidspunktet støtter BTRFS -filsystemet følgende kompresjonsalgoritmer:

i) LZO: LZO er en tapsfri sanntidsblokkkompresjonsalgoritme. LZO deler dataene i blokker og komprimerer/dekomprimerte dataene med blokker i sanntid. Det er standard komprimeringsalgoritme av BTRFS -filsystemet.

ii) Zlib: Zlib er et bibliotek som brukes til datakomprimering. Den bruker Deflate Data Compression Algoritme. Deflate Data Compression -algoritmen er en kombinasjon av LZ77- og Huffman -kodingsalgoritmene. 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å av komprimering som skal brukes, vil BTRFS -filsystemet bruke ZLIB -kompresjonsnivå 3 som standard som standard.

ZSTD: ZSTD eller Zstandard er en høy ytelse tapsfri datakomprimeringsalgoritme. Det 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 -nivå av komprimering som skal brukes, vil BTRFS -filsystemet bruke ZSTD -kompresjonsnivå 3 som standard som standard.

Opprette et BTRFS -filsystem:

For å eksperimentere med BTRFS-filsystem-datakomprimering, må du opprette et BTRFS-filsystem.

For å lage et BTRFS -filsystem med etiketten dataSDB1 Partisjon, kjør følgende kommando:

$ sudo mkfs.btrfs -l data /dev /sdb1

Monter et BTRFS -filsystem med kompresjon aktivert:

For å aktivere BTRFS Filesystem-komprimering, må du montere BTRFS-filsystemet du har opprettet på SDB1 partisjon med enten komprimere eller komprimering montering.

i) Komprimeringsfestet alternativ: De komprimere alternativet vil ganske enkelt aktivere BTRFS-komprimering av filsystemnivå. BTRFS -filsystemet vil avgjøre om komprimering lager filen som skal komprimeres større enn den originale (ukomprimerte) filstørrelsen. Hvis komprimering gjør filstørrelsen større enn originalen, vil ikke BTRFS -filsystemet komprimere den filen.

ii) Alternativ for komprimeringsmontering: i motsetning til komprimere Monteringsalternativ, hvis BTRFS -filsystemet er montert ved hjelp av komprimering Monteringsalternativet, deretter vil hver fil på BTRFS -filsystemet komprimeres 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 som du har opprettet tidligere i /data Katalog med følgende kommando:

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

For å muliggjøre makt LZO Komprimering, monter BTRFS -filsystemet som du har opprettet tidligere i /Data -katalogen som følger:

$ sudo mount -o compress -Force = 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 komprimering = zlib /dev /sdb1 /data

Å stille en Zlib Komprimeringsnivå (la oss si, nivå 7), kan du montere BTRFS -filsystemet i /data Katalog som følger:

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

For å aktivere ZSTD komprimering, monter BTRFS -filsystemet i /data Katalog som følger:

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

Å stille en ZSTD Komprimeringsnivå (la oss si, nivå 10), kan du montere BTRFS -filsystemet i /data Katalog som følger:

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

BTRFS -filsystemet som du har opprettet på SDB1 partisjon skal monteres i /data Katalog som du kan se på skjermdumpen nedenfor.

$ df -h /data

Testing av BTRFS Filsystem komprimering:

For å teste om BTRFS -filsystemet komprimerer filene som er på BTRFS -filsystemet, vil jeg montere BTRFS -filsystemet på /data katalog med komprimering alternativ. Jeg vil bruke det høyeste komprimeringsnivået til ZSTD -kompresjonsalgoritmen for demonstrasjonen.

Først må du demontere BTRFS -filsystemet som du kan ha 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 compress -styrke = zstd: 15 /dev /sdb1 /data

Jeg har kopiert om 717 MB av data på BTRFS -filsystemet montert på /data katalog. Som du ser, 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 Filesystem-komprimering fungerer.

Montering av en kompresjon aktivert BTRFS -filsystem på oppstart:

Hvis du vil montere BTRFS -filsystemet automatisk ved oppstartstidspunktet med komprimering aktivert (som du mest sannsynlig gjør), er denne delen for deg.

Først, finn UUID av BTRFS -filsystemet som du vil aktivere komprimering og montering automatisk på oppstartstidspunktet som følger:

$ sudo btrfs filesystem show /data

Som du kan se, er UUID av 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 Text Editor 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 komprimering = LZO 0 0

MERK: Bytt ut UUID av BTRFS -filsystemet med ditt. Endre alternativet for monteringsalternativet og kompresjonsalgoritmen som du vil.

Når du er ferdig, trykk + X etterfulgt av Y og For å redde /etc/fstab fil.

For at endringene skal tre i kraft, start datamaskinen på nytt med følgende kommando:

$ sudo omstart

Når datamaskinen støvler, skal BTRFS -filsystemet monteres i /data Katalog som du kan se på skjermdumpen nedenfor.

$ df -h /data

Konklusjon:

I denne artikkelen har jeg diskutert kompresjonsalgoritmene støttet av BTRFS -filsystemet: LZO, ZLIB og ZSTD. Jeg har også vist deg hvordan du aktiverer komprimering av filsystemnivå i et BTRFS-filsystem.