Šī failu sistēmas funkcija ietaupīs daudz vietas diskā un ietaupīs daudz laika, ko jūs būtu iztērējis manuāli saspiežot failus.
Šajā rakstā es parādīšu, kā iespējot Btrfs failu sistēmas līmeņa saspiešanu Btrfs failu sistēmā. Tātad, sāksim darbu.
Priekšnosacījumi:
Lai izmēģinātu šī raksta piemērus,
- Jūsu datorā jābūt instalētai Btrfs failu sistēmai.
- Jums jābūt cietajam diskam vai SSD ar vismaz 1 bezmaksas nodalījumu (jebkura izmēra).
Man ir 20 GB cietais disks SDB manā Ubuntu mašīnā. Esmu izveidojis 2 nodalījumus sdb1 un sdb2 šajā cietajā diskā. Es izmantošu nodalījumu sdb1 šajā rakstā.
$ sudo lsblk -e7
Jūsu cietajam diskam vai SSD var būt cits nosaukums nekā manam, tāpēc būs arī nodalījumi. Tātad, turpmāk noteikti nomainiet tos ar savējiem.
Ja jums nepieciešama palīdzība Btrfs failu sistēmas instalēšanā Ubuntu, pārbaudiet manu rakstu Instalējiet un izmantojiet Btrfs Ubuntu 20.04 LTS.
Ja jums nepieciešama palīdzība Btrfs failu sistēmas instalēšanā Fedora, pārbaudiet manu rakstu Instalējiet un izmantojiet Btrfs vietnē Fedora 33.
Btrfs saspiešanas algoritmi:
Šīs rakstīšanas laikā Btrfs failu sistēma atbalsta šādus saspiešanas algoritmus:
i) LZO: LZO ir reāllaika bloku saspiešanas algoritms bez zaudējumiem. LZO sadala datus blokos un reālā laikā saspiež / dekompresē datus pa blokiem. Tas ir Btrfs failu sistēmas noklusējuma saspiešanas algoritms.
ii) ZLIB: ZLIB ir bibliotēka, ko izmanto datu saspiešanai. Tas izmanto DEFLATE datu saspiešanas algoritmu. Datu saspiešanas algoritms DEFLATE ir LZ77 un Huffman kodēšanas algoritmu kombinācija. Btrfs failu sistēma atbalsta ZLIB datu saspiešanas algoritmu.
Varat arī norādīt vēlamo saspiešanas līmeni. Līmenis var būt jebkurš skaitlis no 1 uz 9. Augstāks līmenis norāda uz lielāku saspiešanas pakāpi. Tātad, 9. līmenis ietaupīs vairāk vietas diskā nekā 1. līmenis (9. līmeņa saspiešanas pakāpe ir augstāka nekā 1. līmenī). Ja vien nenorādīsit izmantojamo ZLIB saspiešanas līmeni, Btrfs failu sistēma pēc noklusējuma izmantos ZLIB 3. saspiešanas līmeni.
ZSTD: ZSTD vai Zstandard ir augstas veiktspējas bezzudumu datu saspiešanas algoritms. To vietnē Facebook izstrādāja Yann Collect. Tā saspiešanas pakāpe ir salīdzināma ar DEFLATE algoritmu, kas tiek izmantots ZLIB, taču tas ir ātrāks. Btrfs failu sistēma atbalsta ZSTD datu saspiešanas algoritmu.
Varat arī norādīt vēlamo saspiešanas līmeni. Līmenis var būt jebkurš skaitlis no 1 uz 15. Augstāks līmenis norāda uz lielāku saspiešanas pakāpi. Tātad, 15. līmenis ietaupīs vairāk vietas diskā nekā 1. līmenis (15. līmeņa saspiešanas pakāpe ir augstāka nekā 1. līmenī). Ja vien nenorādīsit izmantojamo ZSTD saspiešanas līmeni, Btrfs failu sistēma pēc noklusējuma izmantos ZSTD 3. saspiešanas līmeni.
Btrfs failu sistēmas izveide:
Lai eksperimentētu ar Btrfs failu sistēmas līmeņa datu saspiešanu, jums jāizveido Btrfs failu sistēma.
Lai izveidotu Btrfs failu sistēmu ar etiķeti dati uz sdb1 nodalījumā palaidiet šādu komandu:
$ sudo mkfs.btrfs -L dati / dev / sdb1
Pievienojiet Btrfs failu sistēmu ar iespējotu saspiešanu:
Lai iespējotu Btrfs failu sistēmas līmeņa saspiešanu, jums jāpievieno izveidotā Btrfs failu sistēma sdb1 nodalījums vai nu ar saspiest vai saspiest-spēks stiprinājuma opcija.
i) kompresijas stiprinājuma iespēja: The saspiest mount opcija vienkārši iespējos Btrfs failu sistēmas līmeņa saspiešanu. Btrfs failu sistēma noteiks, vai saspiešana padara saspiesto failu lielāku par sākotnējā (nesaspiestā) faila lielumu. Ja saspiešanas dēļ faila izmērs ir lielāks nekā oriģināls, tad Btrfs failu sistēma nesaspiedīs šo failu.
ii) kompresijas stiprinājuma iespēja: Atšķirībā no saspiest mount, ja Btrfs failu sistēma ir uzstādīta, izmantojot saspiest-spēks mount opcija, tad visi faili Btrfs failu sistēmā tiks saspiesti pat tad, kad saspiešanas gadījumā fails būs lielāks.
Izveidojiet direktoriju / dati ar šādu komandu:
$ sudo mkdir -v / data
Lai iespējotu LZO saspiešanu, pievienojiet Btrfs failu sistēmu, kuru esat izveidojis iepriekš / dati direktoriju ar šādu komandu:
$ sudo mount -o compress = lzo / dev / sdb1 / data
Lai iespējotu spēku LZO saspiešanu, iepriekš izveidoto Btrfs failu sistēmu pievienojiet direktorijā / data šādi:
$ sudo mount -o compress-force = lzo / dev / sdb1 / dati
Tādā pašā veidā jūs varat uzstādīt Btrfs failu sistēmu / dati direktoriju šādi, lai iespējotu ZLIB saspiešana:
$ sudo mount -o compress = zlib / dev / sdb1 / data
Lai iestatītu a ZLIB saspiešanas līmeni (pieņemsim, ka 7. līmeni), Btrfs failu sistēmu var uzstādīt / dati direktoriju šādi:
$ sudo mount -o compress = zlib: 7 / dev / sdb1 / dati
Lai iespējotu ZSTD saspiešanu, pievienojiet Btrfs failu sistēmu / dati direktoriju šādi:
$ sudo mount -o compress = zstd / dev / sdb1 / data
Lai iestatītu a ZSTD saspiešanas līmeni (teiksim, 10. līmeni), Btrfs failu sistēmu var uzstādīt / dati direktoriju šādi:
$ sudo mount -o compress = zstd: 10 / dev / sdb1 / dati
Btrfs failu sistēma, kuru esat izveidojis vietnē sdb1 nodalījums jāuzstāda / dati direktoriju, kā redzat zemāk redzamajā ekrānuzņēmumā.
$ df -h / dati
Btrfs failu sistēmas saspiešanas pārbaude:
Lai pārbaudītu, vai Btrfs failu sistēma saspiež failus, kas atrodas Btrfs failu sistēmā, es instalēšu Btrfs failu sistēmu / dati direktoriju ar saspiest-spēks opcija. Demonstrācijai izmantošu ZSTD saspiešanas algoritma augstāko saspiešanas līmeni.
Vispirms atvienojiet Btrfs failu sistēmu, kuru, iespējams, esat uzstādījis / dati direktoriju šādi:
$ sudo umount / data
Uzstādiet Btrfs failu sistēmu ar visaugstāko saspiešanas līmeni ( 15) no ZSTD saspiešanas algoritms / dati direktoriju šādi:
$ sudo mount -o compress-force = zstd: 15 / dev / sdb1 / dati
Es esmu kopējis par 717 MB datu par Btrfs failu sistēmu, kas uzstādīta uz / dati direktorijā. Kā redzat, tikai 661 MB ir diska vieta tiek izmantota Btrfs failu sistēmā, pat ja faila sistēmā saglabātie dati ir 717 MB pēc lieluma. Tātad darbojas Btrfs failu sistēmas līmeņa saspiešana.
Kompresijas iespējotas Btrfs failu sistēmas pievienošana sāknēšanai:
Ja vēlaties Btrfs failu sistēmu automātiski instalēt sāknēšanas laikā ar iespējotu saspiešanu (ko jūs, visticamāk, darāt), šī sadaļa ir domāta jums.
Vispirms atrodiet Btrfs failu sistēmas UUID, kuru vēlaties iespējot saspiešanu, un automātiski pievienojiet sāknēšanas laikā šādi:
$ sudo btrfs failu sistēma parādīt / datus
Kā redzat, Btrfs failu sistēmas UUID ir a8e75a9d-a6f6-4c6e-be41-c10bc1077aa2 manā gadījumā. Jums būs savādāk. Tātad, turpmāk noteikti nomainiet to ar savu.
Atveriet / etc / fstab failu ar nano teksta redaktors šādi:
$ sudo nano / etc / fstab
Ierakstiet nākamajā rindiņā / etc / fstab fails:
UUID = a8e75a9d-a6f6-4c6e-be41-c10bc1077aa2 / datu btrfs compress = lzo 0 0PIEZĪME: Nomainiet Btrfs failu sistēmas UUID ar savu. Mainiet arī montāžas opciju un saspiešanas algoritmu, kā vēlaties.
Kad esat pabeidzis, nospiediet
Lai izmaiņas stātos spēkā, restartējiet datoru ar šādu komandu:
$ sudo atsāknēšana
Kad dators ir palaists, Btrfs failu sistēma jāinstalē / dati direktoriju, kā redzat zemāk redzamajā ekrānuzņēmumā.
$ df -h / dati
Secinājums:
Šajā rakstā esmu apspriedis saspiešanas algoritmus, kurus atbalsta Btrfs failu sistēma: LZO, ZLIB un ZSTD. Es arī parādīju, kā iespējot failu sistēmas līmeņa saspiešanu Btrfs failu sistēmā.