Btrfs

Hoe Btrfs-bestandssysteemcompressie in te schakelen

Hoe Btrfs-bestandssysteemcompressie in te schakelen
Het Btrfs-bestandssysteem ondersteunt gegevenscompressie op bestandssysteemniveau. Het betekent dat de bestandssysteemgegevens automatisch worden gecomprimeerd wanneer nieuwe gegevens naar het bestandssysteem worden geschreven. Wanneer u de bestanden opent die zijn opgeslagen in uw Btrfs-bestandssysteem, worden de gegevens van die bestanden automatisch gedecomprimeerd.

Deze functie van het bestandssysteem bespaart u veel schijfruimte en bespaart u veel tijd die u zou hebben besteed aan het handmatig comprimeren van uw bestanden.

In dit artikel laat ik je zien hoe je de compressie op Btrfs-bestandssysteemniveau op een Btrfs-bestandssysteem kunt inschakelen. Dus laten we beginnen.

Vereisten:

Om de voorbeelden van dit artikel uit te proberen,

Ik heb een harde schijf van 20 GB sdb op mijn Ubuntu-machine. Ik heb 2 partities gemaakt sdb1 en sdb2 op deze harde schijf. Ik zal de partitie gebruiken sdb1 in dit artikel.

$ sudo lsblk -e7

Uw harde schijf of SSD heeft mogelijk een andere naam dan de mijne, net als de partities. Dus zorg ervoor dat je ze vanaf nu vervangt door die van jou.

Als je hulp nodig hebt bij het installeren van het Btrfs-bestandssysteem op Ubuntu, bekijk dan mijn artikel Installeer en gebruik Btrfs op Ubuntu 20.04 LTS.

Als je hulp nodig hebt bij het installeren van het Btrfs-bestandssysteem op Fedora, bekijk dan mijn artikel Installeer en gebruik Btrfs op Fedora 33.

Btrfs-compressie-algoritmen:

Op het moment van schrijven ondersteunt het Btrfs-bestandssysteem de volgende compressie-algoritmen:

i) LZO: LZO is een realtime algoritme voor blokcompressie zonder verlies. LZO verdeelt de gegevens in blokken en comprimeert / decomprimeert de gegevens in blokken in realtime. Het is het standaard compressie-algoritme van het Btrfs-bestandssysteem.

ii) ZLIB: ZLIB is een bibliotheek die wordt gebruikt voor gegevenscompressie. Het maakt gebruik van het DEFLATE-algoritme voor gegevenscompressie. Het DEFLATE-gegevenscompressie-algoritme is een combinatie van de LZ77- en Huffman-coderingsalgoritmen. Het Btrfs-bestandssysteem ondersteunt het ZLIB-algoritme voor gegevenscompressie.

U kunt ook het gewenste compressieniveau opgeven. Het niveau kan elk nummer zijn van 1 naar 9. Een hoger niveau geeft een hogere compressieverhouding aan. Level 9 bespaart dus meer schijfruimte dan level 1 (level 9 heeft een hogere compressieverhouding dan level 1). Tenzij u een te gebruiken ZLIB-compressieniveau opgeeft, gebruikt het Btrfs-bestandssysteem standaard het ZLIB-compressieniveau 3.

ZSTD: ZSTD of Zstandard is een krachtig algoritme voor gegevenscompressie zonder verlies. Het is ontwikkeld op Facebook door Yann Collect. De compressieverhouding is vergelijkbaar met het DEFLATE-algoritme dat in ZLIB wordt gebruikt, maar het is sneller. Het Btrfs-bestandssysteem ondersteunt het ZSTD-algoritme voor gegevenscompressie.

U kunt ook het gewenste compressieniveau opgeven. Het niveau kan elk nummer zijn van 1 naar 15. Een hoger niveau geeft een hogere compressieverhouding aan. Level 15 bespaart dus meer schijfruimte dan level 1 (level 15 heeft een hogere compressieverhouding dan level 1). Tenzij u een te gebruiken ZSTD-compressieniveau opgeeft, gebruikt het Btrfs-bestandssysteem standaard het ZSTD-compressieniveau 3.

Een Btrfs-bestandssysteem maken:

Om te experimenteren met gegevenscompressie op Btrfs-bestandssysteemniveau, moet u een Btrfs-bestandssysteem maken.

Een Btrfs-bestandssysteem maken met het label gegevens op de sdb1 partitie, voer de volgende opdracht uit:

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

Koppel een Btrfs-bestandssysteem met compressie ingeschakeld:

Om compressie op Btrfs-bestandssysteemniveau in te schakelen, moet u het Btrfs-bestandssysteem dat u hebt gemaakt op de sdb1 partitie met ofwel de samenpersen of comprimeren-kracht mount optie.

i) comprimeer mount-optie: De samenpersen mount-optie zal eenvoudig Btrfs-compressie op bestandssysteemniveau inschakelen. Het Btrfs-bestandssysteem bepaalt of compressie het te comprimeren bestand groter maakt dan de oorspronkelijke (ongecomprimeerde) bestandsgrootte. Als compressie de bestandsgrootte groter maakt dan het origineel, zal het Btrfs-bestandssysteem dat bestand niet comprimeren.

ii) optie voor montage met compressiekracht: In tegenstelling tot de samenpersen mount-optie, als het Btrfs-bestandssysteem is aangekoppeld met behulp van de comprimeren-kracht mount-optie, dan wordt elk bestand op het Btrfs-bestandssysteem gecomprimeerd, zelfs wanneer compressie het bestand groter maakt.

