Benutzer-Werkzeuge

Webseiten-Werkzeuge


 [[anwenderwiki:scripting:pssh_parallel-ssh]] 

pssh -- eine must-have-tool-Sammlung für den Server

Für alle, die den openML-Server einsetzen und auf Linux-Clients setzen, gibt es die geniale Toolsammlung pssh („aptitude show pssh“) für den Server.

 The package contains:
 
 Parallel ssh (parallel-ssh, upstream calls it pssh), executes
 commands on multiple hosts in parallel
 
 Parallel scp (parallel-scp, upstream calls it pscp), copies files to
 multiple remote hosts in parallel
 
 Parallel rsync (parallel-rsync, upstream calls it prsync),
 efficiently copies files to multiple hosts in parallel
 
 Parallel nuke (parallel-nuke, upstream calls it pnuke), kills
 processes on multiple remote hosts in parallel
 
 Parallel slurp (parallel-slurp, upstream calls it pslurp), copies
 files from multiple remote hosts to a central host in parallel
 

Homepage: http://code.google.com/p/parallel-ssh/ für die aktuelle Version – sonst aus den Repos mit „aptitude install pssh“ auf den openML-Server installieren.

Man kann damit SEHR flott Dinge verteilen (parallel-rsync) oder remote einen beliebigen Befehl absetzen (parallel-ssh) usw.

Ich habe mir eine Textdatei „hosts_kl_raum.txt“ nach folgendem Muster gestrickt:

 ws101:22 linuxadmin
 ws102:22 linuxadmin
 [...]
 

Der Befehl

 
 parallel-ssh -h hosts_kl_raum.txt -P uptime
 

arbeitet dann alle Clients in der Datei ab, schickt an die Clients in diesem Fall den Befehl „uptime“ und gibt das Ergebnis lokal aus. Diese Lösung ist besonders elegant und schnell, wenn man z.B. kein ganz neues cloop-Image erstellen/verteilen will sondern mal kurz zwischendurch etwas verteilen oder umstellen will.

Damit das ganze auch passwortlos abläuft, habe ich unseren Ubuntu-Clients ssh-public-key-Auth. beigebracht. Dadurch wird kein Passwort abgefragt. Damit die Clients dadurch aber nicht zu offen werden, ist der Zugang auf einen User beschränkt (/etc/ssh/sshd_config)

Es ist ebenfalls denkbar, das Paket auf dem LehrerPC zu installieren und von dort aus Dinge auf die Schüler-Clients zu verteilen. Möglich ist beispielsweise auch eine Kombination mit ZENITYhttp://wiki.ubuntuusers.de/Zenity, sofern man ein Desktop-Icon auf dem LehrerPC haben möchte, hinter dem ein Script/Befehl wie z.B. „poweroff“ aufgerufen wird, der via pssh dann an alle Clients in einem Raum geschickt wird. Ein zu beachtender Nebeneffekt ist dabei allerdings, dass man der Gruppe @teachers SSH-Zugang auf die anderen Clients geben muss!

Ein Vergleich von pssh zu anderen parallel-SSH-Varianten findet sich z.B. hier: http://serverfault.com/questions/17931/what-is-a-good-modern-parallel-ssh-tool

 [[anwenderwiki:scripting:pssh_parallel-ssh]] anwenderwiki/scripting/pssh_parallel-ssh.txt · Zuletzt geändert: 2013/04/20 19:24 (Externe Bearbeitung)