5.7.3. バックアップフェンスデバイスの設定

1 つのノードに対して複数のフェンシングメソッドを定義できます。1 番目のメソッドを使用してフェンシングが失敗すると、システムは 2 番目のメソッドを使用してノードのフェンスを試行します。その後に、追加で設定したメソッドが使用されます。ノードにバックアップのフェンシングメソッドを設定するには、ノードに 2 つのメソッドを設定し、各メソッドにフェンスインスタンスを設定します。

注記

設定したフェンシングメソッドをシステムが使用する順序は、クラスター設定ファイル内の順番に従います。ccs コマンドで設定する最初のメソッドがプライマリのフェンシングメソッドとなり、2 番目に設定するメソッドがバックアップのフェンシングメソッドとなります。この順序を変更するには、設定ファイルからプライマリのフェンシングメソッドを削除後、そのメソッドを再度追加しなおします。
以下のコマンドを実行すると、ノード用に現在設定されているフェンスメソッドとインスタンスの一覧をいつでも表示することができます。ノードを指定しないと、このコマンドは全てのノードで現在設定されているフェンスメソッドとインスタンスを一覧表示します。
ccs -h host --lsfenceinst [node]
次の手順にしたがい、ノードにプライマリのフェンシングメソッドを設定します。 使用するフェンスデバイスは my_apc、フェンスエージェントは fence_apc です。また、 バックアップ用のフェンスデバイスは sanswitch1、フェンスエージェントは fence_sanbox2 を使用します。sanswitch1 デバイスはストレージベースのフェンスエージェントのため、このデバイスにアンフェンシングを設定する必要もあります。
  1. ノード用にプライマリのフェンスメソッドを追加して、そのフェンスメソッドに名前を付けます。
    ccs -h host --addmethod method node
    例えば、クラスターノード node-01.example.com にある設定ファイル内でノード node-01.example.com 用のプライマリメソッドとして APC と呼ばれるフェンスメソッドを設定するには、以下のコマンドを実行します:
    ccs -h node01.example.com --addmethod APC node01.example.com
    
  2. プライマリメソッド用にフェンスインスタンスを追加します。ノード用に使用するフェンスデバイス、このインスタンスの適用先となるノード、メソッドの名前、及びこのノードに特有であるこのメソッド用のオプションを指定する必要があります:
    ccs -h host --addfenceinst fencedevicename node method [options]
    
    たとえば、クラスターノード node-01.example.com 上の設定ファイル内にフェンスインスタンスを設定するには、以下のコマンドを実行します。ここでは、APC と呼ばれるメソッドを使用してクラスターノード node-01.example.com をフェンスするために、my_apc と呼ばれるフェンスデバイス上の APC スイッチパワーポート 1 を使用するとします。
    ccs -h node01.example.com --addfenceinst my_apc node01.example.com APC port=1
    
  3. ノード用のバックアップフェンスメソッドを追加してフェンスメソッドに名前を付けます。
    ccs -h host --addmethod method node
    例えば、クラスターノード node-01.example.com にある設定ファイル内でノード node-01.example.com 用に SAN と呼ばれるバックアップフェンスメソッドを設定するには、以下のコマンドを使用します:
    ccs -h node01.example.com --addmethod SAN  node01.example.com
    
  4. バックアップメソッド用にフェンスインスタンスを追加します。ノード用に使用するフェンスデバイス、このインスタンスの適用先となるノード、メソッドの名前、及びこのノードに特有であるこのメソッド用のオプションを指定する必要があります:
    ccs -h host --addfenceinst fencedevicename node method [options]
    
    例えば、クラスターノード node-01.example.com 上の設定ファイル内にフェンスインスタンスを設定するには、以下のコマンドを実行します。ここでは、SAN と呼ばれるメソッドを使用してクラスターノード node-01.example.com をフェンスするために、sanswitch1 と呼ばれるフェンスデバイス上の SAN スイッチパワーポート 11 を使用するとします:
    ccs -h node01.example.com --addfenceinst sanswitch1 node01.example.com SAN port=11
    
  5. sanswitch1 デバイスはストレージベースのデバイスであるため、このデバイス用にアンフェンシングを設定する必要があります。
    ccs -h node01.example.com --addunfence sanswitch1 node01.example.com port=11 action=on
    
必要に応じてフェンシングメソッドを追加し続けることが可能です。
この手順は、クラスター内の 1 つのノードにフェンスデバイスとバックアップフェンスデバイスを設定します。クラスター内の他のノードにもフェンシングを設定する必要があります。
例5.4「バックアップのフェンスメソッドを追加した後の cluster.conf は、パワーベースのプライマリのフェンシングメソッド及びストレージベースのバックアップのフェンシングメソッドを、クラスター内の各ノードに追加した後の cluster.conf 設定ファイルを示しています。

例5.4 バックアップのフェンスメソッドを追加した後の cluster.conf


<cluster name="mycluster" config_version="3">
   <clusternodes>
     <clusternode name="node-01.example.com" nodeid="1">
         <fence>
            <method name="APC">
              <device name="my_apc" port="1"/>
             </method>
            <method name="SAN">
	      <device name="sanswitch1" port="11"/>
             </method>
         </fence>
         <unfence>
             <device name="sanswitch1" port="11" action="on"/> 
         </unfence
     </clusternode>
     <clusternode name="node-02.example.com" nodeid="2">
         <fence>
            <method name="APC">
              <device name="my_apc" port="2"/>
            </method>
            <method name="SAN">
	      <device name="sanswitch1" port="12"/>
             </method>
         </fence>
         <unfence>
             <device name="sanswitch1" port="12" action="on"/> 
         </unfence
     </clusternode>
     <clusternode name="node-03.example.com" nodeid="3">
         <fence>
            <method name="APC">
              <device name="my_apc" port="3"/>
            </method>
            <method name="SAN">
	      <device name="sanswitch1" port="13"/>
             </method>
         </fence>
         <unfence>
             <device name="sanswitch1" port="13" action="on"/> 
         </unfence
     </clusternode>
   </clusternodes>
   <fencedevices>
        <fencedevice agent="fence_apc" ipaddr="apc_ip_example" login="login_example" name="my_apc" passwd="password_example"/>
        <fencedevice agent="fence_sanbox2" ipaddr="san_ip_example" login="login_example" name="sanswitch1" passwd="password_example"/>
   </fencedevices>
   <rm>
   </rm>
</cluster>


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

注記

設定したフェンシングメソッドをシステムが使用する順序は、クラスター設定ファイル内の順番に従います。最初に設定するメソッドがプライマリのフェンシングメソッドとなり、2 番目に設定するメソッドがバックアップのフェンシングメソッドとなります。この順序を変更するには、設定ファイルからプライマリのフェンシングメソッドを削除後、そのメソッドを再度追加しなおします。