Se você precisar manter muitos dados redundantes (i.e., backups de arquivos, banco de dados) em seu computador, então o recurso Copy-on-Write (CoW) e desduplicação do sistema de arquivos Btrfs pode economizar uma grande quantidade de espaço em disco.
Neste artigo, vou mostrar como economizar espaço em disco usando o recurso de desduplicação Btrfs. Então vamos começar.
Pré-requisitos:
Para experimentar os exemplos deste artigo,
- Você deve ter o sistema de arquivos Btrfs instalado em seu computador.
- Você precisa ter um disco rígido ou SSD com pelo menos 1 partição livre (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. Portanto, certifique-se de substituí-los pelos seus a partir de agora.
Se você precisar de alguma ajuda na instalação do sistema de arquivos Btrfs no Ubuntu, verifique meu artigo Instale e use o Btrfs no Ubuntu 20.04 LTS.
Se você precisar de alguma ajuda na instalação do sistema de arquivos Btrfs no Fedora, verifique meu artigo Instale e use o Btrfs no Fedora 33.
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:
Crie um diretório /dados com o seguinte comando:
$ sudo mkdir -v / data
Para montar o sistema de arquivos Btrfs criado no sdb1 partição no /dados diretório, execute o seguinte comando:
$ sudo mount / dev / sdb1 / data
O sistema de arquivos Btrfs deve ser montado, como você pode ver na imagem abaixo.
$ df -h / data
Instalação de ferramentas de desduplicação no Ubuntu 20.04 LTS:
Para desduplicar um sistema de arquivos Btrfs, você precisa instalar o Duperemove programa no seu computador.
Se você estiver usando o Ubuntu 20.04 LTS, então você pode instalar Duperemove do repositório oficial de pacotes do Ubuntu.
Primeiro, atualize o cache do repositório de pacotes APT com o seguinte comando:
$ sudo apt update
Instale o Duperemove pacote com o seguinte comando:
$ sudo apt install duperemove -y
O Duperemove o pacote deve ser instalado.
Instalando Ferramentas de Desduplicação no Fedora 33:
Para desduplicar um sistema de arquivos Btrfs, você precisa instalar o Duperemove programa no seu computador.
Se você estiver usando o Fedora 33, então você pode instalar Duperemove do repositório oficial de pacotes do Fedora.
Primeiro, atualize o cache do repositório de pacotes DNF com o seguinte comando:
$ sudo dnf makecache
Instale o Duperemove pacote com o seguinte comando:
$ sudo dnf install duperemove
Para confirmar a instalação, pressione Y e então pressione
O Duperemove o pacote deve ser instalado.
Testando a desduplicação em um sistema de arquivos Btrfs:
Nesta seção, vou fazer um teste simples para mostrar como o recurso de desduplicação do sistema de arquivos Btrfs remove dados redundantes do sistema de arquivos e economiza espaço em disco.
Como você pode ver,
- Eu copiei um arquivo QGIS-OSGeo4W-3.14.0-1-Setup-x86_64.Exe para o /dados diretório. O arquivo é 407 MB no tamanho.
- O arquivo armazenado no /dados o diretório tem 407 MB de tamanho.
- Apenas o arquivo consumiu cerca de 412 MB de espaço em disco do sistema de arquivos Btrfs montado no /dados diretório.
Como você pode ver,
- Copiei o mesmo arquivo para o /dados diretório e renomeou-o para QGIS-OSGeo4W-3.14.0-1-Setup-x86_64.2.Exe.
- O arquivo armazenado no /dados diretório é agora 814 MB no tamanho.
- Os arquivos consumidos cerca de 820 MB de espaço em disco do sistema de arquivos Btrfs montado no /dados diretório.
Para realizar a operação de desduplicação no sistema de arquivos Btrfs montado no /dados diretório, execute o seguinte comando:
$ sudo duperemove -dr / data
Os blocos de dados redundantes do sistema de arquivos Btrfs montados no /dados diretório deve ser removido.
Como você pode ver,
- Eu tenho os arquivos QGIS-OSGeo4W-3.14.0-1-Setup-x86_64.Exe e QGIS-OSGeo4W-3.14.0-1-Setup-x86_64.2.Exe dentro /dados diretório.
- O arquivo armazenado no /dados diretório é agora 814 MB no tamanho.
- Os arquivos consumidos cerca de 412 MB de espaço em disco do sistema de arquivos Btrfs montado no /dados diretório.
O Duperemove o programa removeu blocos de dados redundantes (duplicados) do sistema de arquivos Btrfs montado no /dados diretório e salvou muitos espaços em disco.
Montando automaticamente um sistema de arquivos Btrfs na inicialização:
Para montar o sistema de arquivos Btrfs que você criou, você precisa saber o UUID do sistema de arquivos Btrfs.
Você pode encontrar o UUID do sistema de arquivos Btrfs montado no /dados diretório com o seguinte comando:
show / data do sistema de arquivos $ sudo btrfs
Como você pode ver, o UUID do sistema de arquivos Btrfs que desejo montar no momento da inicialização é e39ac376-90dd-4c39-84d2-e77abb5e3059. 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 = e39ac376-90dd-4c39-84d2-e77abb5e3059 / padrões de btrfs de dados 0 0NOTA: 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
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 / diretório de dados, como você pode ver na imagem abaixo.
$ df -h / data
Realize a desduplicação automaticamente usando o Cron Job:
Para remover dados redundantes do sistema de arquivos Btrfs, você deve executar o Duperemove comando de vez em quando.
Você pode executar automaticamente o Duperemove comando de hora em hora, diariamente, semanalmente, mensalmente, anualmente ou no momento da inicialização usando um cron job.
Primeiro, encontre o caminho completo do Duperemove comando com o seguinte comando:
$ which duperemove
Como você pode ver, o caminho completo do Duperemove comando é / usr / bin / duperemove. Lembre-se do caminho, pois você precisará dele mais tarde.
Para editar o arquivo crontab, execute o seguinte comando:
$ sudo crontab -e
Selecione um editor de texto de sua preferência e pressione
Vou usar o nano editor de texto. Então, vou digitar 1 e pressione
O arquivo crontab deve ser aberto.
Para executar o Duperemove comando no /dados diretório a cada hora, adicione a seguinte linha no final do arquivo crontab.
@hourly / usr / bin / duperemove -dr / data >> / var / log / duperemove.registro
Para executar o Duperemove comando no /dados diretório todos os dias, adicione a seguinte linha no final do arquivo crontab.
@daily / usr / bin / duperemove -dr / data >> / var / log / duperemove.registro
Para executar o Duperemove comando no /dados diretório toda semana, adicione a seguinte linha no final do arquivo crontab.
@weekly / usr / bin / duperemove -dr / data >> / var / log / duperemove.registro
Para executar o Duperemove comando no /dados diretório a cada mês, adicione a seguinte linha no final do arquivo crontab.
@monthly / usr / bin / duperemove -dr / data >> / var / log / duperemove.registro
Para executar o Duperemove comando no /dados diretório a cada ano, adicione a seguinte linha no final do arquivo crontab.
@yearly / usr / bin / duperemove -dr / data >> / var / log / duperemove.registro
Para executar o Duperemove comando no /dados diretório no momento da inicialização, adicione a seguinte linha no final do arquivo crontab.
@reboot / usr / bin / duperemove -dr / data >> / var / log / duperemove.registro
NOTA: Eu irei executar o Duperemove comando no momento da inicialização neste artigo.
Assim que terminar, pressione
Um novo cron job deve ser instalado.
Para que as alterações tenham efeito, reinicie o computador com o seguinte comando:
$ sudo reboot
Enquanto o Duperemove comando é executado em segundo plano, a saída do comando será armazenada no / var / log / duperemove.registro Arquivo.
$ sudo ls -lh / var / log / duperemove *
Como você pode ver, o / var / log / duperemove.registro arquivo contém o Duperemove dados de registro. Significa que o cron job está funcionando bem.
Conclusão:
Neste artigo, mostrei como instalar o Duperemove Ferramenta de desduplicação Brtfs no Ubuntu 20.04 LTS e Fedora 33. Também mostrei como realizar a desduplicação do Btrfs usando a ferramenta duperemove e executar a ferramenta duperemove automaticamente usando um cron job.