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

リソースの監視

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

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

リソースをオフラインにするとき、RGM は、リソース自身を停止する前に、MONITOR_STOP メソッドを呼び出して、ローカルノード上でリソースのモニターを停止します。リソースをオンラインにするとき、RGM は、リソース自身を起動した後に、MONITOR_START メソッドを呼び出します。

Sun が提供するデータサービスに組み込まれている障害モニターについては、『Sun Cluster 3.0 データサービスのインストールと構成』を参照してください。

リソースグループのフェイルオーバーと再起動の制御

リソースモニターは API 関数 scha_control を使用して、リソースグループを他のノードにフェイルオーバーするように要求できます。妥当性検査の 1 つとして、scha_controlMONITOR_CHECK を呼び出して、検査しているノードがリソースを含むリソースグループをマスターできるかどうかを判断します。MONITOR_CHECK が、そのノードは適切ではないと報告した場合、または、メソッドがタイムアウトした場合、RGM は別のノードを探して、scha_control の要求を遂行しようとします。すべてのノード上で MONITOR_CHECK が失敗した場合、フェイルオーバーは取り消されます。

モニターをサポートするリソースプロパティ

リソースモニターには、コールバックメソッドと同様に、リソースプロパティへの一般的なアクセスが必要です。モニターが使用できるシステム定義のリソースプロパティもあります。しかし、このようなプロパティを使用するかどうかはリソースタイプの実装によって異なります。モニター関連のプロパティは次のとおりです。

このようなリソースプロパティを読み取るには、scha_resource_get(1HA)(3HA) アクセスの関数またはコマンドを使用します。

StatusStatus_msg の設定

Status プロパティと Status_msg プロパティは、リソースモニターによって設定され、モニターから見たリソース状態を反映します。API は、このようなプロパティを設定するための scha_resource_setstatus 関数を提供します。詳細は、scha_resource_setstatus(3HA)scha_resource_setstatus(1HA) のマニュアルページを参照してください。


注 -

scha_resource_setstatus はリソースモニター専用の関数ですが、任意のプログラムから呼び出すことができます。


モニターをサポートするリソースグループプロパティ

モニターが使用できるリソースグループプロパティもあります。NodelistMaximum_primariesDesired_primariesRG_stateResource_listGlobal_resources_used です。

このようなリソースグループプロパティを読み取るには、3 種類のアクセス関数を使用します。open 関数 (scha_resourcegroup_open(3HA)) は、リソースグループのアクセスを初期化します。close 関数 (scha_resourcegroup_close(3HA)) は、アクセス関数によって割り当てられたメモリーを解放します。可変引数関数 (scha_resourcegroup_get(3HA)) は、動作タグ値によって起動され、参照引数として渡されるクライアント変数にプロパティ値を戻します。リソースグループプロパティのリストについては、表 A-3 を参照してください。

これら 3 つの関数は 1 つのマニュアルページ内で説明しています。このマニュアルページには、個々の関数名 scha_resourcegroup_open(3HA)、scha_resourcegroup_get(3HA)、 scha_resourcegroup_close(3HA) でアクセスできます。

この機能のスクリプトで使用可能なバージョンは、単一のコマンド scha_resourcegroup_get(1HA) で実装されています。

リソースグループプロパティを直接変更できるインタフェースは存在しません。しかし、scha_control を使用して行った制御要求によって、RGM がリソースグループプロパティを変更することがあります。リソースグループプロパティは、RGM または管理アクションによって変更されます。

モニターをサポートするリソースタイププロパティ

RT_basedirInstalled_nodes のように、モニターが使用できるリソースタイププロパティもあります。このようなプロパティは、たとえば、モニターを実装するプログラムの位置を指定します。

特定のリソースタイプが継承したリソースタイププロパティを読み取るには、scha_resource_get 関数を使用します。任意のリソースタイプのプロパティにアクセスするインタフェースも提供されています。すべてのリソースタイププロパティにアクセスできます。

リソースタイプのアクセスインタフェースは、リソースとリソースグループのアクセスインタフェースのパターンと同じです。open 関数と close 関数は初期化とメモリー管理を行います。可変引数関数は、タグによって決定されたアクセスをプロパティに提供します。これら 3 つの関数は 1 つのマニュアルページ内で説明しています。このマニュアルページには、個々の関数名 scha_resourcetype_open(3HA)、scha_resourcetype_get(3HA)、 scha_resourcetype_close(3HA) でアクセスできます。