5.7.2. 単一のストレージベースのフェンスデバイスによるノードの設定
ノードのフェンスにパワーフェンス以外のメソッド (つまり、SAN/ストレージフェンシング) を使用する場合は、フェンスデバイスに unfencing を設定する必要があります。これにより、フェンス済みのノードは再起動されるまでは再度有効になりません。アンフェンシングを必要とするデバイスを設定する際には、最初にクラスターを停止し、デバイスおよびアンフェンシングを含むすべての設定をクラスターが開始される前に追加する必要があります。
ノードにアンフェンシングを設定する場合、
on
または enable
の明示的なアクションが意図的に追加されたノードに対して設定を行った該当するフェンスデバイスをミラーするデバイスを指定します。
ノードのアンフェンシングに関する詳細は、
fence_node
(8) の man ページを参照してください。
以下の手順に従って、
sanswitch1
と呼ばれるフェンスデバイスを使用する単一のストレージベースのフェンスデバイスでノードを設定します。このフェンスデバイスは fence_sanbox2
フェンシングエージェントを使用します。
- ノード用のフェンスメソッドを追加して、そのフェンスメソッドの名前を入力します。
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
- メソッド用のフェンスインスタンスを追加します。ノードに使用するフェンスデバイス、このインスタンスの適用先であるノード、メソッドの名前、及びこのノードに特有であるこのメソッド用のオプションを指定する必要があります:
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
- このノード上でストレージベースのフェンスデバイスにアンフェンシングを設定するには、以下のコマンドを実行します。
ccs -h host --addunfence fencedevicename node action=on|off
クラスター内の各ノードにフェンスメソッドを追加する必要があります。以下のコマンドは
SAN
と呼ばれるフェンスメソッドを各ノードに設定します。フェンスメソッド用のデバイスは sanswitch
をデバイス名として指定しますが、これは 「フェンスデバイスの設定」 で説明してあるように、以前に --addfencedev オプションで設定したデバイスです。各ノードは一意の SAN 物理ポート番号で設定されます。node-01.example.com
用のポート番号は 11
で、node-02.example.com
のポート番号は 12
、node-03.example.com
のポート番号は 13
となります。
ccs -h node01.example.com --addmethod SAN node01.example.com ccs -h node01.example.com --addmethod SAN node02.example.com ccs -h node01.example.com --addmethod SAN node03.example.com ccs -h node01.example.com --addfenceinst sanswitch1 node01.example.com SAN port=11 ccs -h node01.example.com --addfenceinst sanswitch1 node02.example.com SAN port=12 ccs -h node01.example.com --addfenceinst sanswitch1 node03.example.com SAN port=13 ccs -h node01.example.com --addunfence sanswitch1 node01.example.com port=11 action=on ccs -h node01.example.com --addunfence sanswitch1 node02.example.com port=12 action=on ccs -h node01.example.com --addunfence sanswitch1 node03.example.com port=13 action=on
例5.3「ストレージベースのフェンスメソッドを追加した後の
cluster.conf
」 は、フェンシングメソッド、フェンシングインスタンス、及びアンフェンシングをクラスター内の各ノードに追加した後の cluster.conf
設定ファイルを示しています。
例5.3 ストレージベースのフェンスメソッドを追加した後の cluster.conf
<cluster name="mycluster" config_version="3"> <clusternodes> <clusternode name="node-01.example.com" nodeid="1"> <fence> <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="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="SAN"> <device name="sanswitch1" port="13"/> </method> </fence> <unfence> <device name="sanswitch1" port="13" action="on"/> </unfence> </clusternode> </clusternodes> <fencedevices> <fencedevice agent="fence_sanbox2" ipaddr="san_ip_example" login="login_example" name="sanswitch1" passwd="password_example"/> </fencedevices> <rm> </rm> </cluster>
「クラスタノード群への設定ファイルの伝播」 に説明してあるように、クラスターの全コンポーネントの設定を終了した時点で、クラスター設定ファイルを全てのノードに対して同期する必要がある点に注意してください。