5.8. フェイルオーバードメインの設定
フェイルオーバードメインは、ノードに障害が発生した場合にクラスターサービスを実行するのに有効なクラスターノードの名前付きサブセットです。フェイルオーバードメインは、以下の特性を持つことができます:
- Unrestricted(制限なし) — 優先するメンバーのサブセットを指定できるようにしますが、このドメインに割り当てられたクラスターサービスはいずれの利用可能なメンバーでも実行できます。
- Restricted(制限あり) — 特定のクラスターサービスを実行できるメンバーを制限できるようにします。制限されたフェイルオーバードメインのメンバーがどれも使用できない場合は、クラスターサービスを (手動あるいはクラスターソフトウェアによっても) 開始できません。
- Unordered(優先順なし) — クラスターサービスが優先順なしのフェイルオーバードメインへ割り当てられる場合、クラスターサービスを実行するメンバーは、優先順なしの利用可能なフェイルオーバードメインメンバーから選択されます。
- Ordered(優先順あり) — フェイルオーバードメインのメンバー間で優先順を指定できるようにします。一覧のトップにあるメンバーが最優先となり、次に一覧の 2 番目のメンバー、その後も順に続きます。
- Failback(フェイルバック) — フェイルオーバードメイン内のサービスが、ノード障害の前に元々実行していたノードへフェイルバックするかどうかを指定できるようにします。この特性の設定が役立つのは、ノードが繰り返し失敗し、それが優先順ありのフェイルオーバードメインの一部であるような状況です。この状況では、ノードがフェイルオーバードメイン内の優先ノードである場合には、優先ノードと別のノード間でサービスがフェイルオーバーとフェイルバックを繰り返す可能性があるため、パフォーマンスに重大な影響を与えることになります。
注記
優先順のあるフェイルオーバーが設定されている場合にのみ、フェイルバックの特性が利用できます。
注記
フェイルオーバードメイン設定を変更しても、現在実行中のサービスには影響しません。
注記
フェイルオーバードメインは、運用には必須 ではありません。
デフォルトでは、フェイルオーバードメインは制限なしで優先順がありません。
複数のメンバーを持つクラスター内では、制限ありのフェイルオーバードメインを使用することで、クラスターサービス (
httpd
など) を実行するためのクラスターを設定する作業を最小限にできます。このためには、クラスターサービスを実行する全てのメンバー上で、設定を同一にする必要があります。クラスターサービスを実行するようクラスター全体を設定する代わりに、クラスターサービスに関連付ける制限ありのフェイルオーバードメイン内のメンバーのみを設定するだけで済みます。
注記
優先するメンバーを設定するには、1 つだけのクラスターメンバーから成る制限なしのフェイルオーバードメインを作成します。そうすることで、クラスターサービスが主にそのクラスターメンバー (優先メンバー) 上で実行することになりますが、クラスターサービスは他のどのメンバーにでもフェイルオーバーできるようになります。
フェイルオーバードメインを設定するには、以下の手順を実行します:
- フェイルオーバードメインを追加するには、以下のコマンドを実行します:
ccs -h host --addfailoverdomain name [restricted] [ordered] [nofailback]
注記
名前は、クラスター内で使用されている他の名前に対して、その目的を区別できるような説明的な名前にすることをお勧めします。例として次のコマンドでは、node-01.example.com
上で制限なし、優先順あり、フェイルバックが可能なexample_pri
と呼ばれるフェイルオーバードメインを設定します:ccs -h node-01.example.com --addfailoverdomain example_pri ordered
- ノードをフェイルオーバードメインに追加するには、以下のコマンドを実行します:
ccs -h host --addfailoverdomainnode failoverdomain node priority
例えば、node-01.example.com
上の設定ファイルでフェイルオーバードメインexample_pri
を設定して、優先順位 1 を持つnode-01.example.com
、優先順位 2 を持つnode-02.example.com
、及び優先順位 3 を持つnode-03.example.com
を含むようにするには、以下のコマンド群を実行します:ccs -h node-01.example.com --addfailoverdomainnode example_pri node-01.example.com 1 ccs -h node-01.example.com --addfailoverdomainnode example_pri node-02.example.com 2 ccs -h node-01.example.com --addfailoverdomainnode example_pri node-03.example.com 3
以下のコマンドで、クラスター内で設定された全てのフェイルオーバードメインとフェイルオーバードメインノードを一覧表示することができます:
ccs -h host --lsfailoverdomain
フェイルオーバードメインを削除するには、以下のコマンドを実行します:
ccs -h host --rmfailoverdomain name
フェイルオーバードメインからノードを削除するには、以下のコマンドを実行します:
ccs -h host --rmfailoverdomainnode failoverdomain node
「クラスタノード群への設定ファイルの伝播」 に説明してあるように、クラスターの全コンポーネントの設定を終了した時点で、クラスター設定ファイルを全てのノードに対して同期する必要がある点に注意してください。