用語解説
コントロールマシン
obdがインストールされたマシンは、OceanBaseクラスタの管理と、OceanBaseクラスタのインストールパッケージおよびクラスタ構成情報の保管に使用します。
ターゲットマシン
OceanBaseデータベースがインストールされたマシン。
操作手順
コントロールマシンで、以下の手順に従ってパスワードレスSSHログインを設定します。
説明
使用するユーザー全員に対して、パスワードレスログインを設定する必要があります。OceanBaseデータベースをadminユーザーでデプロイする予定がある場合、ターゲットマシンのadminユーザーにパスワードレスログインを設定する必要があります。OceanBaseデータベースのデプロイには、adminユーザーを使用することを推奨します。
コントロールマシンで以下のコマンドを実行して、秘密鍵が存在するかどうかを確認します。
[admin@test001 ~]$ ls ~/.ssh/id_rsa.pub結果として秘密鍵が既に存在していることが示された場合、新しい秘密鍵を生成する必要はありません。
(オプション)コントロールマシンで以下のコマンドを実行して、SSH公開鍵と秘密鍵を生成します。
[admin@test001 ~]$ ssh-keygen -t rsaコントロールマシンの公開鍵をターゲットマシンのauthorized_keysファイルにコピーします。
[admin@test001 ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub <user>@<server_ip>
(付録)スクリプト参照
以下のスクリプトの使用を推奨します。以下のスクリプトの実行にはsudo権限が必要です。
#!/usr/bin/bash
SERVERS=("<user>@<server_ip1>" "<user>@<server_ip2>" "<user>@<server_ip3>")
PASSWORD="******"
keygen() {
sudo yum -y install expect
expect -c "
spawn ssh-keygen -t rsa
expect {
*(~/.ssh/id_rsa):* { send -- \r;exp_continue}
*(y/n)* { send -- y\r;exp_continue}
*Enter* { send -- \r;exp_continue}
*(y/n)* { send -- y\r;exp_continue}
*Enter* { send -- \r;exp_continue}
eof {exit 0}
}
expect eof
"
}
copy(){
expect -c "
set timeout -1
spawn ssh-copy-id $1
expect {
*(yes/no)* { send -- yes\r; exp_continue }
*password:* { send -- $PASSWORD\r; exp_continue}
eof {exit 0}
}
expect eof
"
}
ssh_copy_id_to_all(){
keygen ;
for host in ${SERVERS[@]}
do
copy $host
done
}
ssh_copy_id_to_all
注意
スクリプトの先頭2行の SERVERS リストと PASSWORD を、ご自身の実際のマシンリストとパスワードに置き換える必要があります。