Como ativar a compactação do sistema de arquivos BTRFS

Como ativar a compactação do sistema de arquivos BTRFS
O sistema de arquivos BTRFS suporta compactação de dados no nível do sistema de arquivos. Isso significa que os dados do sistema de arquivos serão compactados automaticamente à medida que novos dados são gravados no sistema de arquivos. Quando você acessa os arquivos armazenados no seu sistema de arquivos BTRFS, os dados desses arquivos serão automaticamente descomprimidos.

Esse recurso do sistema de arquivos economizará muito espaço em disco e economizará muito tempo que você gastaria comprimindo seus arquivos manualmente.

Neste artigo, vou mostrar como ativar 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,

  • Você deve ter o sistema de arquivos BTRFS instalado no seu computador.
  • Você precisa ter um disco rígido ou SSD com pelo menos 1 partição grátis (de qualquer tamanho).

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. Então, certifique -se de substituí -los por 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 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 BTRFs no Fedora 33.

Algoritmos de compressão BTRFS:

No momento da redação deste artigo, o sistema de arquivos BTRFS suporta os seguintes algoritmos de compactação:

i) lzo: LZO é um algoritmo de compressão em tempo real sem perdas. LZO divide os dados em blocos e comprime/descompacteu os dados por blocos em tempo real. É o algoritmo de compactação padrão do sistema de arquivos BTRFS.

ii) Zlib: Zlib é uma biblioteca usada para compactaçã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 salvará mais espaço em disco que o nível 1 (o nível 9 tem uma taxa de compressão mais alta que o nível 1). A menos que você especifique um nível de compressão Zlib para usar, 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 esvaziado que é usado em 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 salvará mais espaço em disco que o nível 1 (o nível 15 tem uma taxa de compressão mais alta que o nível 1). A menos que você especifique um nível de compressão ZSTD para usar, o sistema de arquivos BTRFS usará o nível de compactação ZSTD 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 ativada:

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

i) Compressa a opção de montagem: O comprimir Opção de montagem simplesmente ativará a compactação no nível do sistema de arquivos BTRFS. O sistema de arquivos BTRFS determinará se a compactação torna o arquivo que deve ser compactado maior que o tamanho do arquivo original (não compactado). Se a compactação tornar o tamanho do arquivo maior que o original, o sistema de arquivos BTRFS não comprimirá esse arquivo.

ii) opção de montagem de força de compressão: Ao contrário do comprimir Opção de montagem, se o sistema de arquivos BTRFS for montado usando o compressa-força Opção de montagem, então todos os arquivos no sistema de arquivos BTRFS serão compactados mesmo quando a compressão aumentar o arquivo.

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

$ sudo mkdir -v /dados

Para ativar LZO Compressão, monte o sistema de arquivos BTRFS que você criou anteriormente no /dados Diretório com o seguinte comando:

$ sudo monte -o compact = lzo /dev /sdb1 /dados

Para ativar a força LZO Compressão, monte o sistema de arquivos BTRFS que você criou anteriormente no diretório /dados da seguinte forma:

$ sudo monte -o compress force = lzo /dev /sdb1 /dados

Da mesma maneira, você pode montar o sistema de arquivos BTRFS no /dados diretório o seguinte para ativar Zlib compressão:

$ sudo monte -o compact = zlib /dev /sdb1 /dados

Para definir a Zlib Nível de compressão (digamos, nível 7), você pode montar o sistema de arquivos BTRFS no /dados diretório da seguinte maneira:

$ sudo monte -o compact = zlib: 7 /dev /sdb1 /dados

Para ativar Zstd compressão, monte o sistema de arquivos BTRFS no /dados diretório da seguinte maneira:

$ sudo monte -o compact = zstd /dev /sdb1 /dados

Para definir a Zstd Nível de compressão (digamos, nível 10), você pode montar o sistema de arquivos BTRFS no /dados diretório da seguinte maneira:

$ sudo monte -o compress = zstd: 10 /dev /sdb1 /dados

O sistema de arquivos BTRFS que você criou no sdb1 a partição deve ser montada no /dados diretório como você pode ver na captura de tela abaixo.

$ df -h /dados

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

Para testar se o sistema de arquivos BTRFS comprime os arquivos que estão no sistema de arquivos BTRFS, montarei o sistema de arquivos BTRFS no /dados diretório com o compressa-força 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 maneira:

$ sudo umount /dados

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 maneira:

$ sudo monte -o compress force = zstd: 15 /dev /sdb1 /dados

Eu copiei sobre 717 MB de dados no sistema de arquivos BTRFS montado no /dados diretório. Como você pode ver, apenas 661 MB O espaço do disco é usado no sistema de arquivos BTRFS, mesmo que os dados armazenados no sistema de arquivos sejam 717 MB no tamanho. Então, a compactação no nível do sistema de arquivos BTRFS está funcionando.

Montagem de uma compactação habilitada pelo sistema de arquivos BTRFS na inicialização:

Se você deseja montar o sistema de arquivos BTRFS automaticamente no momento da inicialização com a compactação ativada (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 tempo de inicialização da seguinte forma:

$ sudo btrfs arquivos sistemas /dados

Como você pode ver, o uuid do sistema de arquivos BTRFS é A8E75A9D-A6F6-4C6E-BE41-C10BC1077AA2 No meu caso. Vai ser diferente para você. Então, certifique -se de substituí -lo por 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 COMPRESSE = LZO 0 0

OBSERVAÇÃO: Substitua o Uuid do sistema de arquivos BTRFS com o seu. Além disso, mude a opção de montagem e o algoritmo de compressão como você gosta.

Depois de terminar, pressione + X seguido pela Y e Para salvar o /etc/fstab arquivo.

Para que as alterações entrem em vigor, reinicie seu computador com o seguinte comando:

$ sudo reiniciar

Depois que o seu computador botas, o sistema de arquivos BTRFS deve ser montado no /dados diretório como você pode ver na captura de tela abaixo.

$ df -h /dados

Conclusão:

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