4 Nyttige værktøjer til at køre kommandoer på flere Linux-servere


I denne artikel viser vi, hvordan du kører kommandoer på flere Linux-servere på samme tid. Vi vil forklare, hvordan man bruger nogle af de vidt kendte værktøjer designet til at udføre gentagne serier af kommandoer på flere servere samtidigt. Denne guide er nyttig for systemadministratorer, der normalt skal kontrollere sundheden for flere Linux-servere hver dag.

Med henblik på denne artikel antager vi, at du allerede har SSH-opsætning for at få adgang til alle dine servere, og for det andet, når du får adgang til flere servere samtidigt, er det hensigtsmæssigt at oprette nøglebaseret adgangskodeløs SSH på alle dine Linux-servere. Dette forbedrer først og fremmest serversikkerheden og muliggør også let adgang.

1. PSSH - Parallel SSH

parallel-scp, parallel-rsync, parallel-slurp og parallel-nuke (læs mandsiden for et bestemt værktøj for mere information).

For at installere parallel-ssh skal du først installere PIP på dit Linux-system.

$ sudo apt install python-pip python-setuptools 	#Debian/Ubuntu 
# yum install python-pip python-setuptools	        #RHEL/CentOS 
# dnf install python-pip python-setuptools	        #Fedora 22+

Installer derefter parallel-ssh ved hjælp af pip som følger.

$ sudo pip install parallel-ssh

Indtast derefter værtsnavne eller IP-adresser på en fjern Linux-server med SSH-port i en fil kaldet værter (du kan navngive det, hvad du vil):

$ vim hosts
192.168.0.10:22
192.168.0.11:22
192.168.0.12:22

Gem filen, og luk den.

Kør nu parallel-ssh, angiv værtsfilen ved hjælp af indstillingen -h og en eller flere kommandoer, der udføres på alle de angivne servere. Flagget -i betyder visning af std-output og std-fejl, når udførelsen af kommandoen på hver server afsluttes.

$ parallel-ssh -h hosts "uptime; df -h"

Du bør også tjekke ud: Sådan køres flere kommandoer på flere Linux-servere

2. Pdsh - Parallel Remote Shell Utility

Pdsh er et open source, simpelt parallel remote shell-værktøj til udførelse af kommandoer på flere Linux-servere på samme tid. Det anvender et glidende vindue af tråde til at udføre fjernkommandoer.

For at installere Pdsh på dine Linux-maskiner skal du køre den relevante kommando nedenfor.

$ sudo apt install pdsh 	#Debian/Ubuntu 
# yum install pdsh	        #RHEL/CentOS 
# dnf install pdsh              #Fedora 22+

For at køre kommandoer på flere servere skal du føje serverne til en værtsfil som forklaret før. Kør derefter pdsh som vist; flag -w bruges til at specificere værtsfilen, og -R bruges til at specificere fjernkommandomodulet (tilgængelige fjernkommandomoduler inkluderer ssh, rsh, exec, standard er rsh).

Vær opmærksom på ^ før værtsfilen.

$ pdsh -w ^hosts -R ssh "uptime; df -h"

Hvis du ikke angiver en fjernkommando, der skal udføres på kommandolinjen som vist ovenfor, kører pdsh interaktivt og beder dig om kommandoer og kører dem, når de afsluttes med en vognretur. For mere information, se pdsh-mandsiden:

$ man pdsh 

3. ClusterSSH

ClusterSSH er et kommandolinjeværktøj til administration af klynger af flere servere på samme tid. Det starter en administrationskonsol og en xterm til alle specificerede servere, så du kan køre den samme kommando på dem alle.

For at bruge clusterssh skal du starte med at installere det på din lokale Linux-computer som vist.

$ sudo apt install clusterssh    #Debian/Ubuntu 
# yum install clusterssh         #RHEL/CentOS 
$ sudo dnf install clusterssh    #Fedora 22+

Nu hvor du har det installeret, skal du åbne en admin-konsol og en xterm på eksterne servere på én gang som følger. For at køre en kommando på alle serverne skal du klikke på xterm-inputlinjen og skrive din kommando. for at administrere en enkelt vært skal du bruge sin admin-konsol.

$ clusterssh linode cserver contabo
OR
$ clusterssh [email  [email  [email  

For mere information, se clusterssh man-siden:

$ man clusterssh

4. Synlig

Ansible er et open source og populært værktøj til at automatisere it-processer. Det bruges til konfiguration og styring af systemer, implementering af applikationer og så meget mere.

For at installere Ansible på Linux-systemer skal du køre den relevante kommando nedenfor:

$ sudo apt install ansible       #Debian/Ubuntu 
# yum install ansible            #RHEL/CentOS 
$ sudo dnf install ansible       #Fedora 22+

Når du har installeret ansible, kan du tilføje serverens værtsnavne eller IP-adresser i filen/etc/anasible/hosts.

$ sudo vim /etc/anasible/hosts

Angiv dem i grupper, fx webservere.

# Ex 2: A collection of hosts belonging to the 'webservers' group
[webservers]
139.10.100.147
139.20.40.90
192.30.152.186

Gem filen, og luk den.

For at kontrollere oppetid og brugere, der er forbundet til alle de servere, der er angivet i gruppe-webserveren, i hosts-konfigurationsfilen ovenfor, skal du blot køre det ansible kommandolinjeværktøj som følger.

Indstillingerne -a bruges til at specificere de argumenter, der skal overføres til modulet, og -u -flaget angiver standardbrugernavnet, der skal oprettes forbindelse til fjernserverne via SSH.

Bemærk, at det ansible CLI-værktøj kun giver dig mulighed for højst kun at udføre en kommando.

$ ansible webservers -a "w " -u admin

Det er alt! I denne artikel har vi forklaret, hvordan man kører kommandoer på flere Linux-servere på samme tid ved hjælp af meget anvendte værktøjer. Hvis du kender noget værktøj derude til det samme formål, som vi ikke har medtaget i denne artikel, så lad os det vide via nedenstående kommentarformular.