1、ClusterSSH
clusterSSH是一个用于同时管理多台服务器集群的命令行工具。它启动一个管理console和一个对应所有指定服务器的xterm,其让你能够在所有服务器中运行相同命令。
要使用clusterssh,如图所示,从在你本地计算机上安装它开始:
RockyLinux/AlmaLinux/OracleLinux上:
[blctrl@areadetector home]$ sudo dnf install clusterssh
Last metadata expiration check: 0:41:22 ago on Tue 05 Jul 2022 02:16:53 PM CST.
Dependencies resolved.
=======================================================================================================================================================
Package Architecture Version Repository Size
=======================================================================================================================================================
Installing:
clusterssh noarch 4.16-1.el8 epel 158 k
...
Complete!
在Ubuntu上安装:
blctrl@blctrl-KVM:~$ sudo apt install clusterssh
[sudo] password for blctrl:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
libclass-data-inheritable-perl libdevel-stacktrace-perl libexception-class-perl libx11-protocol-other-perl perl-tk xterm
...
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for mailcap (3.70+nmu1ubuntu1) ...
现在你已经安装了它,立即打开一个本地命令行console以及一个在远程服务器上的xterm。要在所有服务器上运行一个命令,在本地命令行终端中输入以下命令:
cssh almalinux oracleLinux Ubuntu CentOS7
窗口中会弹出以下界面:
只需要在CSSH[4]窗口中输入命令并执行,其它四个窗口中会同时显示CSSH[4]中输入的命令并且执行。
2、Ansible
Ansible是一个自动化IT过程的开源和流行工具。它用于配置和管理系统,部署应用程序等。
要在Linux上安装Ansible,运行以下命令:
[blctrl@areadetector home]$ sudo dnf install ansible
[sudo] password for blctrl:
Last metadata expiration check: 1:19:17 ago on Tue 05 Jul 2022 02:16:53 PM CST.
Package ansible-5.4.0-2.el8.noarch is already installed.
...
Complete!
一旦你安装了Ansible,你能够在/etc/ansible/hosts中添加你服务器的主机或IP地址。
$ sudo vim /etc/ansible/hosts
以分组指定它们,例如:webservers。
[webservers]
192.168.50.184
192.168.50.57
192.168.50.205
192.168.50.128
保存并关闭它。
现在检查在分组webservers中指定所有服务器的当前工作路径。
-a选项用于指定传递给模块的参数,而-u标记指定通过SSH连接到远程服务器的默认用户名。
现在ansible CLI工具只允许你最多一次执行一条命令:
[blctrl@areadetector home]$ ansible webservers -a "pwd " -u blctrl
192.168.50.184 | CHANGED | rc=0 >>
/home/blctrl
192.168.50.205 | CHANGED | rc=0 >>
/home/blctrl
192.168.50.128 | CHANGED | rc=0 >>
/home/blctrl
[WARNING]: Platform linux on host 192.168.50.57 is using the discovered Python interpreter at /usr/bin/python3.6, but future installation of another
Python interpreter could change the meaning of that path. See https://docs.ansible.com/ansible-
core/2.12/reference_appendices/interpreter_discovery.html for more information.
192.168.50.57 | CHANGED | rc=0 >>
/home/blctrl