Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Comment lancer la même commande sur plusieurs machines en même temps ?

Si vous gérez un cluster de machines, que ce soit pour cracker des mots de passe, ou pour exploiter tout le potentiel de vos Raspberry Pi, ou si vous avez simplement plusieurs serveurs sur lesquels vous lancez exactement les mêmes commandes (en cas de mise à jour par exemple), voici un outil qui va vous intéresser.

Ça s’appelle Cluster SSH et c’est un outil basé sur xTerm qui permet de configurer différents clusters auquels se connecter via SSH pour ensuite pouvoir entrer ensuite une ligne de commande qui est alors répliquée sur toutes les machines. Ainsi l’exécution de la commande se fait de manière simultanée sur toutes les machines, offrant une synchronisation parfaite des nœuds du cluster.

Je parle de clusters mais vous pouvez également mettre comme ça à jour des serveurs différents que vous administrez de la même manière (pour les updates par exemple).

Pour installer Cluster SSH :

sudo apt-get install clusterssh

Pour configurer un groupe de machines, éditez le fichier /etc/clusters puis configurez vos cluster comme ceci :

cluster1 = machine1 machine2
cluster2 = machine3 machine4
all = cluster1 cluster2

Comme vous pouvez le voir, il est totalement possible de créer des meta cluster regroupant plusieurs clusters.

Ensuite pour s’y connecter, il suffit d’utiliser la commande cssh suivi du nom du cluster ou des noms des machines ou des clusters sur lesquels se connecter.

cssh -l <username> <clustername>

Attention toutefois quand vous éditez des fichiers avec ClusterSSH car les fichiers pourraient ne pas être identiques entre toutes les machines et donc entraîner des erreurs dans la config de vos bécanes. Soyez donc très prudent avec cet outil !

Les sources et la doc sont ici.


Les articles du moment