Weboldal keresés

4 Hasznos eszközök parancsok futtatásához több Linux szerveren


Ebben a cikkben bemutatjuk, hogyan lehet parancsokat futtatni több Linux-kiszolgálón egyidejűleg. Elmagyarázzuk, hogyan használhatunk néhány olyan széles körben ismert eszközt, amelyek több kiszolgálón egyidejűleg ismétlődő parancssorozatok végrehajtására szolgálnak. Ez az útmutató hasznos azoknak a rendszergazdáknak, akiknek általában naponta több Linux-kiszolgáló állapotát kell ellenőrizniük.

Ebben a cikkben feltételezzük, hogy már rendelkezik SSH-beállítással az összes kiszolgáló eléréséhez, másodsorban pedig, ha egyszerre több szervert is elér, célszerű kulcsalapú, jelszó nélküli SSH-t beállítani az összes Linux-kiszolgálón. Ez mindenekelőtt növeli a szerver biztonságát, és megkönnyíti a hozzáférést.

Olvassa el még: Egyéni SSH-kapcsolatok konfigurálása a távoli hozzáférés egyszerűsítésére

1. PSSH – Párhuzamos SSH

A Parallel-SSH egy nyílt forráskódú, gyors és könnyen használható, parancssori alapú Python eszközkészlet, amely számos Linux rendszeren párhuzamosan futtatja az ssh-t. Számos eszközt tartalmaz különféle célokra, például parallel-ssh, parallel-scp, parallel-rsync, parallel-slurp és >parallel-nuke (további információért olvassa el egy adott eszköz kézikönyvoldalát).

A parallel-ssh telepítéséhez először telepítenie kell a PIP programot Linux rendszerére.

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+

Ezután telepítse a parallel-ssh fájlt a pip használatával az alábbiak szerint.

sudo pip install parallel-ssh

Ezután adja meg az SSH-porttal rendelkező távoli Linux-kiszolgáló gazdagépnevét vagy IP-címét egy hosts nevű fájlban (bármilyen nevet adhat):

vim hosts
192.168.0.10:22
192.168.0.11:22
192.168.0.12:22

Mentse el a fájlt és zárja be.

Most futtassa a parallel-ssh parancsot, adja meg a hosts fájlt a -h kapcsolóval, és egy parancs(oka)t, amely az összes megadott szerveren végrehajtódik. A -i jelző az std output és az std error megjelenítését jelenti, amint a parancs végrehajtása az egyes szervereken befejeződik.

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

Érdemes még megnézni: Több parancs futtatása több Linux-kiszolgálón

2. Pdsh – Parallel Remote Shell Utility

A Pdsh egy nyílt forráskódú, egyszerű párhuzamos távoli shell-eszköz, amellyel egyszerre több Linux-kiszolgálón is végrehajthat parancsokat. A távoli parancsok végrehajtásához egy csúszó szálablakot alkalmaz.

A Pdsh telepítéséhez Linuxos gépein futtassa az alábbi megfelelő parancsot.

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

Ha több kiszolgálón szeretne parancsokat futtatni, adja hozzá a kiszolgálókat egy hosts fájlhoz a korábban leírtak szerint. Ezután futtassa a pdsh programot az ábra szerint; a -w jelző a hosts fájl megadására, a -R pedig a távoli parancsmodul megadására (a rendelkezésre álló távoli parancsmodulok közé tartozik az ssh, rsh, exec, a alapértelmezett az rsh).

Vegye figyelembe a hosts fájl előtti ^-t.

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

Abban az esetben, ha nem ad meg a parancssorban végrehajtandó távoli parancsot, a fentiek szerint, a pdsh interaktív módon fut, parancsokat kérve, és lefutva, ha kocsivisszaküldéssel fejeződik be. További információkért lásd a pdsh man oldalt:

man pdsh 

3. ClusterSSH

A ClusterSSH egy parancssori eszköz több szerver fürtjének egyidejű adminisztrálására. Elindít egy adminisztrációs konzolt és egy xterm-et az összes megadott kiszolgálón, lehetővé téve, hogy mindegyiken ugyanazt a parancsot futtassa.

A clusterssh használatához először telepítse a helyi Linux-számítógépére az ábra szerint.

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

Most, hogy telepítette, nyisson meg egyszerre egy felügyeleti konzolt és egy xtermet a távoli szervereken, az alábbiak szerint. Egy parancs futtatásához az összes kiszolgálón kattintson az xterm beviteli sávra, és írja be a parancsot; egyetlen gazdagép kezeléséhez használja a felügyeleti konzolját.

clusterssh linode cserver contabo
OR
clusterssh username@server1 username@server2 username@server3 

További információkért lásd a clusterssh kézikönyvoldalát:

man clusterssh

4. Lehetséges

Az Ansible egy nyílt forráskódú és népszerű eszköz az IT-folyamatok automatizálására. Rendszerek konfigurálására és kezelésére, alkalmazások telepítésére és még sok másra használják.

Az Ansible Linux rendszerekre történő telepítéséhez futtassa az alábbi megfelelő parancsot:

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

Az ansible telepítése után hozzáadhatja szervere gazdagépneveit vagy IP-címeit az /etc/anasible/hosts fájlhoz.

sudo vim /etc/anasible/hosts

Adja meg őket csoportokban, például webszerverek.

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

Mentse el a fájlt és zárja be.

A fenti hosts konfigurációs fájlban az üzemidő és a webszerver csoportban megadott összes szerverhez kapcsolódó felhasználók ellenőrzéséhez egyszerűen futtassa a lehetséges parancssori eszközt az alábbiak szerint.

A -a paraméterek a modulnak átadandó argumentumok megadására szolgálnak, a -u jelző pedig az alapértelmezett felhasználónevet adja meg a távoli szerverekhez való csatlakozáshoz. SSH-n keresztül.

Vegye figyelembe, hogy az ansible CLI eszköz legfeljebb egyetlen parancs végrehajtását teszi lehetővé.

ansible webservers -a "w " -u admin

Ez minden! Ebben a cikkben elmagyaráztuk, hogyan lehet parancsokat futtatni több távoli Linux-kiszolgálón egyidejűleg széles körben használt eszközök segítségével. Ha tud olyan eszközöket, amelyek ugyanerre a célra használhatók, és amelyeket ebben a cikkben nem tartalmaztunk, tudassa velünk az alábbi megjegyzés űrlapon keresztül.