Como deduplicar meus dados com o BTRFS?

15

Instalei o Lubuntu 15.04 no meu EEE PC 701 com o sistema de arquivos BTRFS. Quero deduplicar meus dados, mas não sei como.

wb9688
fonte

Respostas:

14

Comece fazendo um backup completo para que, se algo der errado, você não tenha perdido nada.

Eu acredito que você está procurando duperemove -d

"O Duperemove é uma ferramenta simples para encontrar extensões duplicadas e enviá-las para desduplicação. Quando recebida uma lista de arquivos, ele hash seu conteúdo bloco por bloco e compara esses hashes, encontrando e categorizando as extensões correspondentes. Quando a opção -d é fornecida, o duperemove envia essas extensões para deduplicação usando o ioctl btrfs-extension-same.

Duperemove possui dois modos principais de operação, um dos quais é um subconjunto do outro.

Modo somente leitura / sem deduplicação

Quando executado sem -d (o padrão), o duperemove imprimirá uma ou mais tabelas de extensões correspondentes que ele determinou que seriam candidatas ideais à desduplicação. Como resultado, o modo somente leitura é útil para ver o que o duperemove pode fazer quando executado com '-d'. A saída também pode ser usada por algum outro software para enviar as extensões para desduplicação posteriormente.

É importante observar que esse modo não imprimirá todas as instâncias de extensões correspondentes, apenas aquelas que seriam consideradas para desduplicação.

Geralmente, o duperemove não se preocupa com a representação subjacente das extensões que processa. Alguns deles podem ser compactados, submetidos a E / S, ou até já foram deduplicados. No modo deduplicado, o kernel lida com esses detalhes e, portanto, tentamos não replicar esse trabalho.

Modo de redução de redundância

Isso funciona de maneira semelhante ao modo somente leitura, com a exceção de que as extensões duplicadas encontradas em nossa etapa "leitura, hash e comparação" serão realmente enviadas para desduplicação. Uma estimativa do total de dados deduplicados será impressa após a conclusão da operação. Essa estimativa é calculada comparando a quantidade total de bytes compartilhados em cada arquivo antes e depois da deduplicação.

Consulte a página de manual do duperemove para obter mais detalhes sobre a execução do duperemove. "

isso não parece aparecer no pacote btrfs-tools, mas há uma página de hub do git aqui. Questões abertas e fechadas recentes (aka pulso) disponíveis aqui.

Pacotes para todos os versiosn atualmente suportados do Ubuntu podem ser encontrados neste PPA

Devo reiterar que o backup é altamente recomendado . Consulte: https://github.com/markfasheh/duperemove/issues/50

Fonte citada: https://github.com/markfasheh/duperemove

página de manual: https://manpages.debian.org/testing/duperemove/duperemove.8.en.html

Elder Geek
fonte
Quando eu digito duperemove -d recebo a página de ajuda
wb9688
11
O que você ganha quando digita 'man duperemove`? Eu acredito que você precisa designar os arquivos para executá-lo. como emduperemove [options] files...
Elder Geek
Ontem, eu o usei - FTR, o comando é duperemove -rdh path1 path2 pathn, onde, -rpara recursivo, -ddeduplicar e -hpara números legíveis por humanos.
Hi-Angel
@ Hi-Angel resposta atualizada - link adicionado à página de manual
Elder Geek
3

Eu sempre usei a cama . É muito rápido e confiável. Esta ferramenta também é mencionada na página oficial do btrfs . Eu nunca usei duperemove (dormir mais velho).

Adam Ryczkowski
fonte
2
Nesse ponto, o sono não está mais em desenvolvimento ativo e está desatualizado.
Perkins
3
@ Perkins eu discordo. Acabei de receber feedback para a edição github.com/g2p/bedup/issues/75 que publiquei hoje e, com essa ajuda, acabei de dormir com mais de 7 GB de espaço no meu novo servidor 16.04.
Adam Ryczkowski 5/05
3
Talvez alguém tenha pegado de novo então. Eu desisti depois de mais ou menos um ano, sendo completamente incapaz de procurar corretamente duplicatas. Dito isso, a menos que eles o atualizem para usar o novo ioctl, o duperemove será mais seguro, assim como a desduplicação atomicamente no kernelspace, em vez de remover uma das duplicatas e fazer uma cópia em refluxo da outra. Mas, então, o bedup obterá arquivos pequenos o suficiente para serem armazenados na árvore, o que duperemove atualmente não pode devido à falta de suporte ao kernel para ele.
Perkins