ADMIN-Tipp: Parallelarbeit

07.08.2012

Im Admin-Alltag kommt es nicht selten vor, das dasselbe Kommando auf mehreren Rechnern auszuführen ist. Eigentlich ist das die Domäne von Automatisierungstools wie Chef oder Puppet, aber es klappt auch eine Nummer kleiner.

Eine weniger anspruchsvolle Lösung für das parallele Abarbeiten gleicher Kommandos auf verschiednenen Rechnern findet sich im Paket pssh. Es enthält Werkzeuge wie parallel-slurp für den parallelen Download eines Files von verschiedenen Remote-Computern auf den lokalen Rechner. Dasselbe in der Gegenrichtung erledigt parallel-scp. Dagegen führt parallel-ssh beliebige Kommandos auf einer Reihe von Rechnern aus und parallel-nuke killt auf mehreren entfernten Computern einen bestimmten Prozess.

Allen diesen Tools gemeinsam ist, dass sie die Liste der parallel zu verwendenden Rechner hinter dem Schalter -h als einfaches Textfile im Format

user@rechner:[port]

erwarten. Damit ergibt sich ein Aufruf wie

jcb@hercules:~$ parallel-ssh -i -h ./phosts.txt uptime
[1] 16:47:18 [SUCCESS] jbrendel@reed 33
16:47:18 up 19 days,  5:21,  3 users,  load average: 0.19, 0.21, 0.22
[2] 16:47:18 [SUCCESS] root@esxi 33
16:47:18 up 42 days,  5:21,  5 users,  load average: 0.39, 0.24, 0.23

Die Option -i  (inline) sorgt hier dafür, dass STDOUT des entfernten Rechners in die Ausgabe übernommen wird, andernfalls würde man die Uptime-Werte nicht sehen können.

Im Beispiel waren die Public Keys auf den Remotesystemen in .ssh/authorized_keys hinterlegt, sodass ein SSH-Login ohne Passwort möglich war. Alternativ kann man mit dem Schalter -A auch eine sichere Passworteingabe ermöglichen.

Ähnliche Artikel

  • ADMIN-Tipp: Remote Execution

    Will man Anwendungen auf verschiedene Hosts verteilen und/oder entfernt Kommandos ausführen, bieten sich etliche mächtige Werkzeuge an, darunter etwa Chef, Puppet oder Cfengine. Ist deren Komplexität aber zu viel des Guten, dann geht es auch eine Nummer kleiner gut: Mit dem Python-Tool fabric.

  • Serververwaltung mit Python und Fabric
  • ADMIN-Tipp: Linux-Speicherverbrauch immer im Blick

    Was ein Linux-Kommando alleine nicht kann, das schafft oft eine einfache Kombination: Zum Beispiel den Speicher en detail und ständig im Blick zu haben.

  • ADMIN-Tipp: Fenster-Multiplexer

    Wer am Nachmittag auf Arbeit noch einen lang laufenden Job auf seinem  mitgebrachten Laptop startet, einen Benchmark wie iozone beispielsweise, der schießt sich schnell ins Knie: Der Prozess läuft weit in den Feierabend hinein, man kann aber den Rechner nicht abschalten und einpacken, ohne den Benchmark im Beispiel abzubrechen und viele Stunden bereits absolvierter Laufzeit zu verlieren. Doch es gibt einen Ausweg.
     

  • ADMIN-Tipp: Das bessere top

    Geht es um einen raschen Überblick über die Systemauslastung ist top sicher am schnellsten zur Hand. Load Average, CPU- und Speicherauslastung präsentiert es auf einen Blick. Aber es geht noch besser.

Mehr zum Thema

ADMIN-Tipp: Remote Execution

Will man Anwendungen auf verschiedene Hosts verteilen und/oder entfernt Kommandos ausführen, bieten sich etliche mächtige Werkzeuge an, darunter etwa Chef, Puppet oder Cfengine. Ist deren Komplexität aber zu viel des Guten, dann geht es auch eine Nummer kleiner gut: Mit dem Python-Tool fabric.

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023