クラスタアプリケーションに排他関係を設定した場合、排他関係にあるクラスタアプリケーションが1つのクラスタノードで同時に運用状態にならないようにします。排他関係はスタンバイ運用のクラスタアプリケーション間にだけ設定できます。フェイルオーバが発生した場合は、排他関係にあるクラスタアプリケーションの業務優先度で運用を継続するクラスタアプリケーションを決定します。
排他制御は、同一グループのクラスタアプリケーション間で行われます。
参考
排他関係を設定するには、排他関係を設定するクラスタアプリケーションのグループを作成します。グループは最大52個まで作成することができます。
排他関係の設定については、“6.7.2.1 スタンバイ運用のクラスタアプリケーション作成”を参照してください。
排他関係を設定するクラスタアプリケーションの Standby 状態への遷移は、StandbyTransitions 属性に従います。
注意
あるノードでクラスタアプリケーションがFaulted状態となっている場合、そのノード上で排他関係にあるクラスタアプリケーションを新たに起動して運用状態にすることはできません。後から起動されたクラスタアプリケーションは業務優先度にかかわらず停止されます。
これは、Faulted状態のクラスタアプリケーション配下のリソースがすべて停止できていない可能性があることが理由です。
このような場合には、Faulted状態のクラスタアプリケーションに対し Faulted 状態のクリアを実施して Offline状態としてから、排他関係にあるクラスタアプリケーションを起動してください。
クラスタアプリケーションの Faulted状態のクリア操作については、“7.2.2.4 Faulted 状態のクラスタアプリケーションを運用可能な状態にする”を参照してください。
クラスタアプリケーション間の排他関係を設定した場合、クラスタを構成するノード数および同じ排他関係のグループに属するクラスタアプリケーション数が多いほどクラスタアプリケーションの Online処理に時間がかかります。
クラスタアプリケーションのOnline処理にかかる最大時間を確認する場合、以下の条件に合致するクラスタアプリケーションを切り替えることで確認してください。
待機系ですべてのクラスタアプリケーションがOffline状態
クラスタアプリケーション数が最も多いグループに属する、かつアルファベット順が一番早いクラスタアプリケーション
Online処理時間が期待より長い場合には、クラスタアプリケーションの排他関係のグループを分けることで、時間を短縮してください。
排他関係にあるクラスタアプリケーションのフェイルオーバ時の動作を、以下の場合に分けて説明します。
業務優先度が異なる場合
業務優先度が同一の場合
以下の例では、1つの同一グループのクラスタアプリケーション間の排他関係について説明します。複数のグループが存在する場合でも、同一グループのクラスタアプリケーションの動作は同じです。
■排他関係にあるクラスタアプリケーションの業務優先度が異なる場合
業務優先度の高いクラスタアプリケーションが運用中であるノード、または業務優先度の高いクラスタアプリケーションがフェイルオーバしてきたノードでは、業務優先度の高いクラスタアプリケーションの起動を最優先するため、運用中の業務優先度の低いクラスタアプリケーションは強制終了されます。
以降の図中の各状態は以下を表しています。
運用: クラスタアプリケーションがOnline
待機: クラスタアプリケーションがStandby
停止: クラスタアプリケーションがOffline
●業務優先度が高いクラスタアプリケーションのフェイルオーバ
業務優先度の高いクラスタアプリケーションがフェイルオーバする場合、業務優先度の高いクラスタアプリケーションが常に運用状態になります。
●業務優先度が低いクラスタアプリケーションのフェイルオーバ
業務優先度の低いクラスタアプリケーションがフェイルオーバする場合、フェイルオーバするノード上に運用状態の業務優先度の高いクラスタアプリケーションが存在しないときだけフェイルオーバします。
■排他関係にあるクラスタアプリケーションの業務優先度が同一の場合
すでに運用中であるクラスタアプリケーションの運用を継続します。
すでにクラスタアプリケーションが運用中であるノードでは、後から起動するクラスタアプリケーションが停止されます。