Sincronização de arquivos em tempo real em vários servidores Linux com milhões de arquivos e diretórios

4

Qual é a melhor maneira de sincronizar dados enormes de um servidor de produção em execução?

Nosso servidor tem mais de 20 milhões de arquivos (pequenos arquivos com 10k e arquivos maiores de até 50MB) armazenados em diretórios de 1 milhão. O tamanho de todos os dados é de cerca de 5 TB (aumentando constantemente).

É possível sincronizar os dados com lsyncd e quais são os limites (especialmente de inotify)? Quanto espaço adicional precisa o lsyncd? E quanto à carga (cpu e memória) e ao tempo de vida?

Outra solução seria o GlusterFS. É possível usar o GlusterFS em uma produção com nenhum ou mínimo tempo de inatividade? O GlusterFS armazena muitos dados mágicos em arquivos x-atributos e o volume de armazenamento é cerca de 15 a 20% maior que os sistemas com o GlusterFS. Parece uma enorme quantidade de lixo ...? E quanto à carga?

E pelo menos rsync e cronjobs poderiam fazer o trabalho. O rsync seria executado apenas no escravo ... Portanto, nenhum espaço adicional é necessário no servidor principal, mas o rsync deve ler a árvore de diretórios completa toda vez que o cron for executado ...

    
por Barmi 19.07.2016 / 23:44

2 respostas

5

Eu recomendaria seriamente usar algo como o ZFS para o sistema de arquivos.

Ferramentas incorporadas, como a captura instantânea do ZFS e o envio / recebimento do ZFS, permitem que você tire instantâneos de nível de bloco do sistema de arquivos e envie-os para um segundo servidor.

Algumas ferramentas de terceiros, como o sanoid / syncoid , podem definir o gerenciamento / remoção automática e a sincronização do seu sistema de arquivos de um host para outro.

Isso é feito no nível do dispositivo de bloco, evitando o processo de soma de verificação / inventário do rsync.

    
por 20.07.2016 / 02:21
3

Se você não puder alterar o sistema de arquivos no servidor de produção, colocaria os arquivos em outro servidor e os montaria com o NFS. Eu usaria Linux e ZFS se horas-homem fossem baratas, talvez algum tipo de distribuição NAS doméstica ou talvez até mesmo um NAS doméstico (ambos provavelmente baseados em ZFS) se tudo for caro e você pode encontrar um que faz redundância de nível profissional, ou um NetApp ou um IBM Spectrum Scale, se o dinheiro não for um problema em comparação com a confiabilidade e o suporte.

Depois de ter os arquivos em um servidor de arquivos completo e real com redundância de nível profissional, você direciona o servidor de backup diretamente para o IP do NFS principal, caso tenha configurado o failover ou para o servidor NFS de backup.

    
por 20.07.2016 / 10:20