Ausführen von Remote-Befehlen auf mehreren Linux-Servern mit Parallel-SSH

Bild: Jack Wallen

Wenn Sie Administrator mehrerer Linux-Computer in Ihrem Rechenzentrum sind, werden Sie wahrscheinlich jeden Tag auf mehreren Computern remoten, um tägliche Verwaltungsaufgaben auszuführen, z. B. das Sammeln von Informationen zur Festplattennutzung oder zum Ausführen von Prozessen. Was wäre, wenn Sie sich bei einem einzelnen Computer anmelden und diese Befehle von einer einzigen Quelle an entfernte Computer senden könnten?

Rechenzentrum muss unbedingt gelesen werden

  • 8 Vorhersagen für Rechenzentren für 2020
  • 7 Netzwerkvorhersagen für 2020: Automatisierung, Edge-Computing, Wi-Fi 6, mehr
  • Best Practices für die Servervirtualisierung und Tipps, was nicht zu tun ist
  • Quantencomputer: Sieben Wahrheiten, die Sie kennen müssen

Ein praktisches Tool namens Parallel-SSH macht dies möglich. Mit Parallel-SSH können Sie eine Liste von Befehlen gleichzeitig auf einer Liste von Linux-Computern ausführen. Dies kann ein Segen für Administratoren sein, die mit zahlreichen Rechenzentrums-Servern arbeiten.

Aber wie benutzt man diese besondere Art von Magie? Ich werde demonstrieren.

Ich werde veranschaulichen, wie Parallel-SSH auf der Ubuntu Server 18.04-Plattform installiert und verwendet wird. Das Tool ist für die meisten Distributionen im Standard-Repository verfügbar, sodass Sie nur das Installationstool ändern müssen, um es an die Linux-Variante Ihrer Wahl anzupassen. Nachdem dies gesagt ist, installieren und verwenden wir Parallel-SSH.

Installation

Die Installation von Parallel-SSH kann mit einem einzigen Befehl abgeschlossen werden. Öffnen Sie ein Terminalfenster und geben Sie den folgenden Befehl ein:

 sudo apt-get install pssh 

Sobald die Installation abgeschlossen ist, können Sie loslegen.

Konfigurieren Sie die Befehle

Anstatt die erforderlichen Befehle einzeln auszuführen, erstellen wir eine einzelne Datei, die alle Befehle enthält, die auf unseren Remoteservern ausgeführt werden sollen. Geben Sie den folgenden Befehl ein:

 sudo nano ~ / pssh-befehle 

Kopieren Sie in diese Datei Folgendes:

 #! / bin / bash echo # show system uptime uptime echo # zeige, wer angemeldet ist und was sie tun, wer echo # zeige die Top 5 Prozesse nach RAM-Nutzung ps -eo cmd, pid, ppid, % mem, % cpu - sort = -% mem | Kopf -n 6 Ausgang 0 

Speichern und schließen Sie diese Datei.

Hinweis: Sie können der obigen Datei alle erforderlichen Befehle hinzufügen (das obige ist ein Beispiel).

Hosts-Datei erstellen

Als nächstes müssen wir eine Hosts-Datei erstellen. Geben Sie den folgenden Befehl ein:

 nano ~ / pssh-hosts 

In dieser Datei werden die Hosts aufgelistet, einer pro Zeile (fügen Sie so viele hinzu, wie Sie benötigen), und zwar in der Form wie folgt:

 

Speichern und schließen Sie diese Datei.

Parallel-SSH ausführen

Jetzt führen wir den Befehl aus. Wir haben unsere Befehle und Hosts-Dateien bereit. Geben Sie daher den folgenden Befehl ein, um diese Dateien zu verwenden:

 parallel-ssh -h pssh-hosts -A -P -I <pssh-Befehl 

Die oben genannten Optionen sind wie folgt:

  • -h - Hostname (in diesem Fall verwenden wir eine Hostdatei)
  • -A fragt nach einem Passwort
  • -P Druckausgabe bei Ankunft
  • -Ich lese die Eingabe und sende sie an jeden SSH-Prozess

Sie werden aufgefordert, das Kennwort einzugeben, das dem in pssh-hosts konfigurierten Benutzer zugeordnet ist. Nach der Authentifizierung sollten die Befehle auf den Remotecomputern erfolgreich ausgegeben werden ( Abbildung A ).

Abbildung A.

Ausgabe unseres erfolgreichen Parallel-SSH-Befehls.


Sie können durch die Ausgabe des Befehls scrollen, um Informationen zu Ihren Servern zu erhalten.

Die Einschränkung

Sie wussten, dass die Einschränkung kommen würde. Eines der einzigen Probleme bei Parallel-SSH ist die Unfähigkeit, Befehle mit sudo auszuführen. Dies ist kein Problem, wenn Sie eine Distribution haben, die den Root-Benutzer verwendet, aber selbst dann ist der Root-Benutzer wahrscheinlich von der SSH-Anmeldung ausgeschlossen, sodass dies immer noch zu einem Problem wird. Mit anderen Worten, Sie werden keine Befehle wie sudo apt-get upgrade mit Parallel-SSH ausführen. Das ist in Ordnung, da Sie wahrscheinlich kein solches Tool verwenden möchten, um Befehle auszuführen, für die Root- oder Sudo-Berechtigungen erforderlich sind. Stattdessen können Sie verschiedene Befehlsdateien erstellen, die unterschiedliche Aufgaben ausführen (z. B. das Sammeln von Netzwerkinformationen, Festplatteninformationen, Prozessinformationen usw.).

Trotz dieser Einschränkung ist Parallel-SSH immer noch ein unglaublich nützliches Werkzeug.

Newsletter zu Trends im Rechenzentrum

DevOps, Virtualisierung, Hybrid Cloud, Speicher und betriebliche Effizienz sind nur einige der Themen im Rechenzentrum, die wir hervorheben werden. Wird montags und mittwochs geliefert

Heute anmelden

© Copyright 2020 | mobilegn.com