Kutumia DSH (Shell Iliyosambazwa) kutekeleza Amri za Linux Katika Mashine Nyingi


Wasimamizi wa Mifumo wanajua vyema umuhimu wa kuwa na uwezo wa kufuatilia na kusimamia mashine nyingi kwa muda mfupi, na ikiwezekana, kwa kukimbia kidogo iwezekanavyo. Iwe ni mazingira madogo ya wingu, au kundi kubwa la seva, uwezo wa kudhibiti kompyuta katikati ni muhimu.

Ili kukamilisha hili, nitakuonyesha jinsi ya kutumia zana ndogo ndogo inayoitwa DSH ambayo inaruhusu mtumiaji kutekeleza amri juu ya mashine nyingi.

Soma Pia: Pssh - Tekeleza Amri kwenye Seva Nyingi za Mbali za Linux

DSH ni nini?

DSH ni kifupi cha \Shell Distributed au \Dancer's Shell inapatikana bila malipo kwenye usambazaji mkubwa zaidi wa Linux, lakini inaweza kujengwa kwa urahisi kutoka kwa chanzo ikiwa usambazaji wako hautoi katika hazina yake ya kifurushi. Unaweza kupata chanzo kwa.

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

Sakinisha DSH (Shell Iliyosambazwa) kwenye Linux

Tutachukua mazingira ya Debian/Ubuntu kwa upeo wa mafunzo haya. Ikiwa unatumia usambazaji mwingine, tafadhali badilisha amri zinazofaa kwa kidhibiti kifurushi chako.

Kwanza, wacha tusakinishe kifurushi kupitia apt:

$ sudo apt-get install dsh

Njia hii ni ya wale ambao hawatumii Debian, na wanataka kuikusanya kutoka kwa mipira ya lami ya chanzo. Kwanza unahitaji kukusanya libdshconfig na usakinishe.

# 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

Kisha kusanya dsh na usakinishe.

# 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

Faili kuu ya usanidi /etc/dsh/dsh.conf (Kwa Debian) na /usr/local/etc/dsh.conf (ya Red Hat) ni moja kwa moja, lakini kwa kuwa rsh ni itifaki ambayo haijasimbwa, sisi ni kwenda kutumia SSH kama ganda la mbali. Kwa kutumia kihariri cha maandishi ulichochagua, pata mstari huu:

remoteshell =rsh

Na ubadilishe kuwa:

remoteshell =ssh

Kuna chaguzi zingine unaweza kupitisha hapa, ikiwa utachagua kufanya hivyo, na kuna mengi yao ya kupata kwenye ukurasa wa dsh man. Kwa sasa, tutakubali chaguo-msingi na tutazame faili inayofuata, /etc/dsh/machines.list (kwa Debian).

Kwa mifumo ya msingi ya Red Hat unahitaji kuunda faili inayoitwa machines.list katika saraka ya /usr/local/etc/.

Syntax hapa ni rahisi sana. Anachopaswa kufanya ni kuingiza kitambulisho cha mashine (Jina la mwenyeji, Anwani ya IP, au FQDN) moja kwa kila mstari.

Kumbuka: Unapofikia zaidi ya mashine moja kwa wakati mmoja, itakubidi usanidi SSH isiyo na nenosiri-msingi kwenye mashine zako zote. Sio tu kwamba hii hutoa urahisi wa ufikiaji, lakini kwa busara ya usalama, inafanya mashine yako kuwa ngumu pia.

Faili yangu ya /etc/dsh/machines.list au /usr/local/etc/machines.list inasema:

172.16.25.125
172.16.25.126

Baada ya kuingiza kitambulisho cha mashine unazotaka kufikia, hebu tutekeleze amri rahisi kama \\uptime\\ kwa mashine zote.

$ 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

Kwa hivyo amri hii ilifanya nini?

Rahisi sana. Kwanza, tuliendesha dsh na kupitisha chaguo la -a kwake, ambalo linasema kutuma amri ya uptime kwa ZOTE za mashine zilizoorodheshwa katika /etc/dsh/machines.list.

Kisha, tulibainisha chaguo la -M, ambalo linasema kurudisha jina la mashine (iliyoainishwa katika /etc/dsh/machines.list) pamoja na matokeo ya amri ya uptime. (Inafaa sana kwa kupanga wakati wa kuendesha amri kwenye idadi ya mashine.)

Chaguo la -c linasimama kwa amri ya kutekelezwa katika kesi hii, uptime.

DSH pia inaweza kusanidiwa na vikundi vya mashine katika faili ya /etc/dsh/groups/, ambapo kuna faili iliyo na orodha ya mashine katika umbizo sawa na faili /etc/dsh/machines.list. Unapoendesha dsh kwenye kikundi, taja jina la kikundi baada ya chaguo la -g.

Kwa mifumo ya msingi ya Red Hat unahitaji kuunda folda inayoitwa vikundi katika saraka ya /usr/local/etc/. Katika saraka hiyo ya vikundi unaunda faili inayoitwa nguzo.

Kwa mfano, endesha amri ya w kwenye mashine zote zilizoorodheshwa katika faili ya kikundi /etc/dsh/groups/cluster au /usr/local/etc/groups/cluster.

$ dsh –M –g cluster –c w

DSH hutoa unyumbufu zaidi, na somo hili hukwaruza uso tu. Kando na kutekeleza amri, DSH inaweza kutumika kuhamisha faili, kusakinisha programu, kuongeza njia, na mengi zaidi.

Kwa Msimamizi wa Mifumo aliyepewa jukumu la mtandao mkubwa, ni muhimu sana.