de meeste serverbeheerders draaien SSH voor het onderhouden van hun servers. Wanneer hij veel servers beheert, moet hij mogelijk meerdere SSH sessies openen. Als de onderhoudsactiviteit dezelfde opdrachten op elke server gebruikt, kan het meer tijd vergen om opdrachten één voor één voor elke server te typen. Is het mogelijk om commando ‘ s uit te voeren op een server en ze te dupliceren naar een andere server? Op Linux wel. We zullen ClusterSSH commando gebruiken om deze situatie op te lossen.
Wat is ClusterSSH
ClusterSSH is een toepassing die meerdere SSH-sessies tegelijkertijd kan beheren. Met ClusterSSH kunt u tegelijkertijd dezelfde opdrachten uitvoeren op de servergroep (cluster). Dit zorgt ervoor dat alle servers synchroon worden gehouden.
installatie
package manager
gebruiken op Debian / Ubuntu gebaseerde Linux :
$ sudo apt-get install clusterssh
op RedHat / CentOS gebaseerde Linux :
# yum -y install clusterssh
gebruik tarball
om er zeker van te zijn dat u de laatste versie hebt geïnstalleerd, kunt u ClusterSSH bronbestand downloaden en handmatig compileren. Op het moment dat dit artikel geschreven is, is de laatste versie van ClusterSSH 3.28. De bron kan worden gedownload van SourceForge sites.
zodra u de download hebt, zijn hier de stappen om het te installeren.
1. Uitpakken van het bronbestand
2. Ga naar de map waar het bronbestand is uitgepakt
3. Type :
$ ./configure$ make# make install
4. Gedaan
houd er rekening mee dat ClusterSSH Perl en zijn bibliotheek gebruikt om uit te voeren. Op mijn Zorin Linux (Ubuntu gebaseerd) vond ik een aantal fouten bij het compileren ClusterSSH.
kan X include-bestanden niet vinden via /include
kan X include-bestanden nergens vinden
om deze fout op te lossen, liep ik :
$ sudo apt-get install libx11-dev
toen de installatie van libx11-dev klaar was, probeerde ik het opnieuw te compileren en het werkte !
kan niet vinden Tk.pm
ClusterSSH heeft Perl module nodig. De oplossing voor deze fout is door te installeren Tk.pm module. De makkelijkste manier om het te installeren is met behulp van CPAN.
$ cpan -i Tk
na installatie Tk.pm is gedaan, probeer cssh te typen via console.
kan X11/Protocol niet vinden.pm
Als u deze fout ondervindt, kunt u de X11/Protocol.pm module installeren via CPAN.
$ cpan -i X11::Protocol
na installatie Tk.pm is gedaan, probeer cssh te typen via console.
Hoe gebruikt u ClusterSSH
om ClusterSSH uit te voeren, kunt u
$ cssh -l username server_ip_address
typen, maar de kracht van ClusterSSH is het beheren van meerdere SSH-sessies. U kunt ook typen :
$ cssh -l username server_ip_address_1 server_ip_address_2 server_ip_address_n
maar dit is misschien niet een goede manier als je veel servers hebt. Een andere manier om meerdere SSH sessie uit te voeren is het adres van elke server in CSSH configuratie bestand te zetten. Er zijn twee soorten configuratiebestanden. Ten eerste is het globale configuratiebestand. Dit bestand bevindt zich in /etc/clusters. De tweede is .csshrc die zich in gebruikers home directory.
in dit artikel gebruiken we .csshrc-bestand om ClusterSSH in te stellen. We voegen bijvoorbeeld clusternaam (groepsnaam) toe met de naam servers. Dan voegen we het lid van zijn groep toe. Hier is de .csshrc-bestand ziet eruit als :
clusters=serversservers=10.0.6.12 10.0.14.6 10.0.6.149
om het cluster uit te voeren, typt u :
$ cssh -l pungki.arianto servers -T "Server Farm"
waarbij:
1. pungki.arianto is de login naam van die servers
2. – T “Server Farm” geeft tags Server Farms aan elk SSH venster.
de volgende stap, je nodig hebt om wachtwoord in te voeren voor elke server. U ziet een beheerconsole met header Server Farm (3). Als u commando ‘ s op alle servers wilt uitvoeren, moet u deze typen in het vak beheerconsole. Je ziet misschien niet wat je in het vak typt, maar je ziet het op elke server verschijnen.
Als u uw opdracht niet op alle servers wilt weergeven, kunt u de host(s) uitschakelen die u wilt uitsluiten. Klik op het Hosts-menu in de beheerconsole en kies welke server u wilt uitsluiten.
belangrijk
het voordeel van het echoën van alle opdrachten naar alle servers is ervoor te zorgen dat alle servers gesynchroniseerd blijven. En natuurlijk zullen we tijd besparen van het herhalen van dezelfde commando ‘ s op alle servers. Maar als je de verkeerde commando ‘ s uitvoert, zal het van invloed zijn op alle servers. Zorg ervoor dat u een juiste opdracht typt voordat u op de Enter-knop drukt.
conclusie
ClusterSSH kan beheerders helpen om hetzelfde commando over servers op hetzelfde moment uit te voeren, zolang het met zorg wordt gebruikt. Zoals gewoonlijk kunnen we altijd Man cssh of cssh-h typen om de hulppagina weer te geven en meer details te ontdekken.