ポリシーに指定されるすべての設定は、
HA マネージャーがそのポリシーに関連した HA グループを管理する方法に影響を与えます。
ポリシー設定の中には、ポリシー・タイプ固有のものもあれば、
すべてのポリシー・タイプに適用されるものもあります。
既存のポリシーの設定を変更する前に、すべての関連した HA グループに対する影響を理解することが重要です。
ポリシー・タイプ設定の影響
ポリシー・タイプは、
HA グループのどのメンバーを、これらのメンバーを含むサーバーの始動時に、自動的にアクティブするかを決定しま
す。
既存の HA グループ・ポリシーのポリシー・タイプを直接変更することはできません。
ポリシー・タイプを変更する必要がある場合は、異なるポリシー・タイプで
新規ポリシーを作成し、
そのポリシーに一致基準を指定する必要があります。
HA マネージャーは、この一致基準を使用して、元のポリシーの代わりに新規ポリシーを選択し、HA グループと関連付けます。
異なるポリシー・タイプで新規ポリシーを作成する前に、
どのコンポーネントが元のポリシーを適用する HA グループを使用しているかを判別し、
これらのコンポーネントが新規ポリシーをサポートすることを確認する必要があります。
例えば、サービス統合バス (SIB) コンポーネントでは、所定の時刻に 1 つのグループ・メンバーだけがアクティブで
あればよいため、その HA グループに、「N ポリシー中の 1 つ」が必要になる場合があります。サービス統合バスの HA グループに関連したポリシーを、「すべてのアクティブ・ポリシー」に変更すると、
サービス統合バスの高可用性サポートが正しく機能せず、データ破壊が起こることがあります。
新規ポリシーを作成する場合、以下のポリシー・タイプのいずれかを選択できます。
- すべてのアクティブ・ポリシー
- このポリシーが選択されると、HA グループのすべてのメンバーがアクティブになります。
- N ポリシー中の M
- N 個のメンバーがある HA グループにこのポリシーを選択すると、
それらのうち M 個のメンバーがアクティブになります。
M が表す数値は、ポリシー設定で構成可能です。
優先サーバーの設定を使用して、HA グループないでアクティブにするメンバーの優先順位を指定できます。
- オペレーション・ポリシーなし
- このポリシーを選択すると、アクティブにされる HA グループ・メンバーはありません。
管理コンソールを使用して、特定のグループ・メンバーを手動でアクティブにすることができます。
- N ポリシー中の 1 つ
- N 個のメンバーがある HA グループにこのポリシーを選択すると、
グループのメンバーのうち 1 つだけがアクティブになります。
優先サーバーの設定を使用して、HA グループないでアクティブにするメンバーの優先順位を指定できます。
- 静的ポリシー
- このポリシーを選択すると、静的グループ・サーバー設定で指定されたメンバーだけがアクティブになります。
優先サーバー設定の影響
「N ポリシーの中の 1 つ」および「N ポリシー中の M」というポリシー・タイプを使用すると、
優先サーバーのリストをポリシー設定の一部としてセットアップできます。
優先サーバーのリストを使用すると、管理者は、
どの HA グループ・メンバーをアクティブにするかを設定できます。
優先サーバー・リストが指定されていない場合は、
使用可能な任意の HA グループ・メンバーをアクティブにするメンバーとして選択することができます。
優先サーバー・リストが指定されている場合、
アクティブにするメンバーは、優先順位に従ってリストから選択されます。
最優先のサーバーは、リストの一番目にあるサーバーです。
以下に、ポリシーが優先サーバー・リストを使用する方法を例示します。
例:
HA グループには、3 つのメンバーがあり、
ServerA、ServerB、および ServerC という名前のアプリケーション・サーバーに配置されています。
このグループには、「N ポリシー中の 1 つ」が適用されます。
このポリシーでは、3 つのメンバーのうち、所定時刻にアクティブになるのは 1 つだけです。
ポリシーの実行時に 3 つのメンバーすべてが実行中で使用可能な場合、以下のようになります。
- 優先サーバーが指定されていない場合、HA マネージャーは 3 つのメンバーのうち 1 つをランダムに選択し、
それをアクティブにします。
- ServerB が優先サーバー・リストの唯一のサーバーである場合、
HA マネージャーは、このサーバー上のメンバーをアクティブにしてから、
他の 2 つのメンバーのいずれかをアクティブにします。
これは、ポリシーが実行されたときに、このサーバー上にあるそのメンバーが使用可能であることを前提とします。
- 3 つのアプリケーション・サーバーのうちすべてが、次の順序で優先サーバー・リストにリストされており
、他のすべての要素が同等である場合、HA マネージャーは、ServerC 上にあるメンバーをアクティブにします。
優先サーバー・リストの使用方法に直接影響を与える他の 2 つのポリシー設定は、
フェイルバック設定と優先サーバーのみ設定です。
フェイルバック設定の影響
フェイルバック設定を使用して、障害後に再始動したときに、
最優先のサーバー上の HA グループ・メンバーが受ける影響を指定します。
メンバーに対するフェイルバック設定の影響については、2 つの例に最も良く示されています。
始動時の例:
HA グループには、3 つのメンバーがあり、
ServerA、ServerB、および ServerC という名前のアプリケーション・サーバーに配置されています。
このグループには、「N ポリシー中の 1 つ」が適用されます。
このポリシーでは、3 つのメンバーのうち、所定時刻にアクティブになるのは 1 つだけです。
ServerB という名前のサーバーは、優先サーバー・リスト内の唯一のサーバーです。
この例では、いずれのサーバーも始動されません。
ServerA が始動すると、「N ポリシー中の 1 つ」の指示に従って、HA マネージャーがメンバ
ーをアクティブにします。
このアプリケーション・サーバーが稼働中の唯一のサーバーであるため、
ServerA 上のメンバーがアクティブにされます。
優先サーバー・リストの唯一のサーバーである ServerB を始動すると、以下の 2 つのうちいずれかが発生します。
- ServerB の始動時にフェイルバックが使用可能にされると、
HA マネージャーは現在のアクティブ・メンバーを非アクティブにし、
ServerB が優先サーバー・リストにあるため、ServerB 上のメンバーをアクティブにします。
- ServerB の始動時にフェイルバックが使用不可にされている場合、
現在のアクティブ・メンバーはアクティブ・メンバーのままです。
障害後の例:
HA グループには、3 つのメンバーがあり、
ServerA、ServerB、および ServerC という名前のアプリケーション・サーバーに配置されています。
このグループには、「N ポリシー中の 1 つ」が適用されます。
このポリシーでは、3 つのメンバーのうち、所定時刻にアクティブになるのは 1 つだけです。
ServerB は優先サーバー・リストの唯一のサーバーであり、
現在アクティブになっている唯一のメンバーです。
ServerB に障害が発生すると、HA マネージャーは、残りのメンバーのうち 1 つをアクティブにして、その
メンバーに置き換えます。
フェイルバック設定によって、ServerB の修復と再始動後の状態が決まります。
- ServerB 再始動時にフェイルバック設定が使用可能である場合、
現在のアクティブ・メンバーが非アクティブにされ、
ServerB が依然として最優先サーバーであるため、ServerB 上のメンバーがアクティブにされます。
- ServerB の再始動時にフェイルバックが使用不可にされている場合、現在のアクティブ・メンバーはアクティ
ブ・メンバーのままです。
優先サーバーのみ設定の影響
優先サーバーのみ設定を使用して、
ポリシーが優先サーバー上のメンバーのみをアクティブにするよう、指示します。
この設定を有効にすると、優先サーバー・リストで指定されたサーバー上で実行されているメンバーのみがアクティブにされます。
優先サーバーが指定されていない場合、または現在使用可能な優先サーバーがない場合、
メンバーはアクティブにされません。
始動時の例:
HA グループには、3 つのメンバーがあり、
ServerA、ServerB、および ServerC という名前のアプリケーション・サーバーに配置されています。
このグループには、「N ポリシー中の 1 つ」が適用されます。
このポリシーでは、3 つのメンバーのうち、所定時刻にアクティブになるのは 1 つだけです。
ServerB は、優先サーバー・リストの唯一のサーバーです。
この例では、いずれのサーバーも始動されません。
ServerA の始動時に、「N ポリシー中の 1 つ」の指示に従って、
HA マネージャーがメンバーをアクティブにします。
ServerA が稼働中の唯一のサーバーであるため、ServerA 上のメンバーがアクティブにされます。
これが ServerB 始動時に優先サーバー・リストにある唯一のサーバーであるため、
以下の 2 つのうちいずれかが発生します。
- ServerA または ServerC の始動時に「優先サーバーのみ」が使用可能である場合は、
いずれのメンバーもアクティブにされません。
これは、HA マネージャーがアクティブにできるのは、
優先サーバー・リストにあるサーバー上のメンバーだけであるためです。
ServerB の始動時に、HA マネージャーは、ServerB が優先サーバー・リストにあるため、
ServerB 上のメンバーをアクティブにします。
- ServerA の始動時に「優先サーバーのみ」が使用不可にされている場合は、
グループの任意のメンバーをアクティブ・メンバーすることができるため、
ServerA 上のメンバーがアクティブにされます。
ServerB または ServerC の始動時には、ServerA 上のメンバーがすでにアクティブにされているため、
アクティブ化は行われません。
障害後の例:
HA グループには、3 つのメンバーがあり、
ServerA、ServerB、および ServerC という名前のアプリケーション・サーバーに配置されています。
このグループには、「N ポリシー中の 1 つ」が適用されます。
このポリシーでは、3 つのメンバーのうち、所定時刻にアクティブになるのは 1 つだけです。
ServerB は、優先サーバー・リストの唯一のサーバーです。
ServerB にあるメンバーは、アクティブ・メンバーです。
ServerB に障害が発生すると、以下の 2 つのうちいずれかが発生します。
- ServerB の障害時に「優先サーバーのみ」が使用可能である場合、
HA マネージャーは、優先サーバー・リストに含まれるサーバー上にある別のメンバーのみをアクティブにできま
す。
ServerB が優先サーバー・リストの唯一のサーバーであるため、
ほかのメンバーはアクティブにされません。
- ServerB の障害時に「優先サーバーのみ」が使用不可にされている場合、
HA マネージャーは、残りのメンバーのうち 1 つをアクティブにして、ServerB 上のメンバーと置き換えます。
静的グループ・サーバー設定の影響
静的グループ・サーバーのリストを、静的ポリシー・タイプの構成設定の一部として指定できます。
HA グループに静的ポリシー・タイプが適用される場合、
静的グループ・サーバー・リストによって、可能な場合にどのグループ・メンバーをアクティブにするかが定義されます。
稼働タイマー設定の影響
稼働タイマー設定は、HA マネージャーが、
所定のポリシーが適用されるアクティブなグループ・メンバーの正常性を検査する頻度を制御します。
HA マネージャーは、以下のような、基本的に異なる 2 種類の障害を検出できます。
- プロセス全体が機能を停止または終了する場合を検出できます。
このタイプの障害検出は、稼働タイマー設定で指定された値の影響を受けません。
- プログラムが失敗する場合を検出できます。
このタイプの障害検出は、稼働タイマー設定で指定された値の影響を受けます。
稼働タイマー設定に指定された値によって、
プロセス全体の機能停止または終了の原因とならない、処理上の問題が検出されるまでの経過時間が決まります。
管理者は、稼働タイマーをポリシー・レベルで指定することができます。
この場合、このポリシーが適用されるすべてのメンバーに適用されます。
また、プロセス・レベルでも指定できますが、この場合、特定のプロセスで実行中のすべてのメンバーに適用されます。
管理者はまた、これらのいずれのレベルでも、このタイプの障害検出を使用不可にすることができます。
クォーラム設定の影響
クォーラムは、障害時に HA グループのメンバー全体で共用されるリソースを保護するために使用
できるメカニズムです。
使用可能にされている場合、ポリシーは、クォーラムに達するまで、グループ・メンバーをアクティブにしませ
ん。
HA グループは、過半数のメンバーが実行されるまでクォーラムに達しません。
例えば、グループに n 個のメンバーがある場合、
クォーラムに達するには、(n/2) + 1 個のサーバーがオンラインである必要があります。
クォーラムは、クラスター、特殊なコンポーネント・コード、
およびハードウェア制御機能と連動するように設計された拡張機能です。
現在、WebSphere Application Server コンポーネントをサポートしている HA グループでクォーラム・メカニズムを
使用するものはありません。
したがって、クォーラム設定は使用可能にしないでください。