Vyhledávání na webu

4 užitečné nástroje pro spouštění příkazů na více serverech Linux


V tomto článku si ukážeme, jak spouštět příkazy na více linuxových serverech současně. Vysvětlíme, jak používat některé z široce známých nástrojů určených k provádění opakovaných sérií příkazů na více serverech současně. Tato příručka je užitečná pro systémové administrátory, kteří obvykle musí denně kontrolovat stav více serverů Linux.

Pro účely tohoto článku předpokládáme, že již máte nastaveno SSH pro přístup ke všem vašim serverům a za druhé, když přistupujete na více serverů současně, je vhodné nastavit SSH bez hesla na všech vašich linuxových serverech. To především zvyšuje bezpečnost serveru a také umožňuje snadný přístup.

Přečtěte si také: Jak nakonfigurovat vlastní připojení SSH pro zjednodušení vzdáleného přístupu

1. PSSH – Paralelní SSH

Parallel-SSH je open source, rychlá a snadno použitelná sada nástrojů Pythonu založená na příkazovém řádku pro paralelní spouštění ssh na řadě systémů Linux. Obsahuje řadu nástrojů pro různé účely, jako jsou parallel-ssh, parallel-scp, parallel-rsync, parallel-slurp a parallel-nuke (pro více informací si přečtěte manuálovou stránku konkrétního nástroje).

Chcete-li nainstalovat parallel-ssh, musíte do systému Linux nejprve nainstalovat PIP.

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+

Poté nainstalujte parallel-ssh pomocí pip následovně.

sudo pip install parallel-ssh

Dále zadejte názvy hostitelů nebo IP adresy vzdáleného linuxového serveru s portem SSH do souboru s názvem hosts (můžete jej pojmenovat jakkoli):

vim hosts
192.168.0.10:22
192.168.0.11:22
192.168.0.12:22

Uložte soubor a zavřete jej.

Nyní spusťte parallel-ssh, určete soubor hosts pomocí volby -h a příkaz(y), který bude proveden na všech zadaných serverech. Příznak -i znamená zobrazení std výstupu a std error po dokončení provádění příkazu na každém serveru.

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

Měli byste se také podívat na: Jak spouštět více příkazů na více serverech Linux

2. Pdsh – Parallel Remote Shell Utility

Pdsh je open source, jednoduchý paralelní vzdálený shell nástroj pro spouštění příkazů na více serverech Linux současně. K provádění vzdálených příkazů využívá posuvné okno vláken.

Chcete-li nainstalovat Pdsh na počítače se systémem Linux, spusťte příslušný příkaz níže.

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

Chcete-li spouštět příkazy na více serverech, přidejte servery do souboru hostitelů, jak bylo vysvětleno výše. Poté spusťte pdsh podle obrázku; příznak -w se používá k určení souboru hostitelů a -R se používá k určení modulu vzdáleného příkazu (dostupné moduly vzdáleného příkazu zahrnují ssh, rsh, exec, výchozí je rsh).

Poznamenejte si ^ před souborem hosts.

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

V případě, že neurčíte vzdálený příkaz, který má být proveden na příkazovém řádku, jak je uvedeno výše, pdsh se spustí interaktivně, vyzve vás k zadání příkazů a spustí je po ukončení s návratem vozíku. Další informace naleznete na manuálové stránce pdsh:

man pdsh 

3. ClusterSSH

ClusterSSH je nástroj příkazového řádku pro správu clusterů více serverů současně. Spustí administrátorskou konzoli a xterm na všechny zadané servery, což vám umožní spustit stejný příkaz na všech z nich.

Chcete-li použít clusterssh, začněte jeho instalací do místního počítače se systémem Linux, jak je znázorněno na obrázku.

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

Nyní, když jej máte nainstalovaný, otevřete administrátorskou konzoli a xterm na vzdálených serverech najednou následovně. Chcete-li spustit příkaz na všech serverech, klikněte na vstupní lištu xterm a zadejte příkaz; pro správu jednoho hostitele použijte jeho administrátorskou konzoli.

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

Další informace najdete na manuálové stránce clusterssh:

man clusterssh

4. Ansible

Ansible je open source a oblíbený nástroj pro automatizaci IT procesů. Používá se pro konfiguraci a správu systémů, nasazování aplikací a mnoho dalšího.

Chcete-li nainstalovat Ansible na systémy Linux, spusťte příslušný příkaz níže:

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

Jakmile nainstalujete ansible, můžete přidat názvy hostitelů nebo IP adresy svého serveru do souboru /etc/anasible/hosts.

sudo vim /etc/anasible/hosts

Zadejte je do skupin, např. webové servery.

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

Uložte soubor a zavřete jej.

Chcete-li nyní zkontrolovat dobu provozu a uživatele připojené ke všem serverům uvedeným ve skupině webserver, v konfiguračním souboru hostitelů výše jednoduše spusťte nástroj příkazového řádku ansible následovně.

Volby -a se používají k určení argumentů, které se mají předat modulu, a příznak -u určuje výchozí uživatelské jméno pro připojení ke vzdáleným serverům. přes SSH.

Všimněte si, že nástroj ansible CLI umožňuje provést maximálně pouze jeden příkaz.

ansible webservers -a "w " -u admin

To je vše! V tomto článku jsme vysvětlili, jak spouštět příkazy na více vzdálených linuxových serverech současně pomocí široce používaných nástrojů. Pokud víte o nějakých nástrojích se stejným účelem, které jsme nezahrnuli do tohoto článku, dejte nám vědět prostřednictvím formuláře komentáře níže.