É possível e como mesclar arquivos idênticos entre diferentes snapshots em um sistema de arquivos btrfs?

3

Eu uso regularmente o snapshot do btrfs para fazer o backup de todo o sistema, mas é redundante ter arquivos idênticos entre snapshots diferentes. Comumente, por exemplo, tirei um instantâneo de @ como @_without_install_nvidia_driver e instalei nvidia_driver. Alguns dias depois, atualizei o sistema, o que resultou em um grande número de alterações de arquivos. Depois, alguns dias depois, descobri que o pacote nvidia_driver era instável, e reverti para @_without_install_nvidia_driver, mas tive que atualizar o sistema novamente, e lá percebi que existiam arquivos idênticos em ambos os snapshots, porque o sistema já tinha sido atualizado em ambos os instantâneos.

Isso me fez pensar: existe uma maneira de mesclar arquivos idênticos entre diferentes snapshots?

    
por TorosFanny 28.10.2014 / 17:37

1 resposta

8

Você pode usar o utilitário bedup para desduplicar os arquivos idênticos. Depois de instalado, o uso é bastante simples:

# bedup dedup /path/to/btrfs

Pode ser necessário definir seus instantâneos como graváveis ( btrfs property set -ts /path/to/snapshot ro false ) para que eles possam ser duplicados. Você pode alterá-los de volta depois.

Note que dependendo de quantos arquivos você tem, pode demorar um pouco (primeiro ele procura por arquivos do mesmo tamanho, então compara esses arquivos ... então se você tem um monte de arquivos grandes do mesmo tamanho, isso pode demorar um pouco.)

Por fim, você pode executá-lo novamente de tempos em tempos e as execuções futuras serão muito mais rápidas, pois acompanhará a geração do btrfs e usará isso para ignorar arquivos antigos.

    
por 28.10.2014 / 17:52