Este artigo tem algumas sugestões úteis para rsync
pelo menos:
Problemas
Usar rsync --sparse works
, mas causa uma enorme quantidade de gravações desnecessárias em disco. A alteração de 10 bytes em 50 GB de comprimento (1 GB usado) deve fazer com que apenas um ou dois blocos sejam gravados; isso faz com que 1 GB seja gravado. Isso é lento e possivelmente não é bom para a longevidade dos discos.
Usando rsync --inplace
obras, mas cria arquivos não esparsos.
Você não pode usar --sparse e --inplace ao mesmo tempo :-( isso não é permitido pelo rsync. Rsync: --sparse não pode ser usado com --inplace
Solução
Se você usar --inplace para atualizar um arquivo esparso preexistente, o arquivo permanecerá esparso e terá apenas um pequeno número de blocos gravados. É somente quando o rsync --inplace cria um arquivo que o torna não esparso.
Portanto, a solução é criar um arquivo esparso vazio, vazio e correspondente na máquina de destino para cada arquivo na máquina de origem - se o arquivo ainda não estiver presente na máquina de destino.
Então o rsync --inplace funcionará como planejado, deixando os arquivos esparsos escassos e gravando apenas os blocos alterados no disco.
Portanto, se eu li isso corretamente, primeiro você deseja criar um arquivo esparso vazio no destino. Você pode fazer isso com
truncate -s 3G filename
Você pode usar rsync --inplace
para copiar os arquivos. Isso deve ser necessário apenas uma vez.
O mesmo artigo sugere o uso do Virtsync, que é
uma ferramenta de linha de comando comercial do Linux de US $ 49 para sincronizar o conteúdo de grandes arquivos (como imagens de disco e bancos de dados de máquinas virtuais).
Essa pode ser a melhor solução se você estiver disposto a pagar por isso, pois parece que foi escrito especificamente para esse tipo de situação.