5.7.4. 冗長電源を持つノードの設定

使用中のクラスターがノード群用に冗長電源装置で設定されている場合は、そのノード群がフェンスされる必要があるときに完全にシャットダウンされるようにフェンシングを設定する必要があります。各電源装置を別々のフェンスメソッドとして設定すると、各電源装置は別々にフェンスされます。つまり、1 つ目の電源装置がフェンスされると、2 つ目の電源装置によりシステムは引き続き実行可能なため、システムは全くフェンスされません。二重電源装置のシステムを設定するには、両方の電源装置が遮断されてシステムが完全に停止するようにフェンスデバイスを設定する必要があります。そのためには単一のフェンシングメソッド内に 2 つのインスタンスを設定する必要があります。また、各インスタンスに対して、両方のフェンスデバイスの action 属性を off に設定してから、各デバイスのaction 属性を on に設定する必要があります。
二重電源装置のノードにフェンシングを設定するには、このセクションの以下の手順に従ってください。
  1. 冗長電源を持つノードにフェンシングを設定するには、各電源スイッチをクラスターのフェンスデバイスとして設定する必要があります。フェンスデバイスの設定に関する詳細は、「フェンスデバイスの設定」 を参照してください。
    クラスター用に現在設定されているフェンスデバイスの一覧を表示するには、次のコマンドを実行します:
    ccs -h host --lsfencedev
    
  2. ノード用のフェンスメソッドを追加して、そのフェンスメソッドの名前を入力します。
    ccs -h host --addmethod method node
    例えば、クラスターノード node-01.example.com にある設定ファイル内でノード node-01.example.com 用に APC-dual と呼ばれるフェンスメソッドを設定するには、以下のコマンドを実行します:
    ccs -h node01.example.com --addmethod APC-dual node01.example.com
    
  3. 1 つ目の電源装置用のフェンスインスタンスをフェンスメソッドに追加します。ノードに使用するフェンスデバイス、このインスタンスの適用先となるノード、メソッドの名前、及びこのノードに特有であるこのメソッド用のオプションを指定する必要があります。ここで action 属性を off として設定します。
    ccs -h host --addfenceinst fencedevicename node method [options] action=off
    
    例えば、クラスターノード node-01.example.com 上の設定ファイル内にフェンスインスタンスを設定するには、以下のコマンドを実行します。ここでは、APC-dual と呼ばれるメソッドを使用してクラスターノード node-01.example.com をフェンスするために、apc1 と呼ばれるフェンスデバイス上の APC スイッチパワーポート 1 を使用するとします。また、action 属性を off に設定します。
    ccs -h node01.example.com --addfenceinst apc1 node01.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 つ目のフェンスインスタンスを設定するには、以下のコマンドを実行します。ここでは、APC-dual と呼ばれる 1 つ目のインスタンスに指定した時と同じメソッドを使用してクラスターノード node-01.example.com をフェンスするために、apc2 と呼ばれるフェンスデバイス上の APC スイッチパワーポート 1 を使用するとします。また、action 属性を off に設定します。
    ccs -h node01.example.com --addfenceinst apc2 node01.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 上の設定ファイル内にフェンスインスタンスを設定するには、以下のコマンドを実行します。ここでは、APC-dual と呼ばれるメソッドを使用してクラスターノード node-01.example.com をフェンスするために、apc1 と呼ばれるフェンスデバイス上の APC スイッチパワーポート 1 を使用するとします。また、action 属性を on に設定します。
    ccs -h node01.example.com --addfenceinst apc1 node01.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 つ目のフェンスインスタンスを設定するには、以下のコマンドを実行します。ここでは、APC-dual と呼ばれる 1 つ目のインスタンスに指定した時と同じメソッドを使用してクラスターノード node-01.example.com をフェンスするために、apc2 と呼ばれるフェンスデバイス上の APC スイッチパワーポート 1 を使用するとします。また、action 属性を on に設定します。
    ccs -h node01.example.com --addfenceinst apc2 node01.example.com APC-dual port=1 action=on
    
例5.5「二重パワーフェンシングを追加した後の cluster.conf は、2 つの電源装置用のフェンシングをクラスターの各ノードに追加した後の cluster.conf 設定ファイルを示しています。

例5.5 二重パワーフェンシングを追加した後の 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>


「クラスタノード群への設定ファイルの伝播」 に説明してあるように、クラスターの全コンポーネントの設定を終了した時点で、クラスター設定ファイルを全てのノードに対して同期する必要がある点に注意してください。