Linuxクラスタ管理ツールClustershell,pssh

6834 ワード

クラスタの現在、何千人ものLinuxマシンを管理することが難題となっており、もう1台のログインホストを使用して管理することはできません.作業量は間違いなく非常に大きいです.ここではClustershellpsshを利用して管理することができます.その原理は、ホストクラスタに自動的にログインしてスクリプトを実行したり、ファイルの操作をしたりすることです.

デモ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コマンドのいくつかの重要なパラメータ

  • -b:同じ出力結果を
  • にマージ
  • -w:指定ノード
  • -a:すべてのノード
  • -g:指定グループ
  • –copy:群発ファイル
  • 各ノードは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"