Linuxクラスタ管理ツールClustershell,pssh
6834 ワード
クラスタの現在、何千人ものLinuxマシンを管理することが難題となっており、もう1台のログインホストを使用して管理することはできません.作業量は間違いなく非常に大きいです.ここでは
Centos 7を使用しています.操作すると、1台のホスト上で操作するだけで、クラスタマシンのすべての構成を完了することができます.com#ホストcluster 1 2.host.com#ノード1 cluster 2 3.host.com#ノード2 cluster 3 4.host.com#ノード3
ホストはsshを使用して1,2,3ノードにログインするには、パスワードなしでログインする必要があります.Clustershellはインタラクティブコマンドを自動的に入力しません.たとえば、ホストに初めてログインすると次のようなヒントが表示されます.
Clustershellが処理できない場合は、次のエラーが表示されます.
鍵の生成
公開鍵の内容を各ノードにコピー
内容は以下の通り
以上、demoというパケットを定義し、このパケットを介して接続することができる.host.com,2.host.com,3.host.comは、この3つのノードに対応するIPがマッピングされていなければ接続に失敗し、/etc/hosts対応関係を設定することができる
-b:同じ出力結果を にマージ-w:指定ノード -a:すべてのノード -g:指定グループ –copy:群発ファイル 各ノードは
ファイルの作成
群発ファイル
インストール
ノードIPを編集してvim/root/hostsを引っ張る.txt
ノード実行コマンド
Clustershell
とpssh
を利用して管理することができます.その原理は、ホストクラスタに自動的にログインしてスクリプトを実行したり、ファイルの操作をしたりすることです.デモClustershell
Centos 7を使用しています.操作すると、1台のホスト上で操作するだけで、クラスタマシンのすべての構成を完了することができます.com#ホストcluster 1 2.host.com#ノード1 cluster 2 3.host.com#ノード2 cluster 3 4.host.com#ノード3
パスワードなしでログイン
ホストはsshを使用して1,2,3ノードにログインするには、パスワードなしでログインする必要があります.Clustershellはインタラクティブコマンドを自動的に入力しません.たとえば、ホストに初めてログインすると次のようなヒントが表示されます.
ssh root@2.host.com
The authenticity of host '2.host.com (192.168.0.20)' can't be established.
ECDSA key fingerprint is d4:5d:d6:e6:bc:70:86:1b:42:32:aa:6b:86:a6:34:d4.
Are you sure you want to continue connecting (yes/no)?
Clustershellが処理できない場合は、次のエラーが表示されます.
[1] 11:32:17 [FAILURE] 2.host.com Exited with error code 255
鍵の生成
ssh-keygen -t rsa
公開鍵の内容を各ノードにコピー
scp ~/.ssh/id_rsa.pub 192.168.0.20:/root/.ssh/authorized_keys
scp ~/.ssh/id_rsa.pub 192.168.0.21:/root/.ssh/authorized_keys
scp ~/.ssh/id_rsa.pub 192.168.0.22:/root/.ssh/authorized_keys
ClusterShellの構成
vim /etc/clustershell/groups.d/local.cfg
内容は以下の通り
# ClusterShell groups config local.cfg
#
# Replace /etc/clustershell/groups
#
# Note: file auto-loaded unless /etc/clustershell/groups is present
#
# See also groups.d/cluster.yaml.example for an example of multiple
# sources single flat file setup using YAML syntax.
#
# Feel free to edit to fit your needs.
adm: example0
oss: example4 example5
mds: example6
io: example[4-6]
compute: example[32-159]
gpu: example[156-159]
all: example[4-6,32-159]
demo: [1-3].host.com
以上、demoというパケットを定義し、このパケットを介して接続することができる.host.com,2.host.com,3.host.comは、この3つのノードに対応するIPがマッピングされていなければ接続に失敗し、/etc/hosts対応関係を設定することができる
cat /etc/hosts
127.0.0.1 localhost
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.20 1.host.com
192.168.0.21 2.host.com
192.168.0.22 3.host.com
clushコマンドのいくつかの重要なパラメータ
ls
コマンドを実行clush -g demo "ls"
ファイルの作成
clush -g demo "touch /root/demo.txt"
群発ファイル
clush -g demo --copy groups --dest /root
デモpssh
インストール
yum install pssh -y
ノードIPを編集してvim/root/hostsを引っ張る.txt
1.host.com
2.host.com
3.host.com
ノード実行コマンド
pssh -H hosts.txt -P "ls"