Een map maken /gegevens met het volgende commando:

$ sudo mkdir -v /data

In staat te stellen LZO compressie, koppelt u het Btrfs-bestandssysteem dat u eerder in de /gegevens map met het volgende commando:

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

Kracht inschakelen: LZO compressie, koppelt u het Btrfs-bestandssysteem dat u eerder hebt gemaakt als volgt in de /data-directory:

$ sudo mount -o compress-force=lzo /dev/sdb1 /data

Op dezelfde manier kunt u het Btrfs-bestandssysteem aankoppelen in de /gegevens directory als volgt om in te schakelen: ZLIB compressie:

$ sudo mount -o compress=zlib /dev/sdb1 /data

om een ​​in te stellen ZLIB compressieniveau (laten we zeggen, niveau 7), kunt u het Btrfs-bestandssysteem aankoppelen in de /gegevens map als volgt:

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

In staat te stellen ZSTD compressie, mount het Btrfs-bestandssysteem in de /gegevens map als volgt:

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

om een ​​in te stellen ZSTD compressieniveau (laten we zeggen, niveau 10), kunt u het Btrfs-bestandssysteem aankoppelen in de /gegevens map als volgt:

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

Het Btrfs-bestandssysteem dat u hebt gemaakt op de sdb1 partitie moet worden gemount in de /gegevens map zoals je kunt zien in de onderstaande schermafbeelding.

$ df -h /gegevens

Compressie van het Btrfs-bestandssysteem testen:

Om te testen of het Btrfs-bestandssysteem de bestanden comprimeert die op het Btrfs-bestandssysteem staan, zal ik het Btrfs-bestandssysteem op de /gegevens map met de comprimeren-kracht keuze. Ik zal het hoogste compressieniveau van het ZSTD-compressiealgoritme gebruiken voor de demonstratie.

Ontkoppel eerst het Btrfs-bestandssysteem dat u mogelijk op de /gegevens map als volgt:

$ sudo umount /data

Koppel het Btrfs-bestandssysteem met het hoogste compressieniveau (niveau 15) van de ZSTD compressie-algoritme in de /gegevens map als volgt:

$ sudo mount -o compress-force=zstd:15 /dev/sdb1 /data

ik heb gekopieerd over 717 MB van gegevens op het Btrfs-bestandssysteem gemonteerd op de /gegevens map. Zoals je kunt zien, alleen 661 MB wordt schijfruimte gebruikt op het Btrfs-bestandssysteem, ook al zijn de gegevens die in het bestandssysteem zijn opgeslagen 717 MB in grootte. Dus de compressie op Btrfs-bestandssysteemniveau werkt.

Een compressie-enabled Btrfs-bestandssysteem aankoppelen bij het opstarten:

Als je het Btrfs-bestandssysteem automatisch wilt mounten tijdens het opstarten met compressie ingeschakeld (wat je hoogstwaarschijnlijk doet), dan is deze sectie iets voor jou.

Zoek eerst de UUID van het Btrfs-bestandssysteem die u compressie wilt inschakelen en automatisch wilt koppelen tijdens het opstarten, als volgt:

$ sudo btrfs bestandssysteem show /data

Zoals je kunt zien, is de UUID van het Btrfs-bestandssysteem: a8e75a9d-a6f6-4c6e-be41-c10bc1077aa2 in mijn geval. Het zal voor jou anders zijn. Dus zorg ervoor dat je het vanaf nu vervangt door de jouwe.

Open de /etc/fstab bestand met de nano tekstverwerker als volgt:

$ sudo nano /etc/fstab

Typ de volgende regel aan het einde van de /etc/fstab het dossier:

UUID=a8e75a9d-a6f6-4c6e-be41-c10bc1077aa2 /data btrfs compress=lzo 0 0

OPMERKING: Vervang de UUID van het Btrfs-bestandssysteem door die van u. Wijzig ook de mount-optie en het compressie-algoritme zoals u wilt.

Als u klaar bent, drukt u op + X gevolgd door Y en om de te redden /etc/fstab het dossier.

Om de wijzigingen door te voeren, start u uw computer opnieuw op met de volgende opdracht:

$ sudo opnieuw opstarten

Zodra uw computer opstart, moet het Btrfs-bestandssysteem worden gemount in de /gegevens map zoals je kunt zien in de onderstaande schermafbeelding.

$ df -h /gegevens

Conclusie:

In dit artikel heb ik de compressie-algoritmen besproken die worden ondersteund door het Btrfs-bestandssysteem: LZO, ZLIB en ZSTD. Ik heb je ook laten zien hoe je compressie op bestandssysteemniveau in een Btrfs-bestandssysteem kunt inschakelen.

Handige hulpmiddelen voor Linux-gamers
Als je graag games op Linux speelt, is de kans groot dat je apps en hulpprogramma's zoals Wine, Lutris en OBS Studio hebt gebruikt om de game-ervaring...
HD Remastered Games voor Linux die nog nooit eerder een Linux-release hebben gehad
Veel game-ontwikkelaars en uitgevers komen met HD-remaster van oude games om de levensduur van franchise te verlengen, fans die compatibiliteit met mo...
Hoe AutoKey te gebruiken om Linux-spellen te automatiseren
AutoKey is een hulpprogramma voor desktopautomatisering voor Linux en X11, geprogrammeerd in Python 3, GTK en Qt. Met behulp van de scripting- en MACR...