5.7.3. バックアップフェンスデバイスの設定
1 つのノードに対して複数のフェンシングメソッドを定義できます。1 番目のメソッドを使用してフェンシングが失敗すると、システムは 2 番目のメソッドを使用してノードのフェンスを試行します。その後に、追加で設定したメソッドが使用されます。ノードにバックアップのフェンシングメソッドを設定するには、ノードに 2 つのメソッドを設定し、各メソッドにフェンスインスタンスを設定します。
注記
設定したフェンシングメソッドをシステムが使用する順序は、クラスター設定ファイル内の順番に従います。
ccs
コマンドで設定する最初のメソッドがプライマリのフェンシングメソッドとなり、2 番目に設定するメソッドがバックアップのフェンシングメソッドとなります。この順序を変更するには、設定ファイルからプライマリのフェンシングメソッドを削除後、そのメソッドを再度追加しなおします。
以下のコマンドを実行すると、ノード用に現在設定されているフェンスメソッドとインスタンスの一覧をいつでも表示することができます。ノードを指定しないと、このコマンドは全てのノードで現在設定されているフェンスメソッドとインスタンスを一覧表示します。
ccs -h host --lsfenceinst [node]
ccs -h host --lsfenceinst [node]
次の手順にしたがい、ノードにプライマリのフェンシングメソッドを設定します。 使用するフェンスデバイスは
my_apc
、フェンスエージェントは fence_apc
です。また、 バックアップ用のフェンスデバイスは sanswitch1
、フェンスエージェントは fence_sanbox2
を使用します。sanswitch1
デバイスはストレージベースのフェンスエージェントのため、このデバイスにアンフェンシングを設定する必要もあります。
- ノード用にプライマリのフェンスメソッドを追加して、そのフェンスメソッドに名前を付けます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ccs -h host --addmethod method node
ccs -h host --addmethod method node
例えば、クラスターノードnode-01.example.com
にある設定ファイル内でノードnode-01.example.com
用のプライマリメソッドとしてAPC
と呼ばれるフェンスメソッドを設定するには、以下のコマンドを実行します:Copy to Clipboard Copied! Toggle word wrap Toggle overflow ccs -h node01.example.com --addmethod APC node01.example.com
ccs -h node01.example.com --addmethod APC node01.example.com
- プライマリメソッド用にフェンスインスタンスを追加します。ノード用に使用するフェンスデバイス、このインスタンスの適用先となるノード、メソッドの名前、及びこのノードに特有であるこのメソッド用のオプションを指定する必要があります:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ccs -h host --addfenceinst fencedevicename node method [options]
ccs -h host --addfenceinst fencedevicename node method [options]
たとえば、クラスターノードnode-01.example.com
上の設定ファイル内にフェンスインスタンスを設定するには、以下のコマンドを実行します。ここでは、APC
と呼ばれるメソッドを使用してクラスターノードnode-01.example.com
をフェンスするために、my_apc
と呼ばれるフェンスデバイス上の APC スイッチパワーポート 1 を使用するとします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ccs -h node01.example.com --addfenceinst my_apc node01.example.com APC port=1
ccs -h node01.example.com --addfenceinst my_apc node01.example.com APC port=1
- ノード用のバックアップフェンスメソッドを追加してフェンスメソッドに名前を付けます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ccs -h host --addmethod method node
ccs -h host --addmethod method node
例えば、クラスターノードnode-01.example.com
にある設定ファイル内でノードnode-01.example.com
用にSAN
と呼ばれるバックアップフェンスメソッドを設定するには、以下のコマンドを使用します:Copy to Clipboard Copied! Toggle word wrap Toggle overflow ccs -h node01.example.com --addmethod SAN node01.example.com
ccs -h node01.example.com --addmethod SAN node01.example.com
- バックアップメソッド用にフェンスインスタンスを追加します。ノード用に使用するフェンスデバイス、このインスタンスの適用先となるノード、メソッドの名前、及びこのノードに特有であるこのメソッド用のオプションを指定する必要があります:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ccs -h host --addfenceinst fencedevicename node method [options]
ccs -h host --addfenceinst fencedevicename node method [options]
例えば、クラスターノードnode-01.example.com
上の設定ファイル内にフェンスインスタンスを設定するには、以下のコマンドを実行します。ここでは、SAN
と呼ばれるメソッドを使用してクラスターノードnode-01.example.com
をフェンスするために、sanswitch1
と呼ばれるフェンスデバイス上の SAN スイッチパワーポート 11 を使用するとします:Copy to Clipboard Copied! Toggle word wrap Toggle overflow ccs -h node01.example.com --addfenceinst sanswitch1 node01.example.com SAN port=11
ccs -h node01.example.com --addfenceinst sanswitch1 node01.example.com SAN port=11
sanswitch1
デバイスはストレージベースのデバイスであるため、このデバイス用にアンフェンシングを設定する必要があります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ccs -h node01.example.com --addunfence sanswitch1 node01.example.com port=11 action=on
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>
<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 番目に設定するメソッドがバックアップのフェンシングメソッドとなります。この順序を変更するには、設定ファイルからプライマリのフェンシングメソッドを削除後、そのメソッドを再度追加しなおします。