La plupart des administrateurs de serveur exécutent SSH pour la maintenance de ses serveurs. Lorsqu’il gère beaucoup de serveurs, il peut avoir besoin d’ouvrir plusieurs sessions SSH. Si l’activité de maintenance utilise les mêmes commandes sur chaque serveur, la saisie des commandes une par une pour chaque serveur peut prendre plus de temps. Est-il possible d’exécuter des commandes sur un serveur et de les dupliquer sur un autre serveur? Sous Linux, vous pouvez. Nous utiliserons la commande ClusterSSH pour résoudre cette situation.
Qu’est-ce que ClusterSSH
ClusterSSH est une application qui peut gérer plusieurs sessions SSH en même temps. Avec ClusterSSH, vous pouvez exécuter les mêmes commandes sur le groupe de serveurs (cluster) en même temps. Cela garantira que tous les serveurs sont synchronisés.
Installation
En utilisant le gestionnaire de paquets
Sur Linux basé sur Debian/ Ubuntu :
$ sudo apt-get install clusterssh
Sur Linux basé sur RedHat/CentOS :
# yum -y install clusterssh
En utilisant tarball
Pour vous assurer que vous avez installé la dernière version, vous pouvez télécharger le fichier source ClusterSSH et le compiler manuellement. Au moment où cet article est écrit, la dernière version de ClusterSSH est 3.28. La source peut être téléchargée à partir des sites SourceForge.
Une fois que vous avez le téléchargement, voici les étapes pour l’installer.
1. Extraire le fichier source
2. Accédez au dossier dans lequel le fichier source a été extrait
3. Type :
$ ./configure$ make# make install
4. Fait
Veuillez noter que ClusterSSH utilise Perl et sa bibliothèque à exécuter. Sur mon Zorin Linux (basé sur Ubuntu), j’ai trouvé des erreurs lors de la compilation des ClusterSSH.
Impossible de trouver les fichiers X include via /include
Impossible de trouver les fichiers X include n’importe où
Pour résoudre cette erreur, j’ai couru :
$ sudo apt-get install libx11-dev
Une fois l’installation de libx11-dev terminée, j’ai essayé de la compiler à nouveau et cela a fonctionné!
Impossible de localiser Tk.pm
ClusterSSH a besoin d’un module Perl. La solution à cette erreur consiste à installer Tk.pm module. La façon la plus simple de l’installer est d’utiliser CPAN.
$ cpan -i Tk
Après l’installation Tk.pm c’est fait, essayez de taper cssh via la console.
Impossible de localiser X11/Protocol.pm
Si vous rencontrez cette erreur, vous pouvez installer le module X11/Protocol.pm via CPAN.
$ cpan -i X11::Protocol
Après l’installation Tk.pm c’est fait, essayez de taper cssh via la console.
Comment utiliser ClusterSSH
Pour exécuter ClusterSSH, vous pouvez taper
$ cssh -l username server_ip_address
Mais la puissance de ClusterSSH est de gérer plusieurs sessions SSH. Vous pouvez également taper :
$ cssh -l username server_ip_address_1 server_ip_address_2 server_ip_address_n
Mais cela pourrait ne pas être une bonne façon d’avoir beaucoup de serveurs. Une autre façon d’exécuter plusieurs sessions SSH consiste à placer l’adresse de chaque serveur dans le fichier de configuration CSSH. Il existe deux types de fichiers de configuration. Le premier est le fichier de configuration global. Ce fichier se trouve dans /etc/clusters. La deuxième est.csshrc qui se trouve dans le répertoire personnel des utilisateurs.
Dans cet article, nous utilisons.fichier csshrc pour configurer les ClusterSSH. Par exemple, nous ajoutons un nom de cluster (nom de groupe) appelé serveurs. Ensuite, nous ajoutons le membre de son groupe. Voici le.le fichier csshrc ressemble à :
clusters=serversservers=10.0.6.12 10.0.14.6 10.0.6.149
Pour exécuter le cluster, tapez :
$ cssh -l pungki.arianto servers -T "Server Farm"
Où :
1. pungki.arianto est le nom de connexion de ces serveurs
2. – T « Batterie de serveurs » donnera des batteries de serveurs de balises à chaque fenêtre SSH.
L’étape suivante, vous devez entrer le mot de passe pour chaque serveur. Vous verrez une console d’administration qui a une batterie de serveurs d’en-têtes (3). Lorsque vous souhaitez exécuter des commandes sur tous les serveurs, vous devez les saisir dans la boîte de la console d’administration. Vous ne verrez peut-être pas ce que vous tapez dans la boîte, mais vous le verrez apparaître sur tous les serveurs.
Si vous ne souhaitez pas faire écho à votre commande sur tous les serveurs, vous pouvez désactiver les hôtes que vous souhaitez exclure. Cliquez simplement sur le menu Hôtes dans la console d’administration et choisissez le serveur que vous souhaitez exclure.
Important
L’avantage de faire écho à toutes les commandes à tous les serveurs est de s’assurer que tous les serveurs sont synchronisés. Et bien sûr, nous gagnerons du temps en répétant les mêmes commandes à tous les serveurs. Mais lorsque vous exécutez les mauvaises commandes, cela aura un impact sur tous les serveurs. Veuillez vous assurer que vous tapez une commande correcte avant d’appuyer sur le bouton Entrée.
Conclusion
ClusterSSH peut aider les administrateurs à exécuter la même commande sur les serveurs en même temps, tant qu’elle est utilisée avec précaution. Comme d’habitude, nous pouvons toujours taper man cssh ou cssh-h pour afficher sa page de manuel et explorer plus en détail.