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,
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 data på SDB1 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.