Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

2.3.4. 冗長電源を備えたノードの設定

ノード用の冗長電源装置をクラスター設定している場合は、ノードの排他処理を行う必要がある場合にそのノードが完全にシャットダウンするようフェンシングが正しく設定されているか確認してください。各電源装置を別々のフェンスメソッドとして設定するとフェンシングも別々に行われます。つまり、1 つ目の電源装置が排他処理されても 2 つ目の電源装置でシステムは稼働し続けることができるため、排他処理が行なわれないことになります。二重に電源装置を備えたシステムの設定を行なう場合には、両方の電源装置が遮断されシステムが完全に停止するようフェンスデバイスを設定する必要があります。そのためには、単一のフェンスメソッド内に 2 つのインスタンスを設定する必要があります。また、各インスタンスに対して action 属性が off のデバイスと on のデバイス 2 種類を設定します。 設定順序は action 属性が off のデバイスを先に、 そのあと on のデバイスを設定します。
二重電源装置を備えたノードにフェンシングを設定する場合は、 本セクションの手順に従ってください。
  1. 冗長電源装置を備えたノードにフェンシングを設定する場合は、 まず先に各電源スイッチをクラスターのフェンスデバイスとして設定しておく必要があります。フェンスデバイスの設定に関する詳細は 「フェンスデバイスを設定する」 を参照してください。
    現在、 クラスターに設定しているフェンスデバイスの一覧を出力させる場合は次のコマンドを実行します。
    ccs -h host --lsfencedev
  2. フェンスメソッドの名前を入力してノードにフェンスメソッドを追加します。
    ccs -h host --addmethod method node
    例えば、クラスターノード node-01.example.com の設定ファイル内で APC-dual という名前のフェンスメソッドをノード node-01.example.com に対して設定する場合は次のようなコマンドになります。
    ccs -h node-01.example.com --addmethod APC-dual node-01.example.com
  3. 1 つ目の電源装置用のフェンスインスタンスをフェンスメソッドに追加します。ノードに使用するフェンスデバイス、このインスタンスを適用するノード、メソッド名、このノードに固有となるこのメソッド用のオプションなどを指定します。ここでは action 属性は off に設定します。
    ccs -h host --addfenceinst fencedevicename node method [options] action=off
    例えば、 クラスターノード node-01.example.com の設定ファイルにフェンスインスタンスを設定するには 以下のコマンドを実行します。ここで使用しているフェンスデバイスは apc1、適用するノードは node-01.example.com、メソッド名は APC-dual とし、ノードに固有となるオプションにはフェンスデバイスの APC スイッチ電源ポート 1 を指定、action 属性は off に設定しています。
    ccs -h node-01.example.com --addfenceinst apc1 node-01.example.com APC-dual port=1 action=off
  4. 2 つ目の電源装置用のフェンスインスタンスをフェンスメソッドに追加します。 ノードに使用するフェンスデバイス、 このインスタンスを適用するノード、 メソッド名、 このノードに固有となるこのメソッド用のオプションなどを指定する必要があります。 ここでも、 インスタンスの action 属性は off に設定します。
    ccs -h host --addfenceinst fencedevicename node method [options] action=off
    例えば、 クラスターノード node-01.example.com の設定ファイルに 2 つ目のフェンスインスタンスを設定するには以下のコマンドを実行します。ここで使用しているフェンスデバイスは apc2、適用するノードは node-01.example.com、メソッド名は 1 つ目のインスタンスと同じ APC-dual とし、ノードに固有となるオプションにはフェンスデバイスの APC スイッチ電源ポート 1 を指定、action 属性は off に設定しています。
    ccs -h node-01.example.com --addfenceinst apc2 node-01.example.com APC-dual port=1 action=off
  5. 次に、1 つ目の電源装置用にフェンスインスタンスをもうひとつフェンスメソッドに追加、action 属性は on に設定します。ノードに使用するフェンスデバイス、このインスタンスを適用するノード、メソッド名、このノードに固有となるこのメソッド用のオプションなどを指定する必要があります。また、action 属性は on に設定します。
    ccs -h host --addfenceinst fencedevicename node method [options] action=on
    例えば、 クラスターノード node-01.example.com の設定ファイルにフェンスインスタンスを設定するには以下のコマンドを実行します。ここで使用しているフェンスデバイスは apc1、適用するノードは node-01.example.com、メソッド名は APC-dual とし、ノードに固有となるオプションにはフェンスデバイスの APC スイッチ電源ポート 1 を指定、action 属性は on に設定しています。
    ccs -h node-01.example.com --addfenceinst apc1 node-01.example.com APC-dual port=1 action=on
  6. 2 つ目の電源装置用にもフェンスインスタンスをもうひとつフェンスメソッドに追加、action 属性は on に設定します。ノードに使用するフェンスデバイス、このインスタンスを適用するノード、メソッド名、このノードに固有となるこのメソッド用のオプションなどを指定する必要があります。また、action 属性は on に設定します。
    ccs -h host --addfenceinst fencedevicename node method [options] action=on
    例えば、 クラスターノード node-01.example.com の設定ファイルに 2 つ目のフェンスインスタンスを設定するには以下のコマンドを実行します。ここで使用しているフェンスデバイスは apc2、適用するノードは node-01.example.com、メソッド名は 1 つ目のインスタンスと同じ APC-dual とし、ノードに固有となるオプションにはフェンスデバイスの APC スイッチ電源ポート 1 を指定、action 属性は on に設定しています。
    ccs -h node-01.example.com --addfenceinst apc2 node-01.example.com APC-dual port=1 action=on
二重電源装置用のフェンシングをクラスターの各ノードに追加した後の cluster.conf 設定ファイルを 例2.4「二重電源装置用フェンシングを追加した状態の cluster.conf に示します。

例2.4 二重電源装置用フェンシングを追加した状態の cluster.conf


<cluster name="mycluster" config_version="3">
   <clusternodes>
     <clusternode name="node-01.example.com" nodeid="1">
         <fence>
            <method name="APC-dual">
              <device name="apc1" port="1"action="off"/>
              <device name="apc2" port="1"action="off"/>
              <device name="apc1" port="1"action="on"/>
              <device name="apc2" port="1"action="on"/>
             </method>
         </fence>
     </clusternode>
     <clusternode name="node-02.example.com" nodeid="2">
         <fence>
            <method name="APC-dual">
              <device name="apc1" port="2"action="off"/>
              <device name="apc2" port="2"action="off"/>
              <device name="apc1" port="2"action="on"/>
              <device name="apc2" port="2"action="on"/>
            </method>
         </fence>
     </clusternode>
     <clusternode name="node-03.example.com" nodeid="3">
         <fence>
            <method name="APC-dual">
              <device name="apc1" port="3"action="off"/>
              <device name="apc2" port="3"action="off"/>
              <device name="apc1" port="3"action="on"/>
              <device name="apc2" port="3"action="on"/>
            </method>
         </fence>
     </clusternode>
   </clusternodes>
   <fencedevices>
       <fencedevice agent="fence_apc" ipaddr="apc_ip_example" login="login_example" name="apc1" passwd="password_example"/>
       <fencedevice agent="fence_apc" ipaddr="apc_ip_example" login="login_example" name="apc2" passwd="password_example"/>
   </fencedevices>
   <rm>
   </rm>
</cluster>

クラスターのコンポーネントの設定がすべて終了したら、 クラスター設定ファイルを全ノードに対して同期する必要があります。