Temos uma estrutura de pastas em nossa intranet que contém cerca de 800.000 arquivos divididos em cerca de 4.000 pastas. Precisamos sincronizar isso com um pequeno cluster de máquinas em nossas DMZs. A profundidade da estrutura é muito rasa (nunca excede dois níveis).
A maioria dos arquivos nunca muda, todos os dias existem alguns milhares de arquivos atualizados e 1-2 mil novos arquivos. Os dados são dados históricos de relatórios sendo mantidos onde os dados de origem foram limpos (ou seja, são relatórios finalizados para os quais os dados de origem são suficientemente antigos para arquivá-los e excluí-los). A sincronização uma vez por dia é suficiente, pois isso pode ocorrer em um período de tempo razoável. Os relatórios são gerados da noite para o dia e sincronizamos a primeira coisa da manhã como uma tarefa agendada.
Obviamente, como poucos arquivos são alterados regularmente, podemos nos beneficiar muito com a cópia incremental. Tentamos o Rsync, mas isso pode levar de oito a doze horas apenas para concluir a operação "lista de arquivos de construção". É claro que estamos superando rapidamente o que o rsync é capaz (o período de 12 horas é muito longo).
Estávamos usando outra ferramenta chamada RepliWeb para sincronizar as estruturas e ela pode fazer uma transferência incremental em cerca de 45 minutos. No entanto, parece que excedeu seu limite, ele começou a ver os arquivos sendo exibidos como exclusões quando não estão (talvez alguma estrutura de memória interna tenha sido esgotada, não temos certeza).
Alguém mais se deparou com um projeto de sincronização em larga escala desse tipo? Existe algo projetado para lidar com estruturas de arquivos maciças como esta para sincronização?