原文地址:http://bbs.chinaunix.net/thread-2002080-1-1.htmlhtml
當咱們管理數以十計或者更多的集羣系統時,每每須要在每臺機器上執行一樣的命令,或者拷貝一樣的文件,這時,咱們就能夠考慮使用三個小工具,分別是pdsh、ClusterSSH和mussh。
在Fedora系統上,咱們能夠直接經過yum安裝這三個軟件。
yum install clusterssh pdsh pdsh-rcmd-ssh pdsh-rcmd-rsh mussh
若是是其餘Linux系統,也能夠到http://clusterssh.sourceforge.net、http://sourceforge.net/projects/pdsh和http://www.sourceforge.net/projects/mussh下載相應的軟件。
不管是clusterssh仍是pdsh或mussh,咱們都應該相應的設置無密碼登陸目標系統,這方面的內容,有不少介紹,本文再也不說起。node
一、pdsh的安裝過程shell
pdsh的安裝很是簡單,有rpm包和源碼包兩種方式,你們可根據本身的喜愛選擇適合本身的安裝方式。能夠在http://code.google.com/p/pdsh/ 下載最新的源碼包進行編譯安裝,目前最新版本爲pdsh-2.29,這裏下載的源碼包爲pdsh-2.29.tar.bz2。編譯安裝過程以下:ssh
[root@server ~]# tar jxvf pdsh-2.29.tar.bz2工具
[root@server ~]# cd pdsh-2.29google
[root@server pdsh-2.29]#./configure --with-ssh --with-rsh --with-mrsh --with-mqshell \spa
> --with-dshgroups --with-machines=/etc/pdsh/machines.net
[root@server pdsh-2.29]# makeunix
[root@server pdsh-2.29]# make installcode
在執行configure階段,「--with-ssh」參數表示啓用ssh模塊,其餘參數都有相似的含義,而「--with-dshgroups」表示啓用主機組支持,啓用此參數後,就能夠將一組主機列表寫入一個文件並放到~/.dsh/group或/etc/dsh/group目錄下,而後經過pdsh的「-g」參數進行調用。最後的參數「--with-machines」是「--with-dshgroups」參數的擴展,經過將全部要管理的主機列表都寫入指定的/etc/pdsh/machines文件中,接着經過pdsh的「-a」參數調用,最終完成全部主機的便捷管理。
完成安裝後,能夠經過「pdsh �V」查看pdsh的版本號以及可以使用的模塊信息,操做以下:
[opsuser@server ~]$ pdsh -V
pdsh-2.29
rcmd modules: ssh,rsh,exec (default: rsh)
misc modules: machines,dshgroup
1、pdsh 首先介紹一下pdsh,首先必須在管理節點和每臺目標機器上都安裝pdsh軟件包。pdsh能夠在指定的一組機器上執行同一個命令。例如須要管理下列機器,機器名分別爲node211,node232,node233,node234,node240。
命令格式以下:
pdsh -w [SSH_OR_RSH]:USERNAME@node[211,232-234,240] [COMMAND]
其中大寫的部分應該被實際內容所取代。例如但願以maluyao用戶的身份,在每臺機器上執行hostname命令,使用ssh方法進行鏈接,則結果以下:
[tt@node111 ~]$ pdsh -w ssh:maluyao@node[211,232-234,240] hostname
node240: node240.hn.org
node233: node233.hn.org
node234: node234.hn.org
node232: node232.hn.org
node211: node211.hn.org
這樣能夠很是清楚的看到每臺機器上執行的結果。
另一些時候,咱們能夠但願在每臺機器上執行一組也許不肯定的命令,這時咱們能夠省略[COMMAND]部分,用法以下:
[tt@node111 ~]$ pdsh -w ssh:maluyao@node[211,232-234,240]
pdsh> hostname
node240: node240.hn.org
node234: node234.hn.org
node233: node233.hn.org
node232: node232.hn.org
node211: node211.hn.org
pdsh> date
node234: Mon Oct 27 14:59:37 CST 2008
node240: Mon Oct 27 14:59:37 CST 2008
node232: Mon Oct 27 14:59:37 CST 2008
node233: Mon Oct 27 14:59:37 CST 2008
node211: Mon Oct 27 14:59:38 CST 2008
pdsh> exit
pdsh軟件包還自帶了pdcp命令,能夠將文件拷貝到一組機器上,用法以下:
pdsh -w [SSH_OR_RSH]:[USERNAME]@node[211,232-234,240] SOURCE_FILE DESTINATION
想將文件x.org拷貝到上述機器的/home/maluyao/當中,可執行下列命令:
pdcp -w ssh:maluyao@node[211,232-234,240] x.org /home/maluyao/
若是要拷貝的是目錄,則需使用-r參數,例如將目錄abc拷貝到/home/maluyao,執行命令以下:pdcp -r -w ssh:maluyao@node[211,232-234,240] abc /home/maluyao/