ha Linux rendszergazda vagy, akkor valószínű, hogy több géped van, amelyért napi szinten felelős vagy. Lehet, hogy van egy bankja is, amelyet hasonló gépekkel tart fenn — például webszerverek farmja. Ha ugyanazt a parancsot egyszerre több gépre kell beírnia, akkor mindegyikbe bejelentkezhet SSH-val, és sorozatosan megteheti, vagy sok időt és erőfeszítést takaríthat meg magának, és használhat egy olyan eszközt, mint a ClusterSSH.
ClusterSSH egy tk/Perl wrapper körül szabványos Linux eszközök, mint az xterm és SSH. Mint ilyen, majdnem minden POSIX-kompatibilis operációs rendszeren fut, ahol a könyvtárak léteznek — Linuxon, Solarison és Mac OS X-en futtattam.az xterm és az OpenSSH mellett a Perl libraries Tk (perl-tk
Debian vagy Ubuntu esetén) és az X11::Protocol (libx11-protocol-perl
Debian vagy Ubuntu esetén) szükséges.
telepítés
a ClusterSSH telepítése Debian vagy Ubuntu rendszerre triviális — egy egyszerű sudo apt-get install clusterssh
telepíti azt és a függőségeit. A Fedorával való használatra is be van csomagolva, és a FreeBSD portrendszerén keresztül telepíthető. Van egy MacPorts verzió is a Mac OS X használatához, Ha Apple gépet használ. Természetesen forrásból is összeállítható.
Configuration
ClusterSSH konfigurálható akár a globális konfigurációs fájl — /etc/clusters
, vagy egy fájlt a felhasználó saját könyvtárában nevű .csshrc
. Inkább a felhasználói szintű konfigurációt részesítem előnyben, mivel ez lehetővé teszi, hogy ugyanazon a rendszeren több ember beállítsa a ClusterSSH kliensét, ahogy választja. A konfiguráció mindkét esetben egyszerű, mivel a fájlformátum ugyanaz. A ClusterSSH a “fürtöt” olyan gépek csoportjaként határozza meg, amelyeket egy interfészen keresztül szeretne vezérelni. Ezt szem előtt tartva felsorolja a fürtöket a fájl tetején egy “klaszterek” blokkban, majd az egyes fürtöket külön szakaszban írja le.
tegyük fel például, hogy két klaszterem van, mindegyik két gépből áll. A ” Cluster1 “a” Test1 “és a” Test2 “gépeket tartalmazza, a” Cluster2 “pedig a” Test3 “és a” Test4 ” gépeket tartalmazza. A ~.csshrc
(vagy /etc/clusters
) vezérlőfájl így néz ki:
clusters = cluster1 cluster2
cluster1 = test1 test2
cluster2 = test3 test4
meta-klasztereket is készíthet — klasztereket, amelyek klaszterekre utalnak. Ha EGY “minden” nevű klasztert szeretne létrehozni, amely magában foglalja az összes gépet, akkor kétféleképpen határozhatja meg. Először egyszerűen létrehozhat egy fürtöt, amely az összes gépet tartalmazza, például a következőket:
clusters = cluster1 cluster2 all
cluster1 = test1 test2
cluster2 = test3 test4
all = test1 test2 test3 test4
azonban a preferált módszer az, hogy egy meta-klaszter, amely magában foglalja a többi klaszterek:
clusters = cluster1 cluster2 all
cluster1 = test1 test2
cluster2 = test3 test4
all = cluster1 cluster2
a cluster1-et és a cluster2-t tartalmazó “all” fürt meghívásával, ha bármelyik klaszter megváltozik, a módosítás automatikusan rögzítésre kerül, így nem kell frissítenie az “all” definíciót. Ez időt takarít meg, és a fejfájás, ha a .csshrc fájl egyre növekszik a mérete.
a ClusterSSH
használata ClusterSSH hasonló indít SSH önmagában. A cssh -l <username> <clustername>
futtatása elindítja a ClusterSSH-t, és bejelentkezik a kívánt felhasználóként a fürtön. Az alábbi ábrán láthatja, hogy magamként jelentkeztem be a “cluster1” – be. A “CSSH” feliratú kis ablak a fürt SSH konzolablak. Bármi, amit beírok ebbe a kis ablakba, visszhangzik a klaszter összes gépéhez — ebben az esetben a “test1” és a “test2″gépekhez. Egy csipetnyi, akkor is be a gépeket, amelyek nem a .csshrc fájl, egyszerűen a cssh -l <username> <machinename1> <machinename2> <machinename3>
futtatásával.
ha el akarok küldeni valamit az egyik terminálra, egyszerűen átkapcsolhatom a fókuszt a kívánt XTerm-re kattintva, és csak beírom azt az ablakot, mint általában. A ClusterSSH-nak van néhány menüpontja, amelyek valóban segítenek a gépek keverékének kezelésében. Az alábbi ábra szerint a ClusterSSH konzol” Hosts ” menüjében számos lehetőség áll rendelkezésre.
a”Retile Windows” csak ezt teszi, ha manuálisan átméretezett vagy áthelyezett valamit. A” gazdagép(ek) vagy fürt(ek) hozzáadása ” nagyszerű, ha egy másik gépkészletet vagy egy másik fürtöt szeretne hozzáadni a futó ClusterSSH munkamenethez. Végül látni fogja az egyes gazdagépeket a “Hosts” menü alján. Az egyes gazdagépnevek melletti négyzetek bejelölésével vagy törlésével kiválaszthatja, hogy a ClusterSSH konzol mely házigazdáknak visszhangozza a parancsokat. Ez akkor hasznos, ha egyszeri vagy különleges okból ki akar zárni egy-két gazdagépet. Az utolsó menüopció, amely jó, a “Küldés” menü alatt található, az úgynevezett “Hostname”. Ez egyszerűen visszhangozza az egyes gépek gazdagépnevét a parancssorba, ami hasznos lehet, ha valami gazdagép-specifikusat épít a fürtön.
figyelmeztetések a ClusterSSH
mint sok UNIX eszközök, ClusterSSH megvan a lehetősége, hogy menjen rettenetesen félresikerült, ha nem nagyon óvatos a használatát. Láttam, hogy a ClusterSSH hibák a webszerverek teljes szintjét kiveszik, egyszerűen azáltal, hogy egy Apache konfigurációban elírást terjesztenek. Ha egyszerre több géphez fér hozzá, esetleg kiváltságos felhasználóként, azt jelenti, hogy a hibák nagy költségekkel járnak. Vigyázzon, és ellenőrizze még egyszer, mit csinál, mielőtt megütné az Enter billentyűt.
következtetés
a ClusterSSH nem helyettesíti a konfigurációkezelő rendszert vagy bármely más bevált gyakorlatot számos gép kezelése során. Azonban, ha meg kell tennie valamit egy csipetnyi kívül a szokásos eszközkészlet vagy folyamat, vagy ha csinálsz prototípus munka, ClusterSSH elengedhetetlen. Sok időt takaríthat meg, ha olyan feladatokat végez, amelyeket egynél több gépen kell elvégezni, de mint minden elektromos szerszám, ez is sok kárt okozhat, ha véletlenszerűen használják.