Rsync lento para sincronizar

Rsync lento para sincronizar

Estou sincronizando duas unidades usando rsync (cygwin) usando o seguinte comando rsync -a -H /cygdrive/e/ /cygdrive/d/ : tenho cerca de 3 TB de dados e provavelmente cerca de 1 milhão de arquivos (incluindo) links físicos. A primeira vez demorou cerca de 1-2 dias para terminar, se bem me lembro. Se eu executar novamente este comando, demorará muito, mesmo que nada seja atualizado. Demora algumas horas --- 12 horas. Isso não deveria levar muito menos tempo?

Responder1

Você está copiando entre dois locais no mesmo sistema. Isso desativa o algoritmo delta e volta rsynca ser uma implementação sofisticada do cp -a.

O -Hsinalizador faz com rsyncque seja necessário manter um registro de cada arquivo com mais de um link físico para que possa reconstruir os links físicos no destino. Isso aumenta o uso de memória (empiricamente, eu diria bastante), o que, por sua vez, pode aumentar a demanda do seu sistema.

Finalmente, o Cygwin rsyncé consideravelmente mais lento que uma implementação nativa do UNIX/Linux. Não determinei se isso ocorre porque ele está usando uma camada de compatibilidade no Windows ou porque o sistema de arquivos é mais lento ou mesmo por causa de algo totalmente diferente. Mas é mais lento para um conjunto idêntico de arquivos no mesmo hardware.

Responder2

Esta não é uma resposta completa, mas acho que pode ser muito valiosa para algumas pessoas que estão na mesma situação. Acabei fazendo meu rsync do Linux e funcionou sem problemas. Se você estiver tendo esse problema, tente pelo menos inicializar no Ubuntu/CentOS ou na sua distribuição Linux preferida, mesmo a partir de um CD, e veja se funciona.

informação relacionada