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

2.3.1 CF

CFは、他の全てのPRIMECLUSTERモジュール/コンポーネントが使用するOSD層などの基盤機能を提供します。

CFには以下の特徴があります。

次にCFの機能について説明します。

2.3.1.1 OSD

CFのOSD層モジュールは、OSと全てのPRIMECLUSTERモジュールが依存する抽象化されたOS非依存部との間を橋渡しするインタフェースを提供します。このため、PRIMECLUSTERがサポートするOSとアーキテクチャにおけるソースファイルは同一となります。この設計理念は、以下の2つのメリットのために採用しています。

2.3.1.2 ICF

ICF (ノード間通信機構) モジュールは、PRIMECLUSTERにおける全てのノード間通信のネットワーク通信層です。ICFモジュールには以下の機能があります。

ハードウェアの一点故障 (Single Point of Failure) を回避するため、ICFは冗長化されたクラスタインタコネクトでも使用できます。複数のクラスタインタコネクトが使用可能な場合、ICFは使用可能な全てのインタコネクトにメッセージを分散させることにより、パフォーマンスを向上させます。ひとたび障害が発生すると、クラスタインタコネクト間の自動切替えが行われます。また、ICFには、クラスタインタコネクトの間欠障害に対する経路リカバリ機構も保持しています。

ICFは、CFの内部コンポーネントのみで使用可能であり、上位層の各種プログラム (一般的なユーザプログラム) では使用することはできません。そのかわり、クラスタインタコネクトにアクセスするアプリケーションにはCluster Interconnect Protocol (CIP) が使用可能です。CIPはICF上でTCP/IPプロトコルを提供します。

2.3.1.3 JOIN

JOINモジュールは、ノードを動的にクラスタに参入させる機構です。参入すべきクラスタが存在しない初期状態の場合は、CFが1ノードのクラスタシステム (初期クラスタ) を作成します。このとき、複数ノードが同時に初期クラスタを作成するようなケースが考えられますが、分散ノード環境におけるリーダ選択アルゴリズムにより、マスタノードが決定され、初期クラスタが作成されます。

初期クラスタが作成されると、JOINモジュールは他のノードをクラスタに参入させることができます。JOINモジュールは、初期クラスタ作成段階にプロトコルバージョン情報を提供し、ローリングアップグレードをサポートする機構が組み込まれています。各ノード間で使用しているプロトコルのバージョンが異なる場合、クラスタの全ノードがサポートしているバージョンを自動的に指定します。

2.3.1.4 ENS

ENS (イベント通知サービス) モジュールは、さまざまなイベントをクラスタシステムの各ノードに通知する機構です。ENSのキューにいったん格納されたメッセージは、全てのノードに配送されるか、または、どのノードにも配送されないかのいずれかの状態を取ることが保証されます。PRIMECLUSTERモジュールおよびアプリケーションプログラムはENSを使用することで、ノードの参入や、クラスタから削除したなどのイベント通知を受けることができます。また、各プログラム固有のイベントを各プログラム間で定義して、通知することができます。

2.3.1.5 Cluster Admin

Cluster Adminマネージャは、以下の管理機構を提供します。

Cluster Adminマネージャを使った管理は、クラスタシステム内の任意のノードから実行することができます。また、ネットワーク経由で、遠隔地のクライアントから管理を行うことも可能です。ユーザはJava対応のWebブラウザを使って管理を行いますが、ノード上でコマンドラインインタフェースを使用することもできます。多様で明解な画面表現やイベントログにより、クラスタの状態に関して簡潔でタイムリーな情報をユーザに提供します。

2.3.1.6 Web-Based Admin View

Web-Based Admin Viewは、PRIMECLUSTER製品が使用するGUI基盤です。Web-Based Admin Viewの機能を以下に示します。

参照

Web-Based Admin Viewの機能の詳細については、“PRIMECLUSTER Web-Based Admin View操作手引書” を参照してください。

2.3.1.7 PRIMECLUSTER SF

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

PRIMECLUSTER SFには以下の長所があります。

非同期監視

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


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

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

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

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

注意

