ページの先頭行へ戻る
PRIMECLUSTER  コンセプトガイド 4.7

2.3.5 PRIMECLUSTER SF

PRIMECLUSTERシャットダウン機構 (PRIMECLUSTER SF) は、クラスタシステム内でユーザ資産に対する競合が発生するような異常処理時に、他のノードを停止させることを保証する機能を提供します。

注意

CF によりクラスタノードの再起動が確認され、ノードが停止状態にあったことが保証できる場合は、PRIMECLUSTER SF によるノードの停止は行いません。

PRIMECLUSTER SF は主に以下のコンポーネントで構成されます。

SA (シャットダウンエージェント)

シャットダウンエージェントはリモートクラスタノードの確実な停止を保証します。シャットダウンエージェントは、クラスタノードのアーキテクチャによって異なります。

シャットダウンエージェントは以下の機能を提供します。

PRIMECLUSTER SFでは、以下のシャットダウンエージェントを提供します。

MA(非同期監視)

非同期監視は、ハードウェア特性を活かしてノードの状態を監視し、ノードダウンを即時に検出します。PRIMECLUSTERシステムは、クラスタインタコネクトを利用した、ハートビートの送信と応答によるノードの状態監視を定周期間隔で行っていますが、非同期監視を利用することにより、より即時的なノードのダウン検出を実現します。

非同期監視は以下の機能を提供します。

PRIMECLUSTER SFでは、以下の非同期監視を提供します。

RCI非同期監視 (SPARC Enterprise Mシリーズ)

SPARC Enterprise Mシリーズに搭載されるハードウェアの1つ、RCIを利用してノードの状態を監視する機能です。ハードウェア本体に標準で実装されているシステム監視機構(System Control Facility: SCFと略する)がハードウェアの状態を監視し、その状態をソフトウェアに通知することでノードダウンを判断することができます。
また、他ノードを意図的にパニックまたはリセットさせることで確実な強制停止を実現し、ユーザ資産への競合を防ぎます。

コンソール非同期監視

XSCF/ILOMを使用して、クラスタシステムを構成する各ノードのコンソールに表示されるメッセージを監視する機能です。パニック発生時等のコンソールメッセージを他ノードが検出し、メッセージ出力ノードのノードダウンを判断します。コンソール非同期監視は通常、数珠状に1対1の関係で他ノードの状態を監視しており、異常が発生してノードがダウンした場合、ダウンノードが監視していたノードを監視する役目を、その他のノードに引き継ぎます。また、ノードに対してbreak 信号を送信して確実なノード停止を行います。

ノードがダウンした場合の監視の引き継ぎについて、3 ノードで構成されるクラスタシステムを例に示します。

以下の図は、 3ノードのクラスタシステムにおいて、1つのノードが停止した場合に監視機能がどのように引き継がれるかを示しています。矢印は、どのノードがどのノードを監視しているかを表します。

図2.5 正常稼動時のコンソール非同期監視の処理

ノード2に異常が発生してダウンすると、以下の処理が実行されます。

  • ノード1はノード3の状態監視を開始します。

  • 以下のメッセージがノード1の/var/adm/messagesファイルに出力されます。

    FJSVcluster: INFO: DEV: 3044: The console monitoring agent took over monitoring (node: targetnode)
    FJSVcluster: 情報: DEV: 3044: コンソール非同期監視機能の監視対象にノードtargetnodeを追加しました。

以下の図は、ノード2が停止した場合に、ノード1がノード3を監視対象ノードとして追加する様子を示しています。

図2.6 ノード異常発生時のコンソール非同期監視の処理

注意

コンソール非同期監視が停止していたときに監視機能の引き継ぎが行われた場合、停止していたコンソール非同期監視が再開されます。

ノード2が異常から復旧後に起動してくると、以下の処理が実行されます。

  • 従来の正常起動時の監視形態に戻ります。

  • 以下のメッセージがノード1の/var/adm/messages ファイルに出力されます。

    FJSVcluster: INFO: DEV: 3045: The console monitoring agent cancelled to monitor (node: targetnode)
    FJSVcluster: 情報: DEV: 3045: コンソール非同期監視機能の監視対象からノードtargetnodeを削除しました。

