hvis Du Er En Linux-systemadministrator, er sjansen stor for at du har mer enn en maskin du er ansvarlig for på daglig basis. Du kan til og med ha en bank med maskiner som du opprettholder som ligner — en gård Med Webservere, for eksempel. Hvis du har behov for å skrive den samme kommandoen i flere maskiner samtidig, kan du logge inn på HVER ENKELT MED SSH og gjøre det serielt, eller du kan spare mye tid og krefter og bruke et verktøy som ClusterSSH.
ClusterSSH er En Tk/Perl wrapper rundt standard Linux verktøy som XTerm og SSH. 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-protocol-perl
På Debian eller Ubuntu), i tillegg til xterm og OpenSSH.
Installasjon
Installering Av ClusterSSH på Et Debian — eller Ubuntu-system er trivielt-en enkel sudo apt-get install clusterssh
vil installere den og dens avhengigheter. Den er også pakket for Bruk Med Fedora, og den kan installeres via portsystemet På FreeBSD. Det finnes Også En MacPorts-versjon for Bruk Med Mac OS X, hvis Du bruker En Apple-maskin. Selvfølgelig kan det også kompileres fra kilde.
Konfigurasjon
ClusterSSH kan konfigureres enten via sin globale konfigurasjonsfil – /etc/clusters
, eller via en fil i brukerens hjemmekatalog kalt .csshrc
. Jeg pleier å favorisere brukernivåkonfigurasjonen, da det lar flere personer på samme system sette Opp Sin Clustersh-klient som de velger. Konfigurasjonen er grei i begge tilfeller, da filformatet er det samme. ClusterSSH definerer en «klynge» som en gruppe maskiner som du vil kontrollere via ett grensesnitt. Med det i tankene, nummererer du klyngene dine øverst i filen i en» klynger » – blokk, og deretter beskriver du hver klynge i en egen seksjon nedenfor.
la oss for eksempel si at jeg har to klynger, hver bestående av to maskiner. «Cluster1» har maskinene «Test1» og «Test2» i den, og «Cluster2» har maskinene «Test3» og «Test4» i den. Kontrollfilen ~.csshrc
(eller /etc/clusters
) vil se slik ut:
clusters = 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 på to måter. Først kan du bare lage en klynge som holdt alle maskinene, som følgende:
clusters = cluster1 cluster2 all
cluster1 = test1 test2
cluster2 = test3 test4
alle = test1 test2 test3 test4
min foretrukne metode er imidlertid å bruke en meta-klynge som omfatter de andre klyngene:
clusters = cluster1 cluster2 all
cluster1 = test1 test2
cluster2 = test3 test4
alle = cluster1 cluster2
ved å kalle ut» alle «- klyngen som inneholder cluster1 og cluster2, hvis en av disse klyngene noen gang endres, blir endringen automatisk tatt, slik at du ikke trenger å oppdatere» all » – definisjonen. Dette vil spare deg for tid og hodepine hvis din .csshrc fil stadig vokser i størrelse.
Bruke Clustersh
Bruke Clustersh ligner på å starte SSH av seg selv. Bare å kjøre cssh -l <username> <clustername>
vil starte Clustersh og logge deg inn som ønsket bruker på den klyngen. I figuren nedenfor kan du se at jeg har logget inn på «cluster1» som meg selv. Det lille vinduet merket «CSSH» er Cluster SSH konsollvinduet. 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 <username> <machinename1> <machinename2> <machinename3>
.
hvis jeg vil sende noe til en av terminalene, kan jeg bare bytte fokus ved å klikke på ønsket XTerm, og bare skriv inn det vinduet som jeg vanligvis ville. ClusterSSH har noen menyelementer som virkelig hjelper når du arbeider med en blanding av maskiner. I henhold til figuren nedenfor, i» Verter » – menyen På Clustersh-konsollen er det flere alternativer som kommer til nytte.
«Retile Windows» gjør nettopp det hvis du har endret størrelsen manuelt eller flyttet noe. «Legg til vert(er) Eller Klynge (er)» er flott hvis du vil legge til et annet sett med maskiner eller en annen klynge til Den løpende Clustersh-økten. Til slutt ser du hver vert oppført nederst på» Verter » – menyen. Ved å merke av eller fjerne avmerkingen i boksene ved siden av hvert vertsnavn, kan du velge hvilke verter Clustersh-konsollen vil ekko kommandoer til. Dette er nyttig hvis du vil ekskludere en vert eller to for en engangs eller spesiell grunn. Det endelige menyalternativet som er fint å ha, er under «Send» – menyen, kalt «Vertsnavn». Dette ekko bare hver maskinens vertsnavn til kommandolinjen, noe som kan være nyttig hvis du bygger noe vertsspesifikt over klyngen din.
Advarsler Med Clustersh
Som mange UNIX-verktøy Har Clustersh potensialet til å gå forferdelig galt hvis du ikke er veldig forsiktig med bruken. Jeg har sett ClusterSSH feil ta ut en hel tier Av Webservere bare ved å forplante en skrivefeil I En Apache-konfigurasjon. Å ha tilgang til flere maskiner samtidig, muligens som en privilegert bruker, betyr at feil kommer til en stor pris. Ta vare, og dobbeltsjekke hva du gjør før du punch Som Enter-tasten.
Konklusjon
ClusterSSH er ikke en erstatning for å ha et konfigurasjonsstyringssystem eller noen av de andre beste praksisene når du administrerer en rekke maskiner. Men hvis du trenger å gjøre noe i en klemme 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 en maskin, men som alle elektroverktøy, kan det forårsake mye skade hvis det brukes tilfeldig.