第6章 Red Hat OpenStack Platform における HA クラスターのフェンシングの設定
フェンシング設定により、HA クラスターで誤動作しているノードが自動的に分離されます。これにより、ノードがクラスターのリソースを消費したり、クラスターの機能が損なわれたりすることを防ぎます。
fence_openstack
フェンスエージェントを使用して、RHOSP 上の HA クラスターのフェンスデバイスを設定します。RHOSP フェンスエージェントのオプションを表示するには、次のコマンドを使用します。
# pcs stonith describe fence_openstack
前提条件
- RHOSP で実行されている設定済みの HA クラスターがある。
- RHOSP の認証方法のセットアップ で説明されているように、クラスター設定に使用する RHOSP 認証方法を使用して、RHOSP API へアクセスできる。
クラスタープロパティー
stonith-enabled
は、デフォルト値のtrue
に設定されている。実稼働環境でフェンシングを無効にすることは適していないため、フェンシングが無効になっている場合は、Red Hat ではクラスターがサポートされないことに注意してください。以下のコマンドを実行して、フェンシングが開始されていることを確認します。# pcs property config --all Cluster Properties: . . . stonith-enabled: true
手順
クラスター内の任意のノードから次の手順を実行します。
クラスター内の各ノードの UUID を決定します。
次のコマンドは、
ha-example
プロジェクト内のすべての RHOSP インスタンス名の完全なリストと、ヘデッィングID
のもと、その RHOSP インスタンスに関連付けられたクラスターノードの UUID を表示します。ノードのホスト名は RHOSP インスタンス名と一致しない場合があります。# openstack --os-cloud="ha-example" server list … | ID | Name |... | 6d86fa7d-b31f-4f8a-895e-b3558df9decb|testnode-node03-vm|... | 43ed5fe8-6cc7-4af0-8acd-a4fea293bc62|testnode-node02-vm|... | 4df08e9d-2fa6-4c04-9e66-36a6f002250e|testnode-node01-vm|...
pcmk_host_map parameter
を使用してクラスター内の各ノードをそのノードの UUID にマップし、フェンシングデバイスを作成します。以下のフェンスデバイス作成コマンドの例では、それぞれ異なる認証方法を使用しています。次のコマンドは、認証用の
clouds.yaml
設定ファイルを使用して、3 ノードクラスター用のfence_openstack
フェンシングデバイスを作成します。cloud= parameter
には、clouds.yaml` ファイルのクラウド名を指定します。# pcs stonith create fenceopenstack fence_openstack pcmk_host_map="node01:4df08e9d-2fa6-4c04-9e66-36a6f002250e;node02:43ed5fe8-6cc7-4af0-8acd-a4fea293bc62;node03:6d86fa7d-b31f-4f8a-895e-b3558df9decb" power_timeout="240" pcmk_reboot_timeout="480" pcmk_reboot_retries="4" cloud="ha-example"
次のコマンドは、認証用の OpenRC 環境スクリプトを使用して、
fence_openstack
フェンシングデバイスを作成します。# pcs stonith create fenceopenstack fence_openstack pcmk_host_map="node01:4df08e9d-2fa6-4c04-9e66-36a6f002250e;node02:43ed5fe8-6cc7-4af0-8acd-a4fea293bc62;node03:6d86fa7d-b31f-4f8a-895e-b3558df9decb" power_timeout="240" pcmk_reboot_timeout="480" pcmk_reboot_retries="4" openrc="/root/openrc"
次のコマンドは、認証にユーザー名とパスワードを使用して、
fence_openstack
フェンシングデバイスを作成します。username
、password
、project_name
、およびauth_url
などの認証パラメーターは、RHOSP 管理者によって提供されます。# pcs stonith create fenceopenstack fence_openstack pcmk_host_map="node01:4df08e9d-2fa6-4c04-9e66-36a6f002250e;node02:43ed5fe8-6cc7-4af0-8acd-a4fea293bc62;node03:6d86fa7d-b31f-4f8a-895e-b3558df9decb" power_timeout="240" pcmk_reboot_timeout="480" pcmk_reboot_retries="4" username="XXX" password="XXX" project_name="rhelha" auth_url="XXX" user_domain_name="Default"
検証
クラスター内のいずれかのノードから、クラスター内の別のノードをフェンスし、クラスターのステータスを確認します。フェンスされたノードがオフラインの場合、フェンシング操作は成功しました。
[root@node01 ~] # pcs stonith fence node02 [root@node01 ~] # pcs status
フェンシングしたノードを再起動し、ステータスをチェックして、ノードが起動したことを確認します。
[root@node01 ~] # pcs cluster start node02 [root@node01 ~] # pcs status