Btrfs

Hvordan aktivere Btrfs filsystemkomprimering

Hvordan aktivere Btrfs filsystemkomprimering
Btrfs-filsystemet støtter datakomprimering på filsystemnivå. Det betyr at filsystemdataene komprimeres automatisk når nye data skrives til filsystemet. Når du får tilgang til filene som er lagret i Btrfs-filsystemet, blir disse filens data automatisk dekomprimert.

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,

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 datasdb1 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 0

MERK: Bytt ut UUID for Btrfs-filsystemet med ditt. Endre også monteringsalternativet og komprimeringsalgoritmen slik 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, 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.

Installer nyeste Dolphin Emulator for Gamecube & Wii på Linux
Dolphin Emulator lar deg spille de valgte Gamecube- og Wii-spillene dine på Linux Personal Computers (PC). Som en fritt tilgjengelig og åpen kildekod...
Hvordan bruke GameConqueror Cheat Engine i Linux
Artikkelen dekker en guide om bruk av GameConqueror-juksemotoren i Linux. Mange brukere som spiller spill på Windows bruker ofte "Cheat Engine" -appli...
Beste spillkonsollemulatorer for Linux
Denne artikkelen vil liste opp populære programvare for spillkonsollemulering tilgjengelig for Linux. Emulation er et programvarekompatibilitetslag so...