Ta funkcija datotečnega sistema vam bo prihranila veliko prostora na disku in prihranila veliko časa, ki bi ga porabili za ročno stiskanje datotek.
V tem članku vam bom pokazal, kako omogočiti stiskanje na ravni datotečnega sistema Btrfs v datotečnem sistemu Btrfs. Torej, začnimo.
Pogoji:
Če želite preizkusiti primere tega članka,
- V računalniku morate imeti nameščen datotečni sistem Btrfs.
- Imeti morate trdi disk ali SSD z vsaj 1 brezplačno particijo (katere koli velikosti).
Imam 20 GB trdega diska sdb na mojem računalniku Ubuntu. Ustvaril sem 2 particiji sdb1 in sdb2 na tem trdem disku. Uporabil bom particijo sdb1 v tem članku.
$ sudo lsblk -e7
Vaš trdi disk ali SSD ima lahko drugačno ime kot moje, prav tako tudi particije. Zato jih odslej zamenjajte s svojimi.
Če potrebujete pomoč pri namestitvi datotečnega sistema Btrfs v Ubuntu, si oglejte moj članek Namestite in uporabite Btrfs v Ubuntu 20.04 LTS.
Če potrebujete pomoč pri namestitvi datotečnega sistema Btrfs v Fedori, si oglejte moj članek Namestite in uporabite Btrfs na Fedora 33.
Btrfs algoritmi stiskanja:
V času pisanja tega zapisa datotečni sistem Btrfs podpira naslednje algoritme stiskanja:
i) LZO: LZO je algoritem za stiskanje blokov v realnem času brez izgub. LZO podatke razdeli na bloke in jih v realnem času stisne / dekomprimira po blokih. To je privzeti algoritem stiskanja datotečnega sistema Btrfs.
ii) ZLIB: ZLIB je knjižnica, ki se uporablja za stiskanje podatkov. Uporablja algoritem stiskanja podatkov DEFLATE. Algoritem stiskanja podatkov DEFLATE je kombinacija algoritmov za kodiranje LZ77 in Huffman. Datotečni sistem Btrfs podpira algoritem stiskanja podatkov ZLIB.
Določite lahko tudi stopnjo stiskanja, ki jo želite. Raven je lahko poljubno število od 1 do 9. Višja raven kaže na večje kompresijsko razmerje. Torej bo raven 9 prihranila več prostora na disku kot raven 1 (raven 9 ima višje stopnjo stiskanja kot raven 1). Če ne določite stopnje stiskanja ZLIB, ki jo želite uporabiti, bo datotečni sistem Btrfs privzeto uporabljal stopnjo stiskanja ZLIB 3.
ZSTD: ZSTD ali Zstandard je visoko zmogljiv algoritem za stiskanje podatkov brez izgub. Na Facebooku ga je razvil Yann Collect. Njegovo stiskalno razmerje je primerljivo z algoritmom DEFLATE, ki se uporablja v ZLIB, vendar je hitrejši. Datotečni sistem Btrfs podpira algoritem stiskanja podatkov ZSTD.
Določite lahko tudi stopnjo stiskanja, ki jo želite. Raven je lahko poljubno število od 1 do 15. Višja raven kaže na večje kompresijsko razmerje. Torej bo raven 15 prihranila več prostora na disku kot raven 1 (raven 15 ima višje stopnjo stiskanja kot raven 1). Če ne določite stopnje stiskanja ZSTD, ki jo želite uporabiti, bo datotečni sistem Btrfs privzeto uporabljal stopnjo stiskanja ZSTD 3.
Ustvarjanje datotečnega sistema Btrfs:
Če želite eksperimentirati s stiskanjem podatkov na ravni datotečnega sistema Btrfs, morate ustvariti datotečni sistem Btrfs.
Če želite ustvariti datotečni sistem Btrfs z oznako podatkov na sdb1 particijo, zaženite naslednji ukaz:
$ sudo mkfs.btrfs -L data / dev / sdb1
Namestite datotečni sistem Btrfs z omogočenim stiskanjem:
Če želite omogočiti stiskanje na ravni datotečnega sistema Btrfs, morate v datotečni sistem Btrfs namestiti datotečni sistem, ki ste ga ustvarili sdb1 particijo bodisi z stisniti ali sila stiskanja možnost pritrditve.
i) možnost stiskanja: The stisniti Možnost mount bo preprosto omogočila stiskanje na ravni datotečnega sistema Btrfs. Datotečni sistem Btrfs bo določil, ali stiskanje naredi datoteko, ki jo je treba stisniti, večjo od izvirne (nestisnjene) velikosti datoteke. Če je zaradi stiskanja velikost datoteke večja od izvirnika, datotečni sistem Btrfs te datoteke ne bo stisnil.
ii) možnost pritrditve s pritiskom na silo: Za razliko od stisniti možnost namestitve, če je datotečni sistem Btrfs nameščen s pomočjo sila stiskanja možnost priklopa, bo vsaka datoteka v datotečnem sistemu Btrfs stisnjena, tudi če stiskanje datoteko poveča.
Ustvari imenik / podatki z naslednjim ukazom:
$ sudo mkdir -v / data
Omogočiti LZO stiskanje, namestite datotečni sistem Btrfs, ki ste ga ustvarili prej v / podatki imenik z naslednjim ukazom:
$ sudo mount -o compress = lzo / dev / sdb1 / data
Da se omogoči sila LZO stiskanje, namestite datotečni sistem Btrfs, ki ste ga prej ustvarili v imeniku / data, kot sledi:
$ sudo mount -o compress-force = lzo / dev / sdb1 / data
Na enak način lahko datotečni sistem Btrfs namestite v / podatki imenik, da omogočite ZLIB stiskanje:
$ sudo mount -o compress = zlib / dev / sdb1 / data
Če želite nastaviti a ZLIB stopnjo stiskanja (recimo, raven 7), lahko datotečni sistem Btrfs namestite v / podatki imenik, kot sledi:
$ sudo mount -o compress = zlib: 7 / dev / sdb1 / data
Omogočiti ZSTD stiskanje, namestite datotečni sistem Btrfs v / podatki imenik, kot sledi:
$ sudo mount -o compress = zstd / dev / sdb1 / data
Če želite nastaviti a ZSTD stopnjo stiskanja (recimo, raven 10), lahko datotečni sistem Btrfs namestite v / podatki imenik, kot sledi:
$ sudo mount -o compress = zstd: 10 / dev / sdb1 / data
Datotečni sistem Btrfs, ki ste ga ustvarili v sdb1 particijo je treba namestiti v / podatki imenik, kot lahko vidite na spodnjem posnetku zaslona.
$ df -h / podatki
Testiranje stiskanja datotečnega sistema Btrfs:
Da preizkusim, ali datotečni sistem Btrfs stisne datoteke, ki so v datotečnem sistemu Btrfs, bom datotečni sistem Btrfs namestil na / podatki imenik z sila stiskanja možnost. Za predstavitev bom uporabil najvišjo stopnjo stiskanja algoritma stiskanja ZSTD.
Najprej odstranite datotečni sistem Btrfs, ki ste ga morda namestili na / podatki imenik, kot sledi:
$ sudo umount / podatki
Datotečni sistem Btrfs namestite z najvišjo stopnjo stiskanja (nivo 15) od ZSTD algoritem stiskanja v / podatki imenik, kot sledi:
$ sudo mount -o compress-force = zstd: 15 / dev / sdb1 / data
Kopiral sem približno 717 MB podatkov v datotečnem sistemu Btrfs, nameščenem na / podatki imenik. Kot lahko vidite, samo 661 MB is prostor na disku se uporablja v datotečnem sistemu Btrfs, čeprav so podatki, shranjeni v datotečnem sistemu 717 MB velikosti. Torej, stiskanje na ravni datotečnega sistema Btrfs deluje.
Namestitev datotečnega sistema Btrfs z omogočenim stiskanjem na zagon:
Če želite datotečni sistem Btrfs samodejno namestiti ob zagonu z omogočenim stiskanjem (kar najverjetneje storite), potem je ta razdelek za vas.
Najprej poiščite UUID datotečnega sistema Btrfs, ki ga želite omogočiti stiskanje in samodejno namestiti ob zagonu, kot sledi:
$ sudo btrfs datotečni sistem show / data
Kot lahko vidite, je UUID datotečnega sistema Btrfs a8e75a9d-a6f6-4c6e-be41-c10bc1077aa2 v mojem primeru. Za vas bo drugače. Zato ga odslej zamenjajte s svojim.
Odprite / etc / fstab datoteko z nano urejevalnik besedil, kot sledi:
$ sudo nano / etc / fstab
Na koncu vrstice vnesite naslednjo vrstico / etc / fstab mapa:
UUID = a8e75a9d-a6f6-4c6e-be41-c10bc1077aa2 / data btrfs compress = lzo 0 0OPOMBA: UUID datotečnega sistema Btrfs zamenjajte s svojim. Spremenite tudi možnost pritrditve in algoritem stiskanja, kot želite.
Ko končate, pritisnite
Da bodo spremembe začele veljati, znova zaženite računalnik z naslednjim ukazom:
$ sudo znova zaženite
Ko se računalnik zažene, je treba datotečni sistem Btrfs namestiti v / podatki imenik, kot lahko vidite na spodnjem posnetku zaslona.
$ df -h / podatki
Zaključek:
V tem članku sem razpravljal o algoritmih stiskanja, ki jih podpira datotečni sistem Btrfs: LZO, ZLIB in ZSTD. Pokazal sem vam tudi, kako v datotečnem sistemu Btrfs omogočiti stiskanje na ravni datotečnega sistema.