Btrfs

Come abilitare la compressione del file system Btrfs

Come abilitare la compressione del file system Btrfs
Il filesystem Btrfs supporta la compressione dei dati a livello di filesystem. Significa che i dati del filesystem verranno compressi automaticamente man mano che i nuovi dati vengono scritti nel filesystem. Quando accedi ai file archiviati nel tuo filesystem Btrfs, i dati di quei file verranno automaticamente decompressi.

Questa caratteristica del filesystem ti farà risparmiare molto spazio su disco e ti farà risparmiare molto tempo che avresti impiegato a comprimere manualmente i tuoi file.

In questo articolo, ti mostrerò come abilitare la compressione a livello di filesystem Btrfs su un filesystem Btrfs. Quindi iniziamo.

Prerequisiti:

Per provare gli esempi di questo articolo,

Ho un disco rigido da 20 GB sdb sulla mia macchina Ubuntu. Ho creato 2 partizioni sdb1 e sdb2 su questo disco rigido. userò la partizione sdb1 in questo articolo.

$ sudo lsblk -e7

Il tuo disco rigido o SSD potrebbe avere un nome diverso dal mio, così come le partizioni. Quindi, assicurati di sostituirli con i tuoi d'ora in poi.

Se hai bisogno di assistenza per installare il filesystem Btrfs su Ubuntu, controlla il mio articolo Installa e usa Btrfs su Ubuntu 20.04 LTS.

Se hai bisogno di assistenza per installare il filesystem Btrfs su Fedora, controlla il mio articolo Installa e usa Btrfs su Fedora 33.

Algoritmi di compressione Btrfs:

Al momento della stesura di questo documento, il filesystem Btrfs supporta i seguenti algoritmi di compressione:

i) LZO: LZO è un algoritmo di compressione dei blocchi in tempo reale senza perdite. LZO divide i dati in blocchi e comprime/decomprime i dati per blocchi in tempo reale. È l'algoritmo di compressione predefinito del filesystem Btrfs.

ii) ZLIB: ZLIB è una libreria utilizzata per la compressione dei dati. Utilizza l'algoritmo di compressione dei dati DEFLATE. L'algoritmo di compressione dei dati DEFLATE è una combinazione degli algoritmi di codifica LZ77 e Huffman. Il filesystem Btrfs supporta l'algoritmo di compressione dei dati ZLIB.

Puoi anche specificare il livello di compressione che desideri. Il livello può essere qualsiasi numero da 1 per 9. Un livello più alto indica un rapporto di compressione più alto. Quindi, il livello 9 farà risparmiare più spazio su disco rispetto al livello 1 (il livello 9 ha un rapporto di compressione più alto del livello 1). A meno che non si specifichi un livello di compressione ZLIB da utilizzare, il filesystem Btrfs utilizzerà il livello di compressione ZLIB 3 per impostazione predefinita.

ZSTD: ZSTD o Zstandard è un algoritmo di compressione dei dati senza perdita di dati ad alte prestazioni. È stato sviluppato su Facebook da Yann Collect. Il suo rapporto di compressione è paragonabile all'algoritmo DEFLATE utilizzato in ZLIB, ma è più veloce. Il filesystem Btrfs supporta l'algoritmo di compressione dei dati ZSTD.

Puoi anche specificare il livello di compressione che desideri. Il livello può essere qualsiasi numero da 1 per 15. Un livello più alto indica un rapporto di compressione più alto. Quindi, il livello 15 farà risparmiare più spazio su disco rispetto al livello 1 (il livello 15 ha un rapporto di compressione più alto del livello 1). A meno che non si specifichi un livello di compressione ZSTD da utilizzare, il filesystem Btrfs utilizzerà il livello di compressione ZSTD 3 per impostazione predefinita.

Creazione di un filesystem Btrfs:

Per sperimentare la compressione dei dati a livello di filesystem Btrfs, è necessario creare un filesystem Btrfss.

Per creare un filesystem Btrfs con l'etichetta dati sul sdb1 partizione, eseguire il seguente comando:

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

Montare un filesystem Btrfs con la compressione abilitata:

Per abilitare la compressione a livello di filesystem Btrfs, devi montare il filesystem Btrfs che hai creato sul sdb1 partizione con entrambi i comprimere o forza di compressione opzione di montaggio.

i) comprimere l'opzione di montaggio: Il comprimere l'opzione mount abiliterà semplicemente la compressione a livello di filesystem Btrfs. Il filesystem Btrfs determinerà se la compressione rende il file da comprimere più grande della dimensione del file originale (non compresso). Se la compressione rende la dimensione del file più grande dell'originale, il filesystem Btrfs non comprimerà quel file.