RCI 非同期監視のノード状態の監視は、/var/adm/messages ファイルに以下のメッセージ(a) が出力されてから、(b) が出力されるまでの間機能しています。
コンソール非同期監視の場合は、それぞれ(c) と(d) に該当します。
SNMP非同期監視の場合は、それぞれ(e) と(f) に該当します。
MMB非同期監視の場合は、それぞれ (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:3080: The MMB monitoring agent has been started. 
    FJSVcluster: 情報:DEV: 3080: MMB 非同期監視を開始しました。
(h) FJSVcluster:INFO:DEV:3081: The MMB monitoring agent has been stopped.
    FJSVcluster: 情報:DEV: 3081: MMB 非同期監視を停止しました。
コンソール非同期監視 (XSCF/ILOM)

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

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

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

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

ノード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.4 ノード異常発生時のコンソール非同期監視の処理

注意

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

ノード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.5 ノード復旧時のコンソール非同期監視の処理

注意

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

SNMP非同期監視 (XSCF)

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

MMB非同期監視 (MMB) (PRIMEQUEST)

PRIMEQUESTに搭載されるハードウェアの1つ、MMBを利用してノードの状態を監視する機能です。ハードウェア本体に標準で実装されているMMBがハードウェアの状態を監視し、その状態をソフトウェアに通知することでノードダウンを判断することができます。
また、他ノードを意図的にパニックあるいはリセットさせることで確実な強制停止を実現し、ユーザ資産への競合を防ぎます。

注意

  • MMBの異常が発生している状態でノード異常が発生した場合、通常よりノードのダウンを確定するまでにかかる時間が長くなることがあります (最大6秒)。

  • 全ノードで片系のMMB管理LANに異常が発生している状態でノード異常が発生した場合、通常よりノードのダウンを確定するまでにかかる時間が長くなることがあります (最大6秒)。

  • MMBの異常を検出するには最大20分かかります。

  • MMBの異常を復旧させた場合、その復旧を検出するには最大10分かかります。ただし、復旧をまだ検出していない状態でノードの異常が発生した場合、その時点で復旧されたことを認識するため、実際にはMMB非同期監視は問題なく動作します。MMBの異常を復旧させた後、すぐにその復旧を検出させたい場合は、シャットダウン機構 (SF) を再起動してください。

  • 自ノードに異常 (snmptrapdが停止) が発生した場合、以下のメッセージが表示されます。

    FJSVcluster:INFO:DEV:3084:Monitoring another node has been stopped.

    この場合は、ノード状態の監視が機能していない状態となります。よって、この状態でノード異常が発生した場合、通常よりノードのダウンを確定するまでにかかる時間が長くなることがあります。
    また、ノード起動またはシャットダウン機構(SF)の再起動後、以下のメッセージが表示されていない場合も、ノード状態の監視が機能していない状態となります。よって、この状態でノード異常が発生した場合、通常よりノードのダウンを確定するまでにかかる時間が長くなることがあります。

    FJSVcluster:INFO:DEV:3083:Monitoring another node has been started.
  • ノード起動中に以下のメッセージが表示されることがあります。

    FJSVcluster: INFO: DEV: 3084: Monitoring another node has been stopped.

    これは、snmptrapdが起動中のためであり、snmptrapdが起動してから約10分以内に以下のメッセージが出力されれば問題ありません。

    FJSVcluster: INFO: DEV: 3083: Monitoring another node has been started.
  • ノード起動直後にsdtool -s を実行すると、自ノードのテスト状態(Test State)にTestFailedと表示される場合があります。ノード起動直後に自ノードのテスト状態を参照したい場合は、sdtool -r を実行後、sdtool -s を実行してください。

  • MMBの非同期監視では、MMB管理LANが切断した場合、以下のメッセージが表示されます。

    FJSVcluster:WARN:DEV:5021:An error has been detected in part of the transmission route to MMB. (node:nodename mmb_ipaddress1:mmb_ipaddress1 mmb_ipaddress2:mmb_ipaddress2 node_ipaddress1:node_ipaddress1 node_ipaddress2:node_ipaddress2)
    FJSVcluster:ERROR:DEV:7213:An error has been detected in the transmission route to MMB. (node:nodename mmb_ipaddress1:mmb_ipaddress1 mmb_ipaddress2:mmb_ipaddress2 node_ipaddress1:node_ipaddress1 node_ipaddress2:node_ipaddress2)

    各メッセージの対処法に従い、対処を行ってください。
    なお、7213番のエラーメッセージが表示された場合は、ノード状態の監視が機能していない状態となります。よって、ノードを強制的に停止する機能が正常に動作しないことがあります。
    また、自ノードに異常 (snmptrapdが異常終了等) が発生した場合は、以下のメッセージが表示されます。

    FJSVcluster:ERROR:DEV:7210:An error was detected in MMB. (node:nodename mmb_ipaddress1:mmb_ipaddress1 mmb_ipaddress2:mmb_ipaddress2 node_ipaddress1:node_ipaddress1 node_ipaddress2:node_ipaddress2 status:status detail:detail)

    この場合も、ノード状態の監視が機能していない状態となります。よって、ノードを強制的に停止する機能が正常に動作しないことがあります。
    メッセージの詳細については、“PRIMECLUSTER 活用ガイド<メッセージ集>” を参照してください。


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

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

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

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