Uporaba DSH (porazdeljene lupine) za zagon ukazov Linuxa v več napravah


Skrbniki sistemov dobro vedo, kako pomembno je nadzorovati in upravljati številne stroje v kratkem času in po možnosti s čim manj teka. Ne glede na to, ali gre za majhno okolje v oblaku ali ogromno strežniško skupino, je sposobnost centralnega upravljanja računalnikov bistvenega pomena.

Da bi to delno dosegel, vam bom pokazal, kako uporabljati čudovito majhno orodje DSH, ki uporabniku omogoča izvajanje ukazov na več strojih.

Preberite tudi: Pssh - Izvedite ukaze na več oddaljenih strežnikih Linux

Kaj je DSH?

DSH je okrajšava od\"Distributed Shell" ali\"Dancer's Shell", na voljo je v večini večjih distribucij Linuxa, vendar ga je mogoče zlahka zgraditi iz vira, če ga vaša distribucija ne ponuja v svojem skladišču paketov. Vir lahko dobite na.

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

Namestite DSH (porazdeljeno lupino) v Linux

Za obseg te vadnice bomo predvideli okolje Debian/Ubuntu. Če uporabljate drugo distribucijo, nadomestite ustrezne ukaze za upravitelja paketov.

Najprej namestimo paket prek apt:

$ sudo apt-get install dsh

Ta metoda je namenjena tistim, ki ne uporabljajo Debiana in ga želijo sestaviti iz izvornih tar kroglic. Najprej morate zbrati “libdshconfig” in ga namestiti.

# 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

Nato zberite dsh in namestite.

# 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

Glavna konfiguracijska datoteka "/etc/dsh/dsh.conf" (za Debian) in "/usr/local/etc/dsh.conf" (za Red Hat) je precej preprosta, toda ker je rsh nešifriran protokol, smo bo uporabil SSH kot oddaljeno lupino. Z izbranim urejevalnikom besedil poiščite to vrstico:

remoteshell =rsh

In ga spremenite v:

remoteshell =ssh

Če se za to odločite, lahko vnesete tudi druge možnosti, ki jih lahko najdete na strani z dsh man. Za zdaj bomo sprejeli privzete nastavitve in si ogledali naslednjo datoteko, /etc/dsh/machines.list (za Debian).

Za sisteme, ki temeljijo na Red Hat, morate v imeniku “/ usr/local/etc /” ustvariti datoteko z imenom “machines.list”.

Sintaksa tukaj je precej enostavna. Vse, kar morate storiti, je, da vnesete poverilnice naprave (ime gostitelja, naslov IP ali FQDN) eno na vrstico.

Opomba: Če hkrati dostopate do več naprav, bi morali na vseh vaših računalnikih nastaviti SSH brez gesla na podlagi ključa. To ne samo, da omogoča enostaven dostop, ampak tudi varnostno utrjuje vaš računalnik.

V datoteki »/etc/dsh/machines.list« ali »/usr/local/etc/machines.list« piše:

172.16.25.125
172.16.25.126

Ko vnesete poverilnice računalnikov, do katerih želite dostopati, zaženimo preprost ukaz, kot je \\ "uptime \\" za vse stroje.

$ 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

Torej, kaj je naredil ta ukaz?

Precej preprosto. Najprej smo zagnali dsh in mu predali možnost »–a«, ki pravi, da pošlje ukaz »uptime« na »ALL« naprav, naštetih v »/etc/dsh/machines.list«.

Nato smo določili možnost »–M«, ki pravi, da vrne »ime stroja« (določeno v »/etc/dsh/machines.list«) skupaj z izhodom ukaza za uptime. (Zelo uporabno za razvrščanje med izvajanjem ukaza na številnih strojih.)

Možnost „–c“ pomeni „ukaz, ki ga je treba izvršiti“, v tem primeru „uptime“.

DSH lahko nastavite tudi s skupinami strojev v datoteki “/ etc/dsh/groups /”, kjer je datoteka s seznamom naprav v enaki obliki kot datoteka “/etc/dsh/machines.list”. Ko zaženete dsh v skupini, določite ime skupine za možnostjo -g.

Za sisteme, ki temeljijo na Red Hat, morate v imeniku “/ usr/local/etc /” ustvariti mapo z imenom “groups”. V tem imeniku »groups« ustvarite datoteko z imenom »cluster«.

Na primer, zaženite ukaz “w” na vseh računalnikih, ki so navedeni v datoteki skupine “cluster” “/ etc/dsh/groups/cluster” ali “/ usr/local/etc/groups/cluster“.

$ dsh –M –g cluster –c w

DSH zagotavlja veliko večjo prilagodljivost in ta vadnica samo opraska površino. DSH lahko poleg izvrševanja ukazov uporabljate tudi za prenos datotek, namestitev programske opreme, dodajanje poti in še veliko več.

Za sistemskega skrbnika, zadolženega za odgovornost velikega omrežja, je to neprecenljivo.