ii) opzione di montaggio a forza di compressione: non mi piace il comprimere opzione mount, se il filesystem Btrfs è montato utilizzando l'opzione forza di compressione opzione mount, quindi ogni file sul filesystem Btrfs verrà compresso anche quando la compressione rende il file più grande.

Crea una directory /dati con il seguente comando:

$ sudo mkdir -v /data

Abilitare LZO compressione, monta il filesystem Btrfs che hai creato in precedenza nel /dati directory con il seguente comando:

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

Per abilitare la forza LZO compressione, monta il filesystem Btrfs che hai creato in precedenza nella directory /data come segue:

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

Allo stesso modo, puoi montare il filesystem Btrfs nel /dati directory come segue per abilitare ZLIB compressione:

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

Per impostare un ZLIB livello di compressione (diciamo, livello 7), puoi montare il filesystem Btrfs nel /dati directory come segue:

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

Abilitare ZSTD compressione, montare il filesystem Btrfs nel /dati directory come segue:

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

Per impostare un ZSTD livello di compressione (diciamo, livello 10), puoi montare il filesystem Btrfs nel /dati directory come segue:

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

Il filesystem Btrfs che hai creato sul sdb1 la partizione deve essere montata nel /dati directory come puoi vedere nello screenshot qui sotto.

$ df -h /dati

Test della compressione del file system Btrfs:

Per verificare se il filesystem Btrfs comprime i file che si trovano sul filesystem Btrfs, monterò il filesystem Btrfs sul /dati directory con il forza di compressione opzione. Userò il livello di compressione più alto dell'algoritmo di compressione ZSTD per la dimostrazione.

Innanzitutto, smonta il filesystem Btrfs che potresti aver montato sul /dati directory come segue:

$ sudo umount /data

Monta il filesystem Btrfs con il livello di compressione più alto (livello 15) di ZSTD algoritmo di compressione in /dati directory come segue:

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

ho copiato su 717 MB di dati sul filesystem Btrfs montato sul /dati directory. Come puoi vedere, solo 661 MB questo spazio su disco viene utilizzato sul filesystem Btrfs anche se i dati memorizzati nel filesystem sono 717 MB in misura. Quindi, la compressione a livello di filesystem Btrfs funziona.

Montaggio di un filesystem Btrfs abilitato per la compressione all'avvio:

Se vuoi montare il filesystem Btrfs automaticamente all'avvio con la compressione abilitata (cosa che molto probabilmente fai), allora questa sezione fa per te.

Innanzitutto, trova l'UUID del filesystem Btrfs che desideri abilitare la compressione e montare automaticamente all'avvio come segue:

$ sudo btrfs filesystem show /data

Come puoi vedere, l'UUID del filesystem Btrfs è a8e75a9d-a6f6-4c6e-be41-c10bc1077aa2 nel mio caso. Sarà diverso per te. Quindi, assicurati di sostituirlo con il tuo d'ora in poi.

Apri il /etc/fstab file con il nano editor di testo come segue:

$ sudo nano /etc/fstab

Digita la seguente riga alla fine del /etc/fstab file:

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

NOTA: Sostituisci l'UUID del filesystem Btrfs con il tuo. Inoltre, cambia l'opzione di montaggio e l'algoritmo di compressione come preferisci.

Quando hai finito, premi + X seguito da e per salvare il /etc/fstab file.

Affinché le modifiche abbiano effetto, riavvia il computer con il seguente comando:

$ sudo reboot

Una volta avviato il computer, il filesystem Btrfs dovrebbe essere montato nel mounted /dati directory come puoi vedere nello screenshot qui sotto.

$ df -h /dati

Conclusione:

In questo articolo ho discusso degli algoritmi di compressione supportati dal filesystem Btrfs: LZO, ZLIB e ZSTD. Ti ho anche mostrato come abilitare la compressione a livello di filesystem in un filesystem Btrfs.

Come modificare le impostazioni del mouse e del touchpad utilizzando Xinput in Linux
La maggior parte delle distribuzioni Linux viene fornita con la libreria "libinput" per impostazione predefinita per gestire gli eventi di input su un...
Rimappa i pulsanti del mouse in modo diverso per software diversi con X-Mouse Button Control
Forse hai bisogno di uno strumento che possa cambiare il controllo del tuo mouse con ogni applicazione che utilizzi. In questo caso, puoi provare un'a...
Recensione del mouse wireless Microsoft Sculpt Touch
Ho letto di recente del Microsoft Scolpisci il tocco mouse wireless e ho deciso di acquistarlo. Dopo averlo usato per un po', ho deciso di condividere...