Btrfs

Como habilitar a compactação do sistema de arquivos Btrfs

Como habilitar a compactação do sistema de arquivos Btrfs
O sistema de arquivos Btrfs suporta compressão de dados em nível de sistema de arquivos. Isso significa que os dados do sistema de arquivos serão compactados automaticamente conforme novos dados são gravados no sistema de arquivos. Quando você acessa os arquivos armazenados em seu sistema de arquivos Btrfs, os dados desses arquivos serão descompactados automaticamente.

Este recurso do sistema de arquivos irá poupar muito espaço em disco e muito tempo que você gastaria compactando seus arquivos manualmente.

Neste artigo, vou mostrar como habilitar a compactação no nível do sistema de arquivos Btrfs em um sistema de arquivos Btrfs. Então vamos começar.

Pré-requisitos:

Para experimentar os exemplos deste artigo,

Eu tenho um disco rígido de 20 GB sdb na minha máquina Ubuntu. Eu criei 2 partições sdb1 e sdb2 neste disco rígido. Vou usar a partição sdb1 neste artigo.

$ sudo lsblk -e7

Seu disco rígido ou SSD pode ter um nome diferente do meu, assim como as partições. Portanto, certifique-se de substituí-los pelos seus a partir de agora.

Se você precisar de ajuda para instalar o sistema de arquivos Btrfs no Ubuntu, verifique meu artigo Instale e use o Btrfs no Ubuntu 20.04 LTS.

Se você precisar de ajuda para instalar o sistema de arquivos Btrfs no Fedora, verifique meu artigo Instale e use o Btrfs no Fedora 33.

Algoritmos de compressão Btrfs:

No momento em que este artigo foi escrito, o sistema de arquivos Btrfs oferece suporte aos seguintes algoritmos de compressão:

i) LZO: LZO é um algoritmo de compressão de bloco em tempo real sem perdas. O LZO divide os dados em blocos e compacta / descompacta os dados por blocos em tempo real. É o algoritmo de compressão padrão do sistema de arquivos Btrfs.

ii) ZLIB: ZLIB é uma biblioteca usada para compressão de dados. Ele usa o algoritmo de compressão de dados DEFLATE. O algoritmo de compressão de dados DEFLATE é uma combinação dos algoritmos de codificação LZ77 e Huffman. O sistema de arquivos Btrfs suporta o algoritmo de compressão de dados ZLIB.

Você também pode especificar o nível de compressão que deseja. O nível pode ser qualquer número de 1 para 9. Um nível mais alto indica uma taxa de compressão mais alta. Portanto, o nível 9 economizará mais espaço em disco do que o nível 1 (o nível 9 tem uma taxa de compressão mais alta do que o nível 1). A menos que você especifique um nível de compactação ZLIB a ser usado, o sistema de arquivos Btrfs usará o nível de compactação ZLIB 3 por padrão.

ZSTD: ZSTD ou Zstandard é um algoritmo de compressão de dados sem perdas de alto desempenho. Foi desenvolvido no Facebook por Yann Collect. Sua taxa de compressão é comparável ao algoritmo DEFLATE que é usado no ZLIB, mas é mais rápido. O sistema de arquivos Btrfs suporta o algoritmo de compressão de dados ZSTD.

Você também pode especificar o nível de compressão que deseja. O nível pode ser qualquer número de 1 para 15. Um nível mais alto indica uma taxa de compressão mais alta. Portanto, o nível 15 economizará mais espaço em disco do que o nível 1 (o nível 15 tem uma taxa de compressão mais alta do que o nível 1). A menos que você especifique um nível de compactação ZSTD a ser usado, o sistema de arquivos Btrfs usará a compactação ZSTD nível 3 por padrão.

Criando um sistema de arquivos Btrfs:

Para experimentar a compactação de dados no nível do sistema de arquivos Btrfs, você precisa criar um sistema de arquivos Btrfs.

Para criar um sistema de arquivos Btrfs com o rótulo dados no sdb1 partição, execute o seguinte comando:

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

Monte um sistema de arquivos Btrfs com compactação habilitada:

Para habilitar a compactação no nível do sistema de arquivos Btrfs, você deve montar o sistema de arquivos Btrfs que criou no sdb1 partição com o comprimir ou força de compressão opção de montagem.

i) opção de montagem de compressão: O comprimir a opção de montagem irá simplesmente habilitar a compressão de nível de sistema de arquivos Btrfs. O sistema de arquivos Btrfs determinará se a compactação torna o arquivo a ser compactado maior do que o tamanho do arquivo original (descompactado). Se a compactação tornar o tamanho do arquivo maior do que o original, o sistema de arquivos Btrfs não compactará esse arquivo.

