当手里有多台服务器时,常常会有一些相同的命令、相同的工作在这些服务器中重复地执行,这时候,登陆每台服务器重复执行相同的操作显然笨拙了点,而且容易漏掉某台服务器,或某些操作。我们需要一些工具,来对服务器集群进行集中式管理,pssh和mussh就是这样的两个工具。
pssh和mussh这两个出色的并行shell工具,允许我们一次性向多台服务器发送并执行相同的shell命令,大大简化了我们的操作,对一般的工作而言,这两个工具就够用了;当然还有更高级一些的工具,如puppet,据说,这个工具要求集群内的服务器规格基本相同,我还没研究过puppet。
pssh和mussh的安装和使用都非常简单,安装过程可以参考压缩包中的帮助文档。如下:
pssh:
wget
tar -zxvf pssh-2.2.2.tar.gz
cd pssh-2.2.2
wget 'http://peak.telecommunity.com/dist/ez_setup.py'
sudo Python ez_setup.py
sudo python setup.py install
这样就OK了,就可以使用了。只是要注意在各个节点都要安装!
mussh:
wget
tar -zxvf mussh-0.7.tgz
mussh更简单,这样解压之后就可使用了!它不需要在每台机器上都安装。
两个工具的使用方法很简单,可以敲命令$COMMAND --help查看帮助文档,或者google一下。
相比较而言,pssh功能更加强大一些,它本身包含了5个工具:parallel-ssh、parallel-scp、parallel-rsync、parallel-slurp和parallel-nuke,它更加适合执行一些比较耗时的命令。而Mussh只有一个工具,适合在各台服务器上执行一些简单的操作,并把结果打印到屏幕。