6 Saltの展開 #
SUSE Enterprise Storageは最初のクラスタの準備にSaltとceph-salt
を使用します。Saltを使用すると、「Salt Master」と呼ばれる単独の専用ホストから複数のクラスタノードに対して、同時に設定やコマンドを実行できます。Saltの展開前に、次の重要な点を考慮してください。
「Salt Minion」は、Salt Masterと呼ばれる専用のノードによって制御されるノードです。
仮にSalt MasterホストがCephクラスタの一部である場合は、独自のSalt Minionを実行する必要があります。ただしこれは必須ではありません。
ヒント: 1つのサーバで複数の役割を共有各役割を別個のノードに展開すると、Cephクラスタで最適なパフォーマンスを実現できます。しかし、実際の展開では、1つのノードを複数の役割のために共有しなければならない場合があります。パフォーマンスやアップグレード手順で問題が起きないようにするため、Ceph OSD、メタデータサーバ、またはCeph Monitorの役割は管理ノードに展開しないでください。
Salt Minionは、ネットワークでSalt Masterのホスト名を正しく解決する必要があります。Minionは、デフォルトでは
salt
saltというホスト名を検索しますが、ネットワーク経由でアクセス可能なほかのホスト名を/etc/salt/minion
ファイルで指定できます。
Salt Masterノードに
salt-master
をインストールします。root@master #
zypper in salt-mastersalt-master
サービスが有効になっていて起動していることを確認します。必要であれば、サービスを有効にして起動します。root@master #
systemctl enable salt-master.serviceroot@master #
systemctl start salt-master.serviceファイアウォールを使用する場合は、Salt Masterノードのポート4505と4506がすべてのSalt Minionノードに対して開いていることを確認します。これらのポートが閉じている場合は、
yast2 firewall
コマンドを使用してポートを開き、 サービスに適切なゾーンを許可できます。たとえば、public
を許可します。パッケージ
salt-minion
をすべてのミニオンノードにインストールします。root@minion >
zypper in salt-minion/etc/salt/minion
を編集し、次の行のコメントを解除します。#log_level_logfile: warning
warning
ログレベルをinfo
に変更します。注記:log_level_logfile
とlog_level
log_level
は、どのログメッセージが画面に表示されるかを制御します。一方、log_level_logfile
は、どのログメッセージが/var/log/salt/minion
に書き込まれるかを制御します。注記「すべて」のクラスタ(ミニオン)ノードのログレベルを変更したか確認してください。
すべてのノードが他のノードの「完全修飾ドメイン名」をパブリッククラスタネットワークのIPアドレスに解決できることを確認します。
すべてのミニオンをマスターに接続するように設定します。ホスト名
salt
でSalt Masterに接続できない場合は、ファイル/etc/salt/minion
を編集するか、次の内容で新しいファイル/etc/salt/minion.d/master.conf
を作成します。master: host_name_of_salt_master
先に説明した設定ファイルを変更した場合は、すべての関連するSalt MinionのSaltサービスを再起動します。
root@minion >
systemctl restart salt-minion.serviceすべてのノードで
salt-minion
サービスが有効になっていて起動していることを確認します。必要であれば、次のコマンドを使用して有効にして起動します。#
systemctl enable salt-minion.service#
systemctl start salt-minion.service各Salt Minionの指紋を確認して、指紋が一致する場合、Salt Master上のすべてのSaltキーを受諾します。
注記Salt Minionの指紋が空に戻る場合は、Salt MinionがSalt Masterの設定を持っていて、Salt Masterと通信できることを確認します。
各ミニオンの指紋を表示します。
root@minion >
salt-call --local key.finger local: 3f:a3:2f:3f:b4:d3:d9:24:49:ca:6b:2c:e1:6c:3f:c3:83:37:f0:aa:87:42:e8:ff...すべてのSalt Minionの指紋を収集した後、Salt Master上の、受諾されていない全ミニオンキーの指紋を一覧にします。
root@master #
salt-key -F [...] Unaccepted Keys: minion1: 3f:a3:2f:3f:b4:d3:d9:24:49:ca:6b:2c:e1:6c:3f:c3:83:37:f0:aa:87:42:e8:ff...ミニオンの指紋が一致する場合は、それらを受諾します。
root@master #
salt-key --accept-allキーが受諾されたことを確認します。
root@master #
salt-key --list-allすべてのSalt Minionが応答するかテストします。
root@master #
salt-run manage.status