Fui encarregado de fazer um backup externo funcionar através da WAN. Ambas as caixas de armazenamento são caixas NAS baseadas no FreeBSD executando o ZFS.
Uma ou duas vezes por semana, de 15 a 60 GB de dados fotográficos são jogados no NAS do escritório. Meu trabalho é descobrir como obter esses dados fora do local da maneira mais confiável possível, usando a conexão DSL MUITO LENTA (upload de ~ 700Kb / s). A caixa receptora está em uma forma muito melhor, com 30 Mb / s para baixo, 5 Mb / s para cima.
Eu sei, carregar um disco rígido fora do local moveria os dados muito mais rapidamente, mas não é uma opção nesse caso.
Minhas opções parecem ser:
- Envio incremental do ZFS pelo ssh
- Rsync
O rsync é uma solução consagrada pelo tempo e tem a capacidade essencial de retomar um envio se algo for interrompido. Ele tem a desvantagem de iterar sobre muitos arquivos e não saber sobre a desduplicação.
O envio de instantâneo do ZFS pode transferir um pouco menos de dados (ele sabe muito mais sobre o sistema de arquivos, pode fazer desduplicação, pode empacotar as alterações de metadados com mais eficiência que o rsync) e tem a vantagem de duplicar adequadamente o estado do sistema de arquivos, em vez de simplesmente copiar arquivos individualmente (o que consome mais disco).
Estou preocupado com o desempenho da replicação do ZFS [1] (embora esse artigo tenha um ano). Também estou preocupado em poder reiniciar a transferência se algo der errado - o recurso de instantâneo não parece incluir isso. Todo o sistema precisa ser completamente isolado.
[1] http://wikitech-static.wikimedia.org/articles/z/f/s/Zfs_replication.html
Usando qualquer uma das opções, devo poder priorizar a prioridade do tráfego, roteando-o através de uma porta especificada e, em seguida, usando o QOS nos roteadores. Preciso evitar um grande impacto negativo nos usuários dos dois sites durante cada transferência, pois isso levará vários dias.
Então ... esse é o meu pensamento sobre o assunto. Perdi algumas boas opções? Alguém mais criou algo semelhante?