Eu sei que você provavelmente só quer algo simples, mas existem dezenas de maneiras de fazer isso. Mas primeiro queremos ser capazes de controlar todos os computadores de uma só vez.
Isso pode parecer uma direção estranha, mas economizará seu tempo mais tarde quando você quiser enviar um desligamento, reinicializar, atualizar para todos os computadores.
clusterssh
Vamos instalar clusterssh
e disparar um comando para conectar todos os nossos servidores de uma vez (isso pode não ser viável para 200 de uma só vez - não tenho 200 computadores para testá-lo!)
sudo apt-get install clusterssh
cssh user@first_computer:port user@second_computer:port ...
Isso gerará pequenas janelas de saída para cada conexão (por que eu digo 200 pode ser um trecho) e um diálogo de entrada global. De lá, você pode enviar o mesmo comando para todos os seus servidores.
Se você quiser fazer isso a partir da linha de comando, e isso pode dar suporte a 200 conexões, você pode ver o sinal -a
para cssh
. Você pode lançar um comando para cada servidor (ou string de comandos). Conectará, executará e fechará a conexão.
cssh -a 'cd directory; ls' user@first_computer:port user@second_computer:port
Você pode simplificar suas conexões usando a poderosa configuração do clusterssh
. Abra man cssh
e vá até a seção FILES
. Explica como você pode criar um arquivo /etc/clusters
para permitir que você crie rapidamente grupos (chamados de tags) assim:
clusters = <tag1> <tag2> <tag3>
<tag1> = host1 host2 host3
<tag2> = user@host4 user@host5 host6
<tag3> = <tag1> <tag2>
Então você pode fazer:
cssh -T 'tag2' -a 'cd directory; ls'
Use um repositório central
Não estou falando de um repo de debug (mas é possível também, acho), algo como git
ou brz
. Pode ser algo tão simples quanto um servidor da Web ou um compartilhamento de rede. Se a largura de banda da rede tiver gargalos nos locais, algo como um servidor de torrent pode até ser o melhor caminho (é assim que o Facebook atualiza todos os seus nós)
Informe sua rede para baixar os arquivos
A partir daqui, é só ligar os pontos. Usando cssh
você acabou de dizer a todos os seus computadores para buscar o arquivo e fazer o que for necessário com ele.
Eu sugiro que você comece pequeno. Obter o arquivo compartilhado e, em seguida, tente um simples cluster de um par de computador e ver como vai. Expanda isso.
Sugiro que, mesmo depois de concluído, você mantenha um cluster de alguns computadores para testar antes de enviar itens para o grupo principal.