1.3. 排他処理の設定

クラスターの各ノードにフェンスデバイスを設定する必要があります。フェンス設定コマンドの説明やオプションは、『Red Hat Enterprise Linux 7 High Availability Add-On リファレンス』 を参照してください。排他処理 (フェンシング) やその重要性は、Fencing in a Red Hat High Availability Cluster を参照してください。

注記

フェンスデバイスの設定をする際、そのフェンスデバイスで管理を行うノードと電源が共有されていないことを必ず確認してください。
ここでは zapc.example.com というホスト名の APC 電源スイッチを使ってノードの排他処理を行います。このスイッチは fence_apc_snmp フェンスエージェントを使用します。ノードはすべて同じフェンスエージェントで排他処理されるため、pcmk_host_mappcmk_host_list のオプションを使ってすべてのフェンスデバイスを一つのリソースとして設定できます。
pcs stonith create コマンドを使って stonith リソースとしてデバイスを設定し、フェンスデバイスを作成します。次のコマンドは、z1.example.com および z2.example.com ノードの fence_apc_snmp フェンスエージェントを使用する myapc という名前の stonith リソースを設定します。pcmk_host_map オプションは z1.example.com をポート 1 にマップし、z2.example.com をポート 2 にマップします。APC デバイスのログイン値とパスワードはいずれも apc です。デフォルトでは、このデバイスは各ノードに対して 60 秒間隔で監視を行います。
ノードのホスト名を指定する場合、IP アドレスを使用することができます。
[root@z1 ~]# pcs stonith create myapc fence_apc_snmp \
ipaddr="zapc.example.com" pcmk_host_map="z1.example.com:1;z2.example.com:2" \
pcmk_host_check="static-list" pcmk_host_list="z1.example.com,z2.example.com" \
login="apc" passwd="apc"

注記

fence_apc_snmp stonith デバイスを作成するときに次のような警告メッセージが表示されることがありますがこのメッセージは無視して構いません。
Warning: missing required option(s): 'port, action' for resource type: stonith:fence_apc_snmp
次のコマンドを使うと既存の STONITH デバイスのパラメーターが表示されます。
[root@rh7-1 ~]# pcs stonith show myapc
 Resource: myapc (class=stonith type=fence_apc_snmp)
  Attributes: ipaddr=zapc.example.com pcmk_host_map=z1.example.com:1;z2.example.com:2 pcmk_host_check=static-list pcmk_host_list=z1.example.com,z2.example.com login=apc passwd=apc
  Operations: monitor interval=60s (myapc-monitor-interval-60s)
フェンスデバイスの設定が終了したら、デバイスのテストを行ってください。フェンスデバイスのテストの説明は、『High Availability Add-On リファレンス』 の フェンス機能: STONITH の設定

注記

ネットワークインターフェースを無効にしてフェンスデバイスのテストを実行しないでください。フェンシングが適切にテストされなくなるためです。

注記

フェンシングが設定され、クラスターが起動されると、ネットワークの再起動により、タイムアウトを超えない場合でもネットワークを再起動するノードのフェンシングがトリガーされます。このため、クラスターサービスの実行中にネットワークサービスを再起動しないでください。ノード上の意図しないフェンシングがトリガーされてしまうためです。