Die meisten Serveradministratoren führen SSH aus, um seine Server zu warten. Wenn er viele Server verwaltet, muss er möglicherweise mehrere SSH-Sitzungen öffnen. Wenn die Wartungsaktivität auf jedem Server dieselben Befehle verwendet, kann die Eingabe von Befehlen nacheinander für jeden Server mehr Zeit in Anspruch nehmen. Ist es möglich, Befehle auf einem Server auszuführen und auf einen anderen Server zu duplizieren? Unter Linux können Sie. Wir werden ClusterSSH Befehl verwenden, um diese Situation zu lösen.
Was ist ClusterSSH
ClusterSSH ist eine Anwendung, die mehrere SSH-Sitzungen gleichzeitig verwalten kann. Mit ClusterSSH können Sie dieselben Befehle gleichzeitig auf der Servergruppe (Cluster) ausführen. Dadurch wird sichergestellt, dass alle Server synchron gehalten werden.
Installation
Verwendung des Paketmanagers
Unter Debian / Ubuntu-basiertem Linux :
$ sudo apt-get install clusterssh
Auf RedHat / CentOS basierendes Linux :
# yum -y install clusterssh
Verwenden von tarball
Um sicherzustellen, dass Sie die neueste Version installiert haben, können Sie die ClusterSSH-Quelldatei herunterladen und manuell kompilieren. Im Moment ist dieser Artikel geschrieben, die neueste Version von ClusterSSH ist 3.28. Die Quelle kann von SourceForge-Websites heruntergeladen werden.
Sobald Sie den Download haben, sind hier die Schritte, wie es zu installieren.
1. Extrahieren Sie die Quelldatei
2. Wechseln Sie in den Ordner, in den die Quelldatei extrahiert wurde
3. Typ :
$ ./configure$ make# make install
4. Fertig
Bitte beachten Sie, dass ClusterSSH Perl und seine Bibliothek zum Ausführen verwenden. Auf meinem Zorin Linux (Ubuntu-basiert) habe ich beim Kompilieren von ClusterSSH einige Fehler gefunden.
X Include-Dateien können nicht über /include gefunden werden
X Include-Dateien können nirgendwo gefunden werden
Um diesen Fehler zu beheben, lief ich :
$ sudo apt-get install libx11-dev
Sobald die Installation von libx11-dev abgeschlossen war, habe ich versucht, es erneut zu kompilieren und es hat funktioniert!
Kann nicht gefunden werden Tk.pm
ClusterSSH benötigt ein Perl-Modul. Die Lösung für diesen Fehler ist die Installation Tk.pm modul. Der einfachste Weg, es zu installieren, ist die Verwendung von CPAN.
$ cpan -i Tk
Nach der installation Tk.pm versuchen Sie, cssh über die Konsole einzugeben.
X11 / Protocol kann nicht gefunden werden.pm
Wenn dieser Fehler auftritt, können Sie das Modul X11 / Protocol.pm über CPAN installieren.
$ cpan -i X11::Protocol
Nach der installation Tk.pm versuchen Sie, cssh über die Konsole einzugeben.
Verwendung von ClusterSSH
Um ClusterSSH auszuführen, können Sie
$ cssh -l username server_ip_address
eingeben, aber die Leistung von ClusterSSH besteht darin, mehrere SSH-Sitzungen zu verwalten. Sie können auch eingeben :
$ cssh -l username server_ip_address_1 server_ip_address_2 server_ip_address_n
Dies ist jedoch möglicherweise kein guter Weg, wenn Sie viele Server haben. Eine andere Möglichkeit, mehrere SSH-Sitzungen auszuführen, besteht darin, die Adresse jedes Servers in die CSSH-Konfigurationsdatei aufzunehmen. Es gibt zwei Arten von Konfigurationsdateien. Zuerst ist globale Konfigurationsdatei. Diese Datei befindet sich in /etc/clusters. Zweitens ist .csshrc befindet sich im Home-Verzeichnis des Benutzers.
In diesem Artikel verwenden wir .csshrc-Datei zum Konfigurieren von ClusterSSH. Zum Beispiel fügen wir Clusternamen (Gruppenname) genannt Server. Dann fügen wir das Mitglied seiner Gruppe hinzu. Hier ist die .csshrc Datei aussehen :
clusters=serversservers=10.0.6.12 10.0.14.6 10.0.6.149
Um den Cluster auszuführen, geben Sie Folgendes ein :
$ cssh -l pungki.arianto servers -T "Server Farm"
Wobei :
1. pungki.arianto ist der Anmeldename dieser Server
2. -T „Server Farm“ gibt Tags Serverfarmen zu jedem SSH-Fenster.
Im nächsten Schritt müssen Sie das Passwort für jeden Server eingeben. Sie sehen eine Administrationskonsole mit Header Server Farm (3). Wenn Sie Befehle auf allen Servern ausführen möchten, müssen Sie sie in das Feld Administrationskonsole eingeben. Möglicherweise sehen Sie nicht, was Sie in das Feld eingeben, aber es wird auf jedem Server angezeigt.
Wenn Sie Ihren Befehl nicht auf allen Servern wiedergeben möchten, können Sie Hosts deaktivieren, die Sie ausschließen möchten. Klicken Sie einfach in der Administrationskonsole auf das Menü Hosts und wählen Sie aus, welchen Server Sie ausschließen möchten.
Wichtig
Der Vorteil des Echos aller Befehle an alle Server besteht darin, sicherzustellen, dass alle Server synchronisiert bleiben. Und natürlich sparen wir Zeit, wenn wir dieselben Befehle für alle Server wiederholen. Wenn Sie jedoch die falschen Befehle ausführen, wirkt sich dies auf alle Server aus. Bitte stellen Sie sicher, dass Sie einen korrekten Befehl eingeben, bevor Sie die Eingabetaste drücken.
Fazit
ClusterSSH kann Administratoren helfen, denselben Befehl auf mehreren Servern gleichzeitig auszuführen, sofern er mit Sorgfalt verwendet wird. Wie üblich können wir immer man cssh oder cssh -h eingeben, um die Handbuchseite anzuzeigen und weitere Details zu erkunden.