Benotzt DSH (Verdeelt Shell) fir Linux Kommandoen iwwer verschidde Maschinnen auszeféieren


System Administrateuren wëssen all ze gutt d'Wichtegkeet fir vill Maschinnen a kuerzer Zäit ze iwwerwaachen an ze verwalten, a léiwer mat sou wéineg wéi méiglech ronderëm lafen. Egal ob et e klengt Cloud-Ëmfeld ass, oder en enorme Servercluster, d'Fäegkeet fir Computer zentral ze managen ass essentiell.

Fir dëst deelweis z'erreechen, wäert ech Iech weisen wéi Dir e klengt klengt Tool mam Numm DSH benotzt deen e Benotzer erlaabt Kommandoen iwwer verschidde Maschinnen auszeféieren.

Liest och: Pssh - Kommandoen ausféieren op Multiple Remote Linux Server

Wat ass DSH?

DSH ass kuerz fir Distributed Shell oder Dancer's Shell et ass fräi verfügbar op de meescht gréisser Verdeelunge vu Linux, awer kann einfach aus der Quell gebaut ginn wann Är Verdeelung et net a sengem Package Repository bitt. Dir kënnt d'Quell kréien op.

  1. http://www.netfort.gr.jp/~dancer/software/dsh.html.en

Installéiert DSH (Distributed Shell) op Linux

Mir iwwerhuelen en Debian/Ubuntu Ëmfeld fir den Ëmfang vun dësem Tutorial. Wann Dir eng aner Verdeelung benotzt, ersetzt w.e.g. déi entspriechend Befehle fir Äre Package Manager.

Als éischt, loosst eis de Package iwwer apt installéieren:

$ sudo apt-get install dsh

Dës Method ass fir déi, déi net Debian benotzen, a wëllen et aus Quell tar Bäll ze kompiléieren. Als éischt musst Dir libdshconfig kompiléieren an installéieren.

# wget http://www.netfort.gr.jp/~dancer/software/downloads/libdshconfig-0.20.10.cvs.1.tar.gz
# tar xfz libdshconfig*.tar.gz 
# cd libdshconfig-*
# ./configure ; make
# make install

Dann kompiléieren dsh an installéieren.

# wget http://www.netfort.gr.jp/~dancer/software/downloads/dsh-0.22.0.tar.gz
# tar xfz dsh-0.22.0.tar.gz
# cd dsh-*
# ./configure ; make 
# make install

D'Haaptkonfiguratiounsdatei /etc/dsh/dsh.conf (Fir Debian) an /usr/local/etc/dsh.conf (fir Red Hat) ass zimlech einfach, awer well rsh en onverschlësselte Protokoll ass, si mir SSH als Remote Shell ze benotzen. Benotzt den Texteditor vun Ärer Wiel, fannt dës Linn:

remoteshell =rsh

An änneren et op:

remoteshell =ssh

Et ginn aner Optiounen déi Dir hei passéiere kënnt, wann Dir dat maacht, an et gi vill vun hinnen op der dsh Man Säit ze fannen. Fir de Moment wäerte mir d'Defaults akzeptéieren an déi nächst Datei kucken, /etc/dsh/machines.list (fir Debian).

Fir Red Hat baséiert Systemer musst Dir e Fichier mam Numm machines.list am /usr/local/etc/ Verzeechnes erstellen.

D'Syntax hei ass zimlech einfach. Alles wat Dir maache musst ass d'Umeldungsinformatioune vun enger Maschinn (Hostnumm, IP Adress oder FQDN) eng pro Zeil anzeginn.

Bemierkung: Wann Dir op méi wéi eng Maschinn gläichzäiteg Zougang hutt, musst Dir Schlësselbaséiert Passwuert-manner SSH op all Äre Maschinnen astellen. Dëst bitt net nëmmen Zougänglechkeet, awer Sécherheetsweis, et härert Är Maschinn och.

Meng /etc/dsh/machines.list oder /usr/local/etc/machines.list Datei seet:

172.16.25.125
172.16.25.126

Wann Dir an d'Umeldungsinformatioune vun de Maschinnen aginn hutt, op déi Dir Zougang wëllt, loosst eis en einfache Kommando ausféieren wéi Uptime op all Maschinnen.

$ dsh –aM –c uptime
172.16.25.125: 05:11:58 up 40 days, 51 min, 0 users, load average: 0.00, 0.01, 0.05
172.16.25.126: 05:11:47 up 13 days, 38 min, 0 users, load average: 0.00, 0.01, 0.05

Also wat huet dëse Kommando gemaach?

Zimlech einfach. Als éischt hu mir dsh gelaf an d'Optioun –a weiderginn, wat seet, de Kommando Uptime op ALL vun de Maschinnen ze schécken, déi an /etc/dsh/machines.list opgezielt sinn.

Als nächst hu mir d'Optioun –M spezifizéiert, déi seet den Maschinnnumm zréckzebréngen (spezifizéiert an /etc/dsh/machines.list) zesumme mam Ausgang vum Uptime Kommando. (Ganz nëtzlech fir ze sortéieren wann Dir e Kommando op enger Zuel vu Maschinnen leeft.)

D'Optioun –c steet fir Kommando fir auszeféieren an dësem Fall, Uptime.

DSH kann och mat Gruppe vu Maschinnen an der /etc/dsh/groups/ Datei konfiguréiert ginn, wou e Fichier mat enger Lëscht vu Maschinnen am selwechte Format wéi d'/etc/dsh/machines.list Datei ass. Wann Dir dsh op enger Grupp leeft, gitt de Gruppnumm no der -g Optioun.

Fir Red Hat baséiert Systemer musst Dir en Dossier mam Numm Gruppen am /usr/local/etc/ Verzeechnes erstellen. An deem Gruppen Verzeechnes erstellt Dir eng Datei mam Numm Cluster.

Zum Beispill, lafen de Kommando w op all Maschinnen, déi an der Cluster Gruppedatei /etc/dsh/groups/cluster oder /usr/local/etc/groups/cluster opgezielt sinn.

$ dsh –M –g cluster –c w

DSH bitt vill méi Flexibilitéit, an dësen Tutorial kraazt nëmmen d'Uewerfläch. Niewent der Ausféierung vun Befehle kann DSH benotzt ginn fir Dateien ze transferéieren, Software z'installéieren, Routen derbäi ze ginn, a vill méi.

Fir e System Administrator deen d'Verantwortung vun engem grousse Netzwierk huet, ass et wäertvoll.