2 votes

Bons moyens de redémarrer tous les ordinateurs d'un cluster distant ?

J'ai un cluster que je gère et, de temps en temps, je reçois des courriels de chaque nœud (et du nœud principal) qui demandent à être redémarrés après une mise à niveau automatique.

Actuellement, ma meilleure solution jusqu'à présent est un Shell ShellscriptShell comme :

 $> cat cluster_reboot.sh
 ssh root@node1.host.edu reboot
 ssh root@node2.host.edu reboot
 ssh root@node3.host.edu reboot
 ssh root@node4.host.edu reboot
 ssh root@node5.host.edu reboot
 ssh root@headnode.host.edu reboot

Je finis par taper le mot de passe root six fois, mais ça marche, je suppose. Y a-t-il un meilleur moyen ? Puis-je forcer le nœud principal à redémarrer les ordinateurs pour moi ?

MISE À JOUR : J'aimerais éviter d'utiliser l'ouverture de session sans clé pour la root utilisateur... mais c'est une méthode qui pourrait certainement fonctionner.

MISE À JOUR 2 : Les paires de clés pourraient avoir une utilité après tout. Que diriez-vous d'une connexion avec clé au nœud principal, puis d'une connexion sans clé du nœud principal à tous les nœuds de calcul. Puis quelque chose comme ce qui suit :

 $> ssh root@headnode
 Enter password for 'root':
 [<headnode>]$: cat cluster_reboot.sh
 ssh root@node1.host.edu reboot
 ssh root@node2.host.edu reboot
 ssh root@node3.host.edu reboot
 ssh root@node4.host.edu reboot
 ssh root@node5.host.edu reboot
 echo "Nodes rebooted. Rebooting this computer now."
 reboot
 [<headnode>]$: sh cluster_reboot.sh
 "Nodes rebooted. Rebooting this computer now."

Je pense que c'est la solution la plus sûre et la plus simple.

4 votes

L'alimentation électrique du bâtiment ?

0voto

TimStaley Points 143

Utilisez le ansible l'outil d'administration de cluster, peut-être combiné avec le Commande "at pour programmer le redémarrage à votre convenance.

Vous pourriez configurer un script ('playbook' dans la terminologie ansible), mais je le fais généralement juste en utilisant l'interface de ligne de commande 'ad hoc', quelque chose comme ceci :

ansible clusternodes -m shell -a "echo shutdown -r +15 | at 6am Monday" -sK

clusternodes est un alias pour un ensemble d'hôtes définis dans mon système ansible. inventaire , -m shell signifie "exécuter cette commande en ligne de commande", -a "blah" donne la commande Shell, et -sK signifie "exécuter en mode sudo et me demander le mot de passe".

(Remarque : vous voudrez d'abord configurer des clés SSH vous donnant un accès sans mot de passe à vos nœuds).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X