Como usar o rsync? : Grandes projetos de backups via compartilhamento NFS

1

Eu entendo que o rsync é muito versátil, então estou pensando qual seria a melhor maneira de usá-lo na minha situação ... o que é:

~ 700GB projeto (em uma única pasta project/ com vários subdiretórios) em uma estação de trabalho que eu SSH em fazer processamento e análise. Esta estação de trabalho monta um compartilhamento NFS ao qual não tenho acesso direto. É possível usar a funcionalidade delta do rsync para fazer backups incrementais do projeto?

Já estou usando o rsnapshot para fazer backup, mas espero que haja um comando simples com o rsync que me permita copiar o projeto delta. Ele muda muito pouco, então a cópia delta realmente reduziria a largura de banda.

Eu tentei

$ rsync --no-whole-file -rv project/ /nfs/destination/project/

Mas isso não funcionou ... tenho a sensação de que não estou usando corretamente.

    
por Elijah 04.01.2017 / 22:43

1 resposta

2

A funcionalidade delta de rsync funciona apenas entre dois hosts diferentes.

É um compromisso entre a velocidade da rede e o IO do arquivo, o que faz com que os dois hosts leiam o arquivo inteiro, além de copiar e gravar as partes que são diferentes. Dada uma suposição razoável de que uma leitura e gravação são mais rápidas que duas leituras e alguma escrita, não faz sentido empregar o algoritmo delta entre duas cópias de um arquivo no mesmo host.

Você poderia, teoricamente, tentar enganar rsync pensando que estava sendo executado em uma rede com um comando como este:

rsync -rv project/ localhost:/nfs/destination/project/

mas você descobriria que o host acabou lendo cada arquivo em project/ , bem como o arquivo de destino em /nfs/destination/project/ para determinar as diferenças. Neste ponto, você pode ter copiado um arquivo inteiro.

O único atalho que evita a gravação completa de um arquivo é quando você tem tempos de arquivo e tamanho de arquivo idênticos nas versões de origem e destino.

Uma opção é verificar se o administrador do seu servidor NFS fornecerá um serviço rsync ao qual você pode se conectar. ( rsyncd é uma opção em uma plataforma Linux / Unix ou DeltaCopy Server em uma plataforma Windows. Ambas podem ser configuradas para exigir autenticação do usuário.) Isso permitiria acessar o algoritmo delta de rsync e gravar somente as alterações.

Outra opção é verificar se os administradores de armazenamento têm uma sugestão melhor para backups, como o rastreamento de alterações com base em blocos. Pode ser que eles pudessem criar um agendamento de backup que funcionasse para você como usuário.

    
por 04.01.2017 / 23:13

Tags