Administrere flere Linux-servere med ClusterSSH


Hvis du er en Linux-system administrator, er sjansen stor for at du har mer enn én maskin som du er ansvarlig for på daglig basis. Du kan også ha en bank av maskiner som du opprettholder som ligner – en gård på webservere, for eksempel. Hvis du har behov for å skrive den samme kommandoen inn flere maskiner samtidig, kan du logge inn på hver enkelt med SSH og gjøre det serielt, eller du kan spare deg for masse tid og krefter og bruke et verktøy som ClusterSSH. Anmeldelser

ClusterSSH er en Tk /Perl wrapper rundt standard Linux-verktøy som xterm og SSH. Som sådan, vil det kjøres på omtrent alle POSIX-kompatible OS der bibliotekene eksisterer – Jeg har kjørt den på Linux, Solaris og Mac OS X. Det krever Perl bibliotekene Tk (perl-tk på Debian eller Ubuntu) og X11 :: Protocol (libx11-protokoll-perl på Debian eller Ubuntu), i tillegg til . xterm og OpenSSH

Installasjon

Installere ClusterSSH på en Debian eller Ubuntu system er trivielt – en enkel sudo apt-get install clusterssh vil installere den og dens avhengigheter. Det er også pakket for bruk med Fedora, og det kan installeres via porter system på FreeBSD. Det er også en MacPorts versjon for bruk med Mac OS X, hvis du bruker en Apple-maskin. Selvfølgelig kan det også være kompilert fra kildekode

Konfigurering

ClusterSSH kan konfigureres enten via sin globale konfigurasjonsfilen &mdash.; /etc /klynger, eller via en fil i brukerens hjemmekatalog kalt .csshrc. Jeg har en tendens til å favorisere den brukernivå konfigurasjon som som lar flere personer på samme system for å sette opp sin ClusterSSH klient som de velger. Konfigurasjonen er grei i begge tilfeller, som filformat er den samme. ClusterSSH definerer en " klynge " som en gruppe av maskiner som du ønsker å styre via ett grensesnitt. Med det i tankene, nummerere du dine klynger på toppen av filen i en " klynger " blokk, og deretter beskrive hver klynge i et eget avsnitt nedenfor.

For eksempel, la oss si at jeg har fått to klynger, som hver består av to maskiner. " Cluster1 " har maskinene " Test1 " og " Test2 " i det, og " Cluster2 " har maskinene " Test3 " og " Test4 " i det. Den ~ .csshrc (eller /etc /klynger) kontroll fil vil se slik ut:

klynger = cluster1 cluster2 cluster1 = test1 test2 cluster2 = test3 test4

Du kan også lage meta-klynger – klynger som refererer til klynger. Hvis du ønsket å lage en klynge kalt " alle " som omfattet alle maskinene, kan du definere det to måter. Først, kan du bare opprette en klynge som holdt alle maskinene, som følgende:

klynger = cluster1 cluster2 all cluster1 = test1 test2 cluster2 = test3 test4 alle = test1 test2 test3 test4

Men , er min foretrukne metode å bruke en meta-klynge som omfatter de andre klyngene:

klynger = cluster1 cluster2 all cluster1 = test1 test2 cluster2 = test3 test4 alt = cluster1 cluster2


< p> Ved å ringe ut " alle " klynge som inneholder cluster1 og cluster2, hvis noen av disse klyngene stadig endres, er endringen registreres automatisk, slik at du ikke trenger å oppdatere " alle " definisjon. Dette vil spare deg for tid og hodepine hvis .csshrc fil stadig vokser i størrelse.

Bruke ClusterSSH

Ved hjelp ClusterSSH ligner lansere SSH av seg selv. Bare kjører cssh l < bruker > < clustername > vil lansere ClusterSSH og logg deg inn som ønsket brukernavn på at klyngen. I figuren under, kan du se jeg har logget inn på " cluster1 " som meg selv. Det lille vinduet merket " CSSH [2] " er den Cluster SSH konsollen vinduet. Alt jeg skriver inn i det lille vinduet blir ekko til alle maskinene i klyngen – i dette tilfellet, maskiner " test1 " og " test2 ". I en klemme, kan du også logge inn på maskiner som ikke er i din .csshrc fil, ganske enkelt ved å kjøre cssh l < bruker > < machinename1 > < machinename2 > < machinename3 >.

Hvis jeg ønsker å sende noe til en av terminalene, jeg kan bare bytte fokus ved å klikke i ønsket xterm, og du bare inn i det vinduet som jeg vanligvis ville gjort. ClusterSSH har noen menyelementer som virkelig hjelper når du arbeider med en blanding av maskiner. Pr figuren under, i " verter " menyen i ClusterSSH konsollen er det flere alternativer som kommer godt

". retile Windows " gjør bare at hvis du har manuelt endret størrelse eller flyttes noe. " Legg verten (e) eller Cluster (s) " er flott hvis du ønsker å legge til et annet sett med maskiner eller en annen klynge til driften ClusterSSH økten. Til slutt, vil du se hver vert oppført på bunnen av " verter " meny. Ved å kontrollere eller fjerne krysset i boksene ved siden av hvert vertsnavn, kan du velge som huser ClusterSSH konsollen vil ekko kommandoer til. Dette er nyttig hvis du ønsker å utelukke en vert eller to for en one-off eller spesiell grunn. Den endelige menyvalget som er kjekt å ha er under " Send " menyen, kalt " Verts ". Dette gjenspeiler bare hver maskinens vertsnavn i kommandolinjen, noe som kan være praktisk hvis du konstruere noe vertsspesifikk tvers av klyngen.



Advarsler med ClusterSSH

Som mange UNIX-verktøy, har ClusterSSH potensial til å gå fryktelig galt hvis du er ikke veldig
forsiktig med bruken. Jeg har sett ClusterSSH feil å ta ut en hel tier av webservere bare ved å spre en skrivefeil i en Apache-konfigurasjonen. Å ha tilgang til flere maskiner samtidig, muligens som en privilegert bruker, betyr feilene kommer til en god pris. Ta vare, og dobbeltsjekke hva du gjør før du punch at Enter-tasten.

Konklusjon

ClusterSSH er ikke en erstatning for å ha en konfigurasjonsstyring system eller noen av de andre beste praksis når du administrerer en rekke maskiner. Men hvis du trenger å gjøre noe i en klype utenfor ditt vanlige verktøysett eller prosess, eller hvis du gjør prototype arbeid, er ClusterSSH uunnværlig. Det kan spare mye tid når du gjør oppgaver som må gjøres på mer enn én maskin, men som noen makt verktøyet, kan det forårsake mye skade hvis de brukes på måfå. Anmeldelser