DSH (Distributed Shell) kasutamine Linuxi käskude käitamiseks mitme masina vahel


Süsteemiadministraatorid teavad liiga hästi, kui oluline on jälgida ja hallata arvukalt masinaid lühikese aja jooksul ja eelistatavalt võimalikult vähe ringi liikudes. Ükskõik, kas tegemist on väikese pilvekeskkonnaga või tohutu serveriklastriga, on oskus arvuteid tsentraalselt hallata.

Selle osaliseks saavutamiseks näitan teile, kuidas kasutada suurepärast väikest tööriista nimega DSH, mis võimaldab kasutajal käske käivitada mitmel masinal.

Loe ka: Pssh - käskude käivitamine mitmel Linuxi kaugserveril

Mis on DSH?

DSH on lühend lühendist “Distributed Shell” või “Dancer’s Shell”, see on vabalt saadaval enamikes Linuxi suuremates distributsioonides, kuid selle saab hõlpsasti ehitada ka allikast, kui teie levitamine seda oma paketihoidlas ei paku. Allika saate aadressilt.

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

Installige DSH (Distributed Shell) Linuxi

Selle õpetuse ulatuses eeldame Debiani/Ubuntu keskkonda. Kui kasutate mõnda muud levitamist, asendage palun oma paketihalduri käsud.

Kõigepealt installime paketi apt kaudu:

$ sudo apt-get install dsh

See meetod on mõeldud neile, kes ei kasuta Debiani ja soovivad selle kompileerida lähtekõrva pallidest. Kõigepealt peate kompileerima "libdshconfig" ja installima.

# 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

Seejärel kompileerige dsh ja installige.

# 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

Põhiline konfiguratsioonifail “/etc/dsh/dsh.conf” (Debiani jaoks) ja “/usr/local/etc/dsh.conf” (Red Hati jaoks) on üsna lihtne, kuid kuna rsh on krüptimata protokoll, oleme hakatakse SSH-d kasutama kaugkestana. Valige valitud tekstiredaktori abil see rida:

remoteshell =rsh

Ja muutke see järgmiseks:

remoteshell =ssh

Siin on ka muid võimalusi, mida saate siin sisestada, kui otsustate seda teha, ja neid on palju leida dsh man lehelt. Praegu nõustume vaikeseadetega ja vaatame järgmist faili /etc/dsh/machines.list (Debiani jaoks).

Red Hat'i põhiste süsteemide jaoks peate looma kataloogi// usr/local/etc/faili nimega "machines.list".

Süntaks on siin üsna lihtne. Kõik, mida peate tegema, on sisestada masina mandaat (hostinimi, IP-aadress või FQDN) üks rida.

Märkus. Kui kasutate korraga rohkem kui ühte masinat, peaksite kõigil oma masinatel seadistama võtmepõhise paroolivaba SSH. See ei paku mitte ainult juurdepääsu hõlbustamist, vaid ka turvalisuse huvides, see karastab ka teie masinat.

Minu fail „/etc/dsh/machines.list” või „/usr/local/etc/machines.list” ütleb:

172.16.25.125
172.16.25.126

Kui olete sisestanud masinate volitused, millele soovite juurde pääseda, käivitame kõigile masinatele lihtsa käsu, näiteks\"uptime \".

$ 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

Mida see käsk siis tegi?

Päris lihtne. Kõigepealt käivitasime dsh ja edastasime sellele valiku „–a”, mis ütleb, et tuleb saata käsk „uptime” kõigile „/etc/dsh/machines.list” loetletud masinatele.

Järgmisena täpsustasime valiku „–M”, mis ütleb, et tagastatakse „masina nimi” (määratletud jaotises „/etc/dsh/machines.list“) koos käsu uptime väljundiga. (Väga kasulik sortimiseks, kui käsku käivitatakse mitmel masinal.)

Valik “–c” tähistab käsku, mida tuleb täita, antud juhul “uptime”.

DSH-d saab konfigureerida ka masinate rühmadega failis “/ etc/dsh/groups /”, kus on fail, milles on masinate loend, mis on samas vormingus failiga “/etc/dsh/machines.list”. Dsh-i käivitamisel rühmas määrake rühma nimi pärast valikut “-g”.

Red Hat'i põhiste süsteemide jaoks peate looma kataloogi/usr/local/etc/"kausta nimega" rühmad ". Selles gruppide kataloogis loote faili, mille nimi on klaster.

Näiteks käivitage käsk “w” kõigil masinatel, mis on loetletud grupi klastrifailis “/ etc/dsh/groups/cluster” või “/ usr/local/etc/groups/cluster”.

$ dsh –M –g cluster –c w

DSH pakub palju suuremat paindlikkust ja see õpetus ainult kriimustab pinda. Peale käskude täitmise saab DSH-d kasutada failide edastamiseks, tarkvara installimiseks, marsruutide lisamiseks ja palju muud.

Suure võrgu eest vastutava süsteemiadministraatori jaoks on see hindamatu.