Mam klaster, którym zarządzam i od czasu do czasu otrzymuję wiadomości e-mail z każdego węzła (i węzła głównego), prosząc o ponowne uruchomienie po automatycznej aktualizacji.
Obecnie moim najlepszym rozwiązaniem jest skrypt powłoki, taki jak:
$> 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
W końcu po prostu wpisuję hasło roota sześć razy, ale chyba działa. Czy jest lepszy sposób? Czy mogę zmusić węzeł główny do ponownego uruchomienia komputerów?
UPDATE: Chciałbym uniknąć korzystania z keyless login dla root
użytkownik ... ale to metoda, która na pewno zadziała.
AKTUALIZACJA 2: W końcu pary kluczy mogą być używane. Co z loginem z kluczem do węzła głównego, a następnie bez logowania z węzła głównego do wszystkich węzłów obliczeniowych. Potem coś takiego:
$> 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."
Myślę, że to może być bezpieczne + łatwe rozwiązanie.