DSH (Dancer's Shell) - Suorita komentoja useilla Linux-isännillä


Järjestelmänvalvojat ovat hyvin tietoisia siitä, kuinka tärkeää on pystyä valvomaan ja hallinnoimaan useita koneita lyhyessä ajassa, mieluiten vähäisellä fyysisellä liikkeellä. Olipa kyseessä pieni pilviympäristö tai suuri palvelinklusteri, tietokoneiden keskitetty hallinta on välttämätöntä.

Osittain tämän saavuttamiseksi aion näyttää sinulle, kuinka voit käyttää hienoa pientä työkalua nimeltä DSH (dancer's shell/distributed shell), jonka avulla käyttäjä voi suorittaa komentoja useissa koneissa.

Mikä on DSH?

DSH on lyhenne sanoista Distributed Shell tai Dancer's Shell, joka on ilmainen työkalu useimmissa Linux-jakeluissa, mutta se voidaan helposti rakennettava lähteestä, jos jakelusi ei sisällä sitä pakettivarastossaan.

Asenna DSH (Distributed Shell) Linuxiin

Tässä opetusohjelmassa oletetaan olevan Debian/Ubuntu-ympäristö. Jos käytät toista jakelua, korvaa paketinhallintasi sopivat komennot.

Debian-pohjaisissa jakeluissa voit asentaa DSH:n käyttämällä päätteen seuraavaa apt-komentoa.

sudo apt install dsh

RHEL-pohjaisissa jakeluissa se on käännettävä lähdetar-palloista, mutta ennen kuin teet niin, muista kääntää ja asentaa libdshconfig-kirjasto.

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
sudo make install

Käännä sitten dsh ja asenna.

wget https://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 
sudo make install

Kuinka käyttää DSH:ta Linuxissa

Päämääritystiedostot /etc/dsh/dsh.conf (Debianille) ja /usr/local/etc/dsh.conf >” (Red Hatille) on melko yksinkertaista, mutta koska rsh on salaamaton protokolla, aiomme käyttää SSH:ta etäkuorena.

Etsi tämä rivi valitsemallasi tekstieditorilla:

remoteshell =rsh

ja muuta se muotoon:

remoteshell =ssh

On muitakin vaihtoehtoja, jotka voit antaa tänne, jos valitset, ja niitä löytyy runsaasti dsh-man-sivulta. Toistaiseksi hyväksymme oletusasetukset ja katsomme seuraavaa tiedostoa, /etc/dsh/machines.list (Debianille).

Red Hat -pohjaisissa järjestelmissä sinun on luotava tiedosto nimeltä machines.list kohdassa /usr/local/etc/. hakemistosta.

Syntaksi tässä on melko helppoa. Sinun tarvitsee vain syöttää koneen tunnistetiedot (Isäntänimi, IP-osoite tai FQDN) yksi riviä kohden.

Huomaa: kun käytät useampaa kuin yhtä konetta samanaikaisesti, sinun kannattaa määrittää avainpohjainen salasanaton SSH kaikille koneillesi. Tämä ei ainoastaan tarjoa helpotusta käyttöön, vaan myös turvallisuuden kannalta koventaa konettasi.

Tiedostoni "/etc/dsh/machines.list" tai "/usr/local/etc/machines.list" sanoo:

172.16.25.125
172.16.25.126

Kun olet syöttänyt käytettävien koneiden tunnistetiedot, suoritetaan yksinkertainen komento, kuten käyttöaika kaikille koneille.

dsh -aM -c uptime

Näytetulos:

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

Joten, mitä "dsh"-komento tekee?

Melko yksinkertaista. Ensin suoritimme dsh:n ja välitimme sille vaihtoehdon "-a", joka käskee lähettämään "uptime"-komennon " >KAIKKI" /etc/dsh/machines.list -hakemistossa luetelluista koneista.

Seuraavaksi määritimme vaihtoehdon "-M", joka sanoo palauttavan "koneen nimen" (määritetty tiedostossa /etc/dsh/machines.list<“) yhdessä uptime-komennon tulosteen kanssa. (Erittäin hyödyllinen lajittelussa, kun komento suoritetaan useissa koneissa).

Vaihtoehto "-c" tarkoittaa "command to be executed", tässä tapauksessa "käyttöaika".

DSH voidaan myös määrittää koneryhmien kanssa tiedostossa "/etc/dsh/groups/", jossa on tiedosto, jossa on luettelo koneista samassa muodossa kuin /etc/dsh/machines.list-tiedosto. Kun dsh suoritetaan ryhmässä, määritä ryhmän nimi -g-vaihtoehdon jälkeen.

Red Hat -pohjaisissa järjestelmissä sinun on luotava kansio nimeltä groups /usr/local/etc/-hakemistoon. Luot tuohon ryhmät-hakemistoon tiedoston nimeltä klusteri.

Suorita esimerkiksi komento "w" kaikissa koneissa, jotka on lueteltu cluster-ryhmätiedostossa "/etc/dsh/groups/cluster " tai "/usr/local/etc/groups/cluster".

dsh -M -g cluster -c w

DSH tarjoaa paljon enemmän joustavuutta, ja tämä opetusohjelma vain naarmuttaa pintaa. Komentojen suorittamisen lisäksi DSH:lla voidaan siirtää tiedostoja, asentaa ohjelmistoja, lisätä reittejä ja paljon muuta.

Järjestelmänvalvojalle, joka vastaa suuresta verkosta, se on korvaamaton.