ページの先頭行へ戻る
PRIMECLUSTER  Cluster Foundation 導入運用手引書 4.5
FUJITSU Software

2.2 クラスタ整合性モニタ(CIM)

CIMは、ネットワークパーティションが発生した状態においても、クラスタの整合性を保証するための機能です。クラスタ整合状態 (クォーラム) とは、クラスタシステム内部の他のノードの状態が動作中 (UP) または停止中 (DOWN) のいずれかの状態であり、共用資源に対して競合が発生しないような状況であるということを意味します。

PRIMECLUSTERでは、このクォーラムの意味は若干異なります。クラスタにはクラスタ整合状態のノード群が1つだけ存在します。そして、クラスタの各ノードは定義されたクラスタ整合状態が保証されたノード群のメンバであるノードと、メンバでないノードに分類されます。ただし、ノードはクラスタのメンバであり、必ずしもクラスタ整合状態が保証されたノード群のメンバとはなりません。

たとえば、本番前のテスト中の新規ノードや、メンテナンスが必要なノードの場合、クラスタへの参入とクラスタからの削除が繰り返されます。このようなノードを、クォーラムを保証したノード群として定義して状態を頻繁に変更 (参入、削除など) すると、PRIMECLUSTERはクォーラムを保証するための回復処理を行うため、システム全体に対して影響をきたします。

クラスタのメンバの状態を調べる方法はクォーラムデバイスと呼ばれることがありますが、PRIMECLUSTERにおけるクォーラムとは特定のデバイスの使用を意味するわけではないのでクォーラム方式と呼びます。CIMは他のノードが安全である場合、クォーラムであると判断します。

PRIMECLUSTER では、クォーラムを保証するための方式として、以下の2つのCIM 方式があります。

Null 方式では、CF による相手ノードの状態を使用して、そのノードが既知の状態であるかどうかを定期的に判断します。既知であると判断されるCF の状態はUPおよびDOWN です。起動途中状態やLEFTCLUSTER 状態は、不明の状態 (クォーラムが保証されていない) と判断されます。

MMB方式では、PRIMEQUEST MMBインタフェースを使用してクラスタノードの状態を非同期に判断します。

このようにCIM はアプリケーションにノードのクォーラム状態 (クォーラムの有無など) を判断する一連の機能を提供します。

PRIMECLUSTERはクラスタ整合性モニタにより、ユーザ業務がクラスタの複数ノードで共用されている資源を使った処理を、処理の競合をおこすことなく安全に処理することができるかどうかを判断します。 つまり、処理を行うノードが、クラスタ整合状態 (クォーラム) であるクラスタシステムのメンバである場合、共用リソースを安全に使用することができることになります。 PRIMECLUSTERシステムにおける整合状態とは、CIMが監視するクラスタシステムのすべてのノードが動作中 (UP) または停止中 (DOWN) のいずれかの状態、かつ安全な状態である場合に設定されます。 CIMが監視するノードとは、CIM構成時に設定されたノードすべてです。 CIMはクラスタの状態を調べる場合、これらのノードのみを対象とします。 ノードが最初にクラスタに参入したり、クラスタを形成したりするとき、CIMは、CIMセットを構成する他のノードの状態を確認できる場合に限り、クラスタがクォーラムであること、およびこれらのノードが安全であることを示します。

CIM は現在、Null 方式 (NSM)、MMB 方式 に対応しています。CIMはノードの状態について、そのノードがクラスタ整合状態で正常 (true) か、そうでない (false) かを報告します。 trueとfalseの定義は以下のとおりです。

true : クラスタのCIMの全ノードが既知で正常な状態である。

false : クラスタのCIMの1つ以上のノードが不明な状態、または異常な状態である。