第2章 ccs コマンドを使ってフェンシングを設定する
現在の Red Hat Enterprise Linux 6.1 以降のリリースより、 Red Hat High Availability Add-On では
ccs
クラスター設定コマンドに対応するようになります。ccs
コマンドを使用することにより cluster.conf
クラスター設定ファイルの作成や変更、表示などを行なうことができるようになります。ccs
コマンドを使用するとローカルのファイルシステムや遠隔にあるノードのクラスター設定ファイルの設定を行なうことができます。また、ccs
コマンドを使って、設定したクラスター内の任意のノードあるいはすべてのノードでクラスターサービスの起動や停止を行うこともできます。
本章では
ccs
コマンドを使った Red Hat High Availability Add-On のクラスター設定ファイルの設定方法について説明しています。
次のようなセクションで構成されます。
注記
High Availability Add-On の導入が確かにニーズに適合しサポートされるのか必ず確認してください。導入を行なう前に、 Red Hat 認定担当者に連絡して導入予定の構成の確認を行なうようにしてください。 また、 バーンイン期間を設けて障害モードのテストを実施するようにしてください。
注記
本章では、 よく使用される
cluster.conf
のエレメントや属性について記載しています。 cluster.conf
のエレメントおよび属性の全一覧とその詳細については /usr/share/cluster/cluster.rng
のクラスタースキーマおよび /usr/share/doc/cman-X.Y.ZZ/cluster_conf.html
の注釈付きスキーマ (/usr/share/doc/cman-3.0.12/cluster_conf.html
など) を参照してください。
2.1. フェンスデバイスを設定する
フェンスデバイスの設定とは、クラスターにフェンスデバイスを作成する、フェンスデバイスを更新する、 フェンスデバイスを削除することを指します。クラスター内のノードに対して排他処理 (フェンシング) を設定する前に、まずクラスター内にフェンスデバイスを作成して名前を付ける必要があります。クラスター内の各ノードに対してフェンシングを設定する方法については 「クラスターのメンバーにフェンシングを設定する」 を参照してください。
フェンスデバイスを設定する前に、フェンスデーモンプロパティの一部をシステムに合わせてデフォルト値から変更したい場合があるかもしれません。 フェンスデーモンに設定する値はクラスター全体に適用されます。変更が可能な汎用フェンスプロパティを以下に簡単に説明しておきます。
post_fail_delay
属性は、 ノードに障害が発生した場合にそのノード (フェンスドメインのメンバー) を排他処理するまでにフェンスデーモン (fenced
) を待機させる秒数です。post_fail_delay
のデフォルト値は0
です。 この値はクラスターとネットワークのパフォーマンスに合わせて変更できます。post-join_delay
属性は、 ノードがフェンスドメインに参加した後そのノードを排他処理するまでにフェンスデーモン (fenced
) を待機させる秒数です。post_join_delay
のデフォルト値は6
です。 に見られる一般的な設定は 20 秒から 30 秒ですが、 クラスターやネットワークのパフォーマンスにより異なります。
post_fail_delay
属性と post_join_delay
属性の値をリセットする場合は ccs
コマンドの --setfencedaemon
オプションを使用します。 ただし、ccs --setfencedaemon
コマンドを実行すると既存のフェンスデーモンプロパティがすべて上書きされるため注意してください。
たとえば、
post_fail_delay
属性の値を設定する場合は次のコマンドを実行します。 このコマンドで設定できるその他すべての既存フェンスデーモンプロパティの値が上書きされます。
ccs -h host --setfencedaemon post_fail_delay=value
post_join_delay
属性の値を設定する場合は次のコマンドを実行します。 このコマンドで設定できるその他すべての既存フェンスデーモンプロパティの値が上書きされます。
ccs -h host --setfencedaemon post_join_delay=value
post_join_delay
属性と post_fail_delay
属性の両方の値を設定する場合は次のコマンドを実行します。
ccs -h host --setfencedaemon post_fail_delay=value post_join_delay=value
注記
post_join_delay
属性、post_fail_delay
属性、変更可能なフェンスデーモンのプロパティの詳細は fenced(8) の man ページおよび /usr/share/cluster/cluster.rng
のクラスタースキーマ、/usr/share/doc/cman-X.Y.ZZ/cluster_conf.html
の注釈付きスキーマなどを参照してください。
クラスターにフェンスデバイスを設定する場合は次のコマンドを実行します。
ccs -h host --addfencedev devicename [fencedeviceoptions]
たとえば、
node1
と言うクラスターノードの設定ファイル内に myfence
と言う APC フェンスデバイスを設定する場合は、 次のコマンドを実行します。 IP アドレスは apc_ip_example
、 ログインは login_example
、 パスワードは password_example
とします。
ccs -h node1 --addfencedev myfence agent=fence_apc ipaddr=apc_ip_example login=login_example passwd=password_example
APC フェンスデバイスを追加した後の
cluster.conf
設定ファイル内の fencedevices
セクションの例を示します。
<fencedevices> <fencedevice agent="fence_apc" ipaddr="apc_ip_example" login="login_example" name="myfence" passwd="password_example"/> </fencedevices>
クラスターにフェンスデバイスを設定する場合、クラスターに使用できるデバイスとそのデバイスのオプション一覧を表示できると便利な場合があります。また、クラスターに現在設定しているフェンスデバイスを表示させたい場合もあります。
ccs
コマンドを使って使用できるフェンスデバイスやオプションの一覧を表示させたり、現在設定しているフェンスデバイス一覧を表示させる方法については 「フェンスデバイスとフェンスデバイスのオプションの一覧を表示する」 を参照してください。
クラスター設定からフェンスデバイスを削除する場合は次のコマンドを実行します。
ccs -h host --rmfencedev fence_device_name
たとえば、
myfence
と言う名前を付けたフェンスデバイスを node1
という名前のクラスターノードにあるクラスター設定ファイルから削除する場合は次のコマンドを実行します。
ccs -h node1 --rmfencedev myfence
すでに設定済みのフェンスデバイスの属性を変更する必要がある場合は、 まずそのフェンスデバイスを削除して属性の変更を行なってから再びそのフェンスデバイスの追加を行ないます。
クラスターのコンポーネントの設定がすべて終了したら、 クラスター設定ファイルを全ノードに対して同期する必要があります。