У меня есть кластер, которым я управляю, и время от времени я получаю электронные письма от каждого узла (и головного узла), требующие перезапуска после автоматического обновления.
В настоящее время моим лучшим решением на данный момент является сценарий оболочки, такой как:
$> 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
В итоге я просто набираю пароль root шесть раз, но, думаю, это работает. Есть ли способ лучше? Могу ли я заставить главный узел перезагрузить компьютеры для меня?
ОБНОВЛЕНИЕ: я хотел бы уклониться от использования входа без ключа для пользователя root
... но это метод, который определенно будет работать.
ОБНОВЛЕНИЕ 2: Пары ключей могут быть использованы в конце концов. А как насчет входа с помощью ключа в головной узел, а затем вход без ключа от головного узла ко всем вычислительным узлам. Тогда что-то вроде следующего:
$> 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."
Я думаю, что это может быть безопасным и простым решением.