ClusterShellをインストールした。

clusterを操作する際、同時に複数台にコマンドを実行出来便利なClusterShellをインストールした。

OSはCentos7です。

まずは、clustershellを全台にインストール

# yum install epel-release -y
# yum install clustershell -y

パス無しの鍵をそれぞれのサーバーで作成

# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory ‘/root/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.

パス無しログイン出来る様にサーバー間で鍵を渡す

# ssh-copy-id root@192.168.50.12
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: “/root/.ssh/id_rsa .pub”
The authenticity of host ‘192.168.50.12 (192.168.50.12)’ can’t be established.
ECDSA key fingerprint is SHA256:s5eCPxMGzHMJgucpHjzVUm3TQX9AyDYU35hZYp9ZF9E.
ECDSA key fingerprint is MD5:0b:4e:9d:bc:ac:b5:7d:37:c5:41:96:bb:1f:0b:18:a3.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed — if you are prompt ed now it is to install the new keys
root@192.168.50.12’s password:

Number of key(s) added: 1

Now try logging into the machine, with: “ssh ‘root@192.168.50.12′”
and check to make sure that only the key(s) you wanted were added.

名前解決用にhostsを準備

# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.50.11 hoge-01
192.168.50.12 hoge-02
192.168.50.13 hoge-03

一回各サーバー間でログインをしておく

[root@hoge-01 ~]# ssh hoge-02
[root@hoge-01 ~]# ssh hoge-03

下ごしらえは出来たのでテスト
ホスト指定でunameをたたく

# clush -w hoge-02 uname
hoge-02: Linux

次に全台を対象に

[root@hoge-01 ~]# clush -a date
example4: ssh: Could not resolve hostname example4: Name or service not known
example5: ssh: Could not resolve hostname example5: Name or service not known
example6: ssh: Could not resolve hostname example6: Name or service not known
example32: ssh: Could not resolve hostname example32: Name or service not known
example36: ssh: Could not resolve hostname example36: Name or service not known

名前解決が出来てないっぽい
clustershellのconfを確認する

# cat /etc/clustershell/clush.conf

このような設定があるようなので

[local]
# flat file “group: nodeset” based group source using $CFGDIR/groups.d/local.cfg
# with backward support for /etc/clustershell/groups
map: [ -f $CFGDIR/groups ] && f=$CFGDIR/groups || f=$CFGDIR/groups.d/local.cfg; sed -n ‘s/^$GROUP:\(.*\)/\1/p’ $f
all: [ -f $CFGDIR/groups ] && f=$CFGDIR/groups || f=$CFGDIR/groups.d/local.cfg; sed -n ‘s/^all:\(.*\)/\1/p’ $f
list: [ -f $CFGDIR/groups ] && f=$CFGDIR/groups || f=$CFGDIR/groups.d/local.cfg; sed -n ‘s/^\([0-9A-Za-z_-]*\):.*/\1/p’ $f

groupsファイルを作る

[root@hoge-01 ~]# vim /etc/clustershell/groups
all: hoge-0[1-3]

再度テスト全台テスト

[root@hoge-01 ~]# clush -a date
hoge-01: Host key verification failed.
clush: hoge-01: exited with exit code 255
hoge-02: 2018年 3月 22日 木曜日 15:28:17 JST
hoge-03: 2018年 3月 22日 木曜日 15:28:17 JST

コマンド実行しているサーバー自体にも鍵を通さないとならないようだ

[root@hoge-01 ~]# ssh-copy-id hoge-01

改めてテスト

[root@hoge-01 ~]# clush -a date
hoge-01: 2018年 2月 11日 木曜日 12:22:32 JST
hoge-02: 2018年 2月 11日 木曜日 12:22:32 JST
hoge-03: 2018年 2月 11日 木曜日 12:22:32 JST

取り敢えず完了。
clushコマンドの使い方はmanを参考に便利に使える様に覚えましょう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です