以下の図は、クラスタに復旧したノード2がノード3の監視を再開する様子を示しています。

図2.7 ノード復旧時のコンソール非同期監視の処理

注意

コンソール非同期監視では、コンソールのメッセージを監視しているため、突然の電源切断の状態を判断できずLEFTCLUSTER状態が発生します。本現象が発生した場合は、ノードにDOWNマークを付ける必要があります。DOWNマークの付けかたについては、“PRIMECLUSTER Cluster Foundation 導入運用手引書”を参照してください。

SNMP非同期監視 (SPARC M10、M12)

SPARC M10、M12 に搭載されるシステム監視機構(eXtended System Control Facility: XSCFと略する)を利用して、ノードの状態を監視する機能です。
XSCFがハードウェアの状態を監視し、その状態をSNMP(Simple Network Management Protocol)を使用して、ソフトウェアに通知することで、ノードダウンを判断することができます。
また、他ノードを意図的にパニックまたはリセットさせることで、確実な強制停止を実現し、ユーザ資産への競合を防ぎます。

iRMC非同期監視 (PRIMEQUEST 3000)

PRIMEQUEST 3000に搭載されるハードウェアのiRMCとMMBを利用して、ノードの状態を監視する機能です。ハードウェア本体に標準で実装されているiRMCとMMBがハードウェアの状態を監視し、その状態をソフトウェアに通知することでノードダウンを判断することができます。

また、他ノードを意図的にパニック、リセット、または電源切断させることで確実な強制停止を実現し、ユーザ資産への競合を防ぎます。

注意

PRIMERGYのiRMCでは本非同期監視は使用できません。


注意

RCI 非同期監視のノード状態の監視は、/var/adm/messages ファイルに以下のメッセージ(a) が出力されてから、(b) が出力されるまでの間機能しています。
コンソール非同期監視の場合は、それぞれ(c) と(d) に該当します。
SNMP非同期監視の場合は、それぞれ(e) と(f) に該当します。
iRMC非同期監視の場合は、それぞれ (g) と (h) に該当します。
ノード状態の監視が機能していない状態では、ノードを強制的に停止する機能が正常に動作しないことがあります。

(a) FJSVcluster: INFO: DEV: 3042: The RCI monitoring agent has been started
    FJSVcluster: 情報: DEV: 3042: RCI非同期監視機能を開始しました。
(b) FJSVcluster: INFO: DEV: 3043: The RCI monitoring agent has been stopped
    FJSVcluster: 情報: DEV: 3043: RCI非同期監視機能を停止しました。
(c) FJSVcluster: INFO: DEV: 3040: The console monitoring agent has been started (node:monitored node name)
    FJSVcluster: 情報: DEV: 3040: コンソール非同期監視機能を開始しました。
    (node:監視対象ノード名)
(d) FJSVcluster: INFO: DEV: 3041: The console monitoring agent has been stopped (node:monitored node name)
    FJSVcluster: 情報: DEV: 3041: コンソール非同期監視機能を停止しました。
    (node:監視対象ノード名)
(e) FJSVcluster: INFO: DEV: 3110: The SNMP monitoring agent has been started.
    FJSVcluster: 情報: DEV: 3110: SNMP 非同期監視を開始しました。
(f) FJSVcluster: INFO: DEV: 3111: The SNMP monitoring agent has been stopped.
    FJSVcluster: 情報: DEV: 3111: SNMP 非同期監視を停止しました。
(g) FJSVcluster: INFO: DEV: 3120: The iRMC asynchronous monitoring agent has been started.
    FJSVcluster: 情報: DEV: 3120: iRMC 非同期監視を開始しました。
(h) FJSVcluster: INFO: DEV: 3121: The iRMC asynchronous monitoring agent has been stopped.
    FJSVcluster: 情報: DEV: 3121: iRMC 非同期監視を停止しました。