pssh並列実行リモート操作
一、pssh概要
psshは元の名前はparallel-sshで、下層はpythonで書き、python解釈器とコアライブラリのサポート(中心ホストにpythonをインストールすればよい)が必要で、複数のホスト上でリモートコマンドライン操作を並列に実行することができ、parallel-sshツールの実行時に最大32のプロセスを生成し、小ロット管理ホストに適用し、いくつかの並列バッチ化コマンドライン操作を実行する
二、psshのインストール
三、psshキットの使用
psshツールパッケージには、pssh、pscp、prsync、pslurp、pnukeの5つのコマンドラインツールがあります.
センタホストがpsshツールパッケージを使用する場合は、sshが管理されているホストを信頼する必要があります.
1、psshマルチホスト並列実行コマンド(ip.dataのフォーマットはroot@ip:port)
2、pscpはファイルを複数のホストに並列にコピーする(一方向、サーバー側はクライアント側)
3、prsyncはrsyncプロトコルを使用してローカルディレクトリを複数のホストに同期する
4、pslurpリモートホスト上のファイルをローカルにコピーする(転送ファイルのみ)
5、pnuke並列にリモートホストでプロセスを殺す
psshは元の名前はparallel-sshで、下層はpythonで書き、python解釈器とコアライブラリのサポート(中心ホストにpythonをインストールすればよい)が必要で、複数のホスト上でリモートコマンドライン操作を並列に実行することができ、parallel-sshツールの実行時に最大32のプロセスを生成し、小ロット管理ホストに適用し、いくつかの並列バッチ化コマンドライン操作を実行する
二、psshのインストール
$ wget https://parallel-ssh.googlecode.com/files/pssh-2.3.1.tar.gz
$ tar xf pssh-2.3.1.tar.gz
$ cd pssh-2.3.1/
$ sudo python setup.py install
三、psshキットの使用
psshツールパッケージには、pssh、pscp、prsync、pslurp、pnukeの5つのコマンドラインツールがあります.
センタホストがpsshツールパッケージを使用する場合は、sshが管理されているホストを信頼する必要があります.
1、psshマルチホスト並列実行コマンド(ip.dataのフォーマットはroot@ip:port)
$ sudo pssh -P -h ip.data uptime
# uptime
172.16.2.225: 14:54:37 up 3:21, 1 user, load average: 0.00, 0.01, 0.05
[1] 14:54:39 [SUCCESS] 172.16.2.225
172.16.2.226: 14:54:37 up 3:21, 1 user, load average: 0.00, 0.01, 0.05
[2] 14:54:39 [SUCCESS] 172.16.2.226
172.16.2.220: 14:54:36 up 3:21, 1 user, load average: 0.00, 0.01, 0.05
[3] 14:54:39 [SUCCESS] 172.16.2.220
2、pscpはファイルを複数のホストに並列にコピーする(一方向、サーバー側はクライアント側)
$ sudo pscp -h ip.data -l root zabbix.php /tmp
# zabbix.php /tmp
[1] 15:03:57 [SUCCESS] 172.16.2.225
[2] 15:03:57 [SUCCESS] 172.16.2.220
[3] 15:03:57 [SUCCESS] 172.16.2.226
3、prsyncはrsyncプロトコルを使用してローカルディレクトリを複数のホストに同期する
$ sudo prsync -r -h ip.data -l root zatree /tmp
# zatree /tmp
[1] 14:47:43 [SUCCESS] 172.16.2.220
[2] 14:47:43 [SUCCESS] 172.16.2.226
[3] 14:47:43 [SUCCESS] 172.16.2.225
4、pslurpリモートホスト上のファイルをローカルにコピーする(転送ファイルのみ)
$ sudo pslurp -h ip.data -L /data -l root /tmp/ikkitest.file ikki.file
# /tmp/ikkitest.file /data , ikki.file
[1] 13:34:24 [SUCCESS] 172.16.2.220
[2] 13:34:24 [SUCCESS] 172.16.2.225
[3] 13:34:24 [SUCCESS] 172.16.2.226
5、pnuke並列にリモートホストでプロセスを殺す
$ sudo pnuke -h ip.data -l root zabbix
# zabbix (ps )
[1] 15:10:56 [SUCCESS] 172.16.2.220
[2] 15:10:56 [SUCCESS] 172.16.2.225
[3] 15:10:56 [SUCCESS] 172.16.2.226