Tenho alguns arquivos grandes que preciso copiar de uma máquina Linux para cerca de 20 outras máquinas Linux, todas na mesma LAN o mais rápido possível. Quais ferramentas / métodos seriam melhores para copiar esses arquivos, observando que essa não será uma cópia única. Essas máquinas nunca serão conectadas à Internet e a segurança não é um problema.
Atualizar:
O motivo de perguntar isso é porque (como eu o entendo) atualmente estamos usando scp
em série para copiar os arquivos para cada uma das máquinas e fui informado de que isso é "muito lento" e está sendo procurada uma alternativa mais rápida. De acordo com o que me disseram, a tentativa de paralelizar as scp
chamadas simplesmente diminui ainda mais a velocidade devido a buscas no disco rígido.
fonte
Respostas:
BitTorrent. É como o Twitter implementa algumas coisas internamente.
http://engineering.twitter.com/2010/07/murder-fast-datacenter-code-deploys.html (link do arquivo da web)
fonte
E o UFTP , ele usa multicast para entregar arquivos sobre UDP para vários clientes ao mesmo tempo. Não é para todos e não sou especialista nisso, mas parece que faz o que você deseja.
fonte
Você tentou copiar esses dados
rsync
? Se você possui uma LAN de 1 Gbit ou mais rápida, copiar acima de 4 * 20 GB não deve ser um problema.Com que frequência essa cópia ocorrerá? Importa se leva alguns minutos para terminar?
fonte
scp-tsunami é o caminho!
https://code.google.com/p/scp-tsunami/
É comumente usado para distribuir imagens de disco em clusters de virtualização, seu desempenho é quase bittorrent, mas é mais simples de usar para uso diário.
fonte
A configuração de um compartilhamento NFS e a retirada de cada máquina desse repositório compartilhado de arquivos grandes provavelmente seria o método mais rápido (o NFS é muito rápido e possui pouca sobrecarga).
Você pode adicionar uma NIC ou duas adicionais ao servidor de origem e uni-las para oferecer melhor rendimento.
A implementação pode ser uma tarefa cron simples em cada servidor de destino que busca cegamente o compartilhamento a cada hora / dia / qualquer que seja. Você também pode configurar um daemon para pesquisar novos arquivos; você também pode criar um script de uma sessão de controle para SSH (com pares de chaves) em cada caixa de destino e instruí-los a buscar o arquivo ao executar seu script.
fonte