Sun Cluster 3.0 12/01 データサービス開発ガイド

リソースの監視

通常、モニターは、リソース上で定期的に障害検証を実行し、検証したリソースが正しく動作しているかどうかを検出するように実装します。障害検証が失敗した場合、モニターは、ローカルで再起動するか、RMAPI 関数 scha_control (3HA) または DSDL 関数 scds_fm_action(3HA) を呼び出して、影響を受けるリソースグループのフェイルオーバーを要求できます。

また、リソースの性能を監視して、性能を調節または報告できます。可能であれば、リソースタイプに固有な障害モニターを作成することを推奨します。このような障害モニターを作成しなくても、リソースタイプは Sun Cluster により基本的なクラスタの監視が行われます。Sun Cluster は、ホストハードウェアの障害、ホストのオペレーティングシステムの全体的な障害、およびパブリックネットワーク上で通信できるホストの障害を検出します。

RGM は、 リソースモニターを直接呼び出すことはありませんが、リソース用のモニターを自動的に起動する準備を整えます。リソースをオフラインにするとき、RGM は、リソース自体を停止する前に、MONITOR_STOP メソッドを呼び出して、ローカルノード上でリソースのモニターを停止します。リソースをオンラインにするとき、RGM は、リソース自体を起動した後に、MONITOR_START メソッドを呼び出します。

RMAPI の scha_control(3HA) 関数と (scds_fm_action を呼び出す) DSDL の scha_control(3HA) 関数を使用すると、リソースモニターは異なるノードへのリソースグループのフェイルオーバーを要求できます。MONITOR_CHECK が定義されている場合、scha_control は妥当性検査の 1 つとして MONITOR_CHECK を呼び出して、リソースが属するリソースグループをマスターするのに要求されたノードが十分信頼できるかどうかを判断します。MONITOR_CHECK が「このノードは信頼できない」と報告した場合、あるいは、メソッドがタイムアウトした場合、RGM はフェイルオーバー要求に適する別のノードを探します。すべてのノードで MONITOR_CHECK が失敗した場合、フェイルオーバーは取り消されます。

リソースモニターは、モニターから見たリソースの状態を反映するように StatusStatus_msg プロパティを設定します。これらのプロパティを設定するには、RMAPI の scha_resource_setstatus(1HA) コマンドまたは同 (3HA) 関数、あるいは DSDL の scds_fm_action(3HA) 関数を使用します。


注 -

StatusStatus_msg はリソースモニターに固有な使用方法ですが、これらのプロパティは任意のプログラムで設定できます。


RMAPI を使って障害モニターを実装する例については、75 ページの「障害モニターの定義」を参照してください。DSDL を使って障害モニターを実装する例については、111 ページの「SUNW.xfnts 障害モニター」を参照してください。Sun が提供するデータサービスに組み込まれている障害モニターについては、『 Sun Cluster 3.0 12/01 データサービスのインストールと構成』を参照してください。