ii) opção de montagem com força de compressão: Ao contrário do comprimir opção de montagem, se o sistema de arquivos Btrfs for montado usando o força de compressão opção de montagem, então cada arquivo no sistema de arquivos Btrfs será compactado, mesmo quando a compactação torna o arquivo maior.

Crie um diretório /dados com o seguinte comando:

$ sudo mkdir -v / data

Para habilitar LZO compressão, monte o sistema de arquivos Btrfs que você criou anteriormente no /dados diretório com o seguinte comando:

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

Para habilitar a força LZO compactação, monte o sistema de arquivos Btrfs que você criou anteriormente no diretório / data da seguinte maneira:

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

Da mesma forma, você pode montar o sistema de arquivos Btrfs no /dados diretório da seguinte forma para habilitar ZLIB compressão:

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

Para definir um ZLIB nível de compressão (digamos, nível 7), você pode montar o sistema de arquivos Btrfs no /dados diretório da seguinte forma:

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

Para habilitar ZSTD compressão, monte o sistema de arquivos Btrfs no /dados diretório da seguinte forma:

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

Para definir um ZSTD nível de compressão (digamos, nível 10), você pode montar o sistema de arquivos Btrfs no /dados diretório da seguinte forma:

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

O sistema de arquivos Btrfs que você criou no sdb1 partição deve ser montada no /dados como você pode ver na imagem abaixo.

$ df -h / data

Testando a compactação do sistema de arquivos Btrfs:

Para testar se o sistema de arquivos Btrfs compacta os arquivos que estão no sistema de arquivos Btrfs, irei montar o sistema de arquivos Btrfs no /dados diretório com o força de compressão opção. Vou usar o nível de compressão mais alto do algoritmo de compressão ZSTD para a demonstração.

Primeiro, desmonte o sistema de arquivos Btrfs que você pode ter montado no /dados diretório da seguinte forma:

$ sudo umount / data

Monte o sistema de arquivos Btrfs com o nível de compressão mais alto (nível 15) do ZSTD algoritmo de compressão no /dados diretório da seguinte forma:

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

Eu copiei sobre 717 MB de dados no sistema de arquivos Btrfs montado no /dados diretório. Como você pode ver, apenas 661 MB Este espaço em disco é usado no sistema de arquivos Btrfs, embora os dados armazenados no sistema de arquivos sejam 717 MB no tamanho. Portanto, a compactação em nível de sistema de arquivos Btrfs está funcionando.

Montando um sistema de arquivos Btrfs habilitado para compactação na inicialização:

Se você deseja montar o sistema de arquivos Btrfs automaticamente no momento da inicialização com a compactação habilitada (o que você provavelmente faz), esta seção é para você.

Primeiro, encontre o UUID do sistema de arquivos Btrfs que você deseja ativar a compactação e montar automaticamente no momento da inicialização da seguinte forma:

show / data do sistema de arquivos $ sudo btrfs

Como você pode ver, o UUID do sistema de arquivos Btrfs é a8e75a9d-a6f6-4c6e-be41-c10bc1077aa2 No meu caso. Será diferente para você. Portanto, certifique-se de substituí-lo pelo seu a partir de agora.

Abra o / etc / fstab arquivo com o nano editor de texto da seguinte forma:

$ sudo nano / etc / fstab

Digite a seguinte linha no final do / etc / fstab Arquivo:

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

NOTA: Substitua o UUID do sistema de arquivos Btrfs pelo seu. Além disso, altere a opção de montagem e o algoritmo de compressão conforme desejar.

Assim que terminar, pressione + X seguido pela Y e para salvar o / etc / fstab Arquivo.

Para que as alterações tenham efeito, reinicie o computador com o seguinte comando:

$ sudo reboot

Assim que o seu computador inicializar, o sistema de arquivos Btrfs deve ser montado no /dados como você pode ver na imagem abaixo.

$ df -h / data

Conclusão:

Neste artigo, discuti os algoritmos de compactação suportados pelo sistema de arquivos Btrfs: LZO, ZLIB e ZSTD. Também mostrei como habilitar a compactação no nível do sistema de arquivos em um sistema de arquivos Btrfs.

Os 5 principais produtos ergonômicos de mouse de computador para Linux
O uso prolongado do computador causa dor no pulso ou nos dedos? Você está sofrendo de rigidez nas articulações e constantemente precisa apertar as mão...
Como alterar as configurações do mouse e touchpad usando Xinput no Linux
A maioria das distribuições Linux vem com a biblioteca “libinput” por padrão para lidar com eventos de entrada em um sistema. Ele pode processar event...
Remapeie os botões do mouse de maneira diferente para software diferente com o controle de botão do mouse X
Talvez você precise de uma ferramenta que possa fazer o controle do seu mouse mudar com cada aplicativo que você usa. Se for esse o caso, você pode ex...