Gestione di più server Linux con ClusterSSH

Se sei un amministratore di sistema Linux, è probabile che tu abbia più di una macchina di cui sei responsabile quotidianamente. Si può anche avere una banca di macchine che si mantengono che sono simili – una fattoria di server Web, per esempio. Se hai bisogno di digitare lo stesso comando in più macchine contemporaneamente, puoi accedere a ciascuna con SSH e farlo in serie, oppure puoi risparmiare un sacco di tempo e fatica e usare uno strumento come ClusterSSH.

ClusterSSH è un wrapper Tk / Perl attorno a strumenti Linux standard come XTerm e SSH. Come tale, verrà eseguito su quasi tutti i sistemi operativi compatibili con POSIX in cui esistono le librerie-l’ho eseguito su Linux, Solaris e Mac OS X. Richiede le librerie Perl Tk (perl-tk su Debian o Ubuntu) e X11::Protocol (libx11-protocol-perl su Debian o Ubuntu), oltre a xterm e OpenSSH.

Installazione

Installare ClusterSSH su un sistema Debian o Ubuntu è banale: un semplice sudo apt-get install clusterssh lo installerà e le sue dipendenze. È anche confezionato per l’uso con Fedora, ed è installabile tramite il sistema ports su FreeBSD. C’è anche una versione MacPorts per l’utilizzo con Mac OS X, se si utilizza una macchina Apple. Naturalmente, può anche essere compilato dalla fonte.

Configurazione

ClusterSSH può essere configurato tramite il suo file di configurazione globale — /etc/clusters, o tramite un file nella directory home dell’utente chiamato .csshrc. Tendo a favorire la configurazione a livello utente in quanto consente a più persone sullo stesso sistema di configurare il client ClusterSSH come scelgono. La configurazione è semplice in entrambi i casi, poiché il formato del file è lo stesso. ClusterSSH definisce un “cluster” come un gruppo di macchine che si desidera controllare tramite un’unica interfaccia. Con questo in mente, enumeri i tuoi cluster nella parte superiore del file in un blocco “cluster”, quindi descrivi ciascun cluster in una sezione separata di seguito.

Ad esempio, diciamo che ho due cluster, ognuno composto da due macchine. “Cluster1” ha le macchine “Test1” e “Test2” in esso, e “Cluster2” ha le macchine “Test3” e “Test4” in esso. Il file di controllo ~.csshrc (o /etc/clusters) sarà simile a questo:

clusters = cluster1 cluster2

cluster1 = test1 test2
cluster2 = test3 test4

Puoi anche creare meta-cluster — cluster che si riferiscono a cluster. Se si desidera creare un cluster chiamato ” all ” che includesse tutte le macchine, è possibile definirlo in due modi. Prima, si potrebbe semplicemente creare un cluster che ha tenuto tutte le macchine, come i seguenti:

clusters = cluster1 cluster2 all

cluster1 = test1 test2
cluster2 = test3 test4
tutti = test1 test2 test3 test4

Tuttavia, il mio metodo preferito è quello di utilizzare una meta-cluster che comprende altri cluster:

clusters = cluster1 cluster2 all

cluster1 = test1 test2
cluster2 = test3 test4
tutti = cluster1 cluster2

chiamando il “tutti” cluster contenente cluster1 e cluster2, se uno di quei cluster cambiare mai, il cambiamento è automaticamente acquisita in modo che non è necessario aggiornare il “tutti” definizione. Questo vi farà risparmiare tempo e mal di testa se il vostro .il file csshrc cresce sempre di dimensioni.

Usare ClusterSSH

Usare ClusterSSH è simile al lancio di SSH da solo. Semplicemente eseguendo cssh -l <username> <clustername> si avvia ClusterSSH e si accede come utente desiderato su quel cluster. Nella figura seguente, puoi vedere che ho effettuato l’accesso a “cluster1” come me stesso. La piccola finestra etichettata “CSSH” è la finestra della console SSH del cluster. Tutto ciò che digito in quella piccola finestra viene fatto eco a tutte le macchine nel cluster — in questo caso, le macchine “test1” e “test2”. In un pizzico, è anche possibile accedere a macchine che non sono nel vostro .file csshrc, semplicemente eseguendo cssh -l <username> <machinename1> <machinename2> <machinename3>.

Se voglio inviare qualcosa a uno dei terminali, posso semplicemente cambiare messa a fuoco facendo clic sull’XTerm desiderato e digitare semplicemente quella finestra come di solito farei. ClusterSSH ha alcune voci di menu che aiutano davvero quando si ha a che fare con un mix di macchine. Come per la figura seguente, nel menu” Host ” della console ClusterSSH ci sono diverse opzioni che sono utili.

“Retile Windows” fa proprio questo se hai ridimensionato o spostato manualmente qualcosa. “Aggiungi host o cluster” è ottimo se si desidera aggiungere un altro set di macchine o un altro cluster alla sessione ClusterSSH in esecuzione. Infine, vedrai ogni host elencato nella parte inferiore del menu” Hosts”. Selezionando o deselezionando le caselle accanto a ciascun nome host, è possibile selezionare gli host su cui la console ClusterSSH eseguirà l’eco dei comandi. Questo è utile se si desidera escludere un host o due per una tantum o un motivo particolare. L’opzione di menu finale che è bello avere è sotto il menu “Invia”, chiamato “Hostname”. Questo riecheggia semplicemente il nome host di ogni macchina alla riga di comando, che può essere utile se stai costruendo qualcosa di specifico per l’host nel tuo cluster.

Avvertenze con ClusterSSH

Come molti strumenti UNIX, ClusterSSH ha il potenziale per andare terribilmente storto se non si è molto attenti con il suo uso. Ho visto gli errori di ClusterSSH eliminare un intero livello di server Web semplicemente propagando un errore di battitura in una configurazione Apache. Avere accesso a più macchine contemporaneamente, possibilmente come utente privilegiato, significa che gli errori hanno un grande costo. Fai attenzione e ricontrolla cosa stai facendo prima di dare un pugno al tasto Invio.

Conclusione

ClusterSSH non sostituisce un sistema di gestione della configurazione o una qualsiasi delle altre best practice nella gestione di un numero di macchine. Tuttavia, se hai bisogno di fare qualcosa in un pizzico al di fuori del tuo solito set di strumenti o processo, o se stai facendo un lavoro di prototipo, ClusterSSH è indispensabile. Si può risparmiare un sacco di tempo quando si fanno le attività che devono essere fatte su più di una macchina, ma come qualsiasi strumento di potere, può causare un sacco di danni se usato a casaccio.

You might also like

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.