Arbeit sparen mit Cluster SSH
Nachdem sich bei einem Rechnerverbund mal wieder Updates angehäuft haben, stand bis jetzt normalerweise immer die folgende Prozedur an:
ssh server1aptitude safe-upgradeexitssh server2aptitude safe-upgradeexit- ...
ssh serverNaptitude safe-upgradeexit
Ich hatte noch einen Artikel aus dem Linux-Magazin im Kopf (Ausgabe 1/11, S. 85, Charly Künast: "Sponton simultan"),
indem der gute Charly einen möglichen Lösungsansatz für mich parat hält um N Schritte zu einem zusammen fassen zu können.
Die Lösung heißt Cluster SSH.
Installation von Cluster SSH unter Ubuntu
In ~/.csshrc die Direktive extra_cluster_file mit unserer zukünftigen Konfigurationsdatei für die Cluster erweitern:
Anlegen eines Clusters
Anlegen eines Rechnerverbundes: ~/.csshrc.clusters (in diesem Fall ist für alle Rechner ein entsprechender SSH-Public-Key hinterlegt):
honky honky1 honky2:3419 ez@honky3 honkyN
Für ein Login auf allen in "Cluster honky" eingetragen Rechner reicht jetzt ein:
Nach ein erfolgreichem Befehl stehen dann N Xterms zur Verfügung,
die über den "Controller", hier in der Mitte angesprochen werden können.

Arbeiten mit mehreren Clustern
Bei der Nutzung von mehreren Clustern wird im Gegensatz zum obigen Beispiel eine andere Syntax in ~/.csshrc.clusters genutzt:
-
clusters = honky bonk all
-
-
# Cluster honky
-
honky = honky1 honky2:3419 ez@honky3 honkyN
-
-
# Cluster bonk
-
bonk = bonk1 honkmaster@bonk2 bonk3:3419 bonkN
-
-
# Cluster all
-
all = honky bonk
In Zeile 1 werden über die Direktive clusters die verfügbaren Cluster definiert.
In den Zeilen 4 und 7 werden analog zum Anlegen eines Clusters die Maschinen den in Zeile 1 definierten Clustern zugewiesen, wobei hier hinter dem Namen des Clusters ein Gleichheitszeichen (=) stehen muss, die jeweiligen Rechner folgen wie oben mit Leerzeichen getrennt.
In Zeile 10 werden unter all oben konfigurierten Cluster wieder zu einen Verbund zusammengefasst.
Fazit
Bei absehbarer Wiederverwendung spart das, trotz des einmaligen Mehraufwandes der Konfiguration in Zukunft eine Menge unötigen Aufwand.
Mehr unter cssh(1) - Linux man page (man cssh).

