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

コールバックメソッドの使用方法

この節では、コールバックメソッドの一般的な使用方法について説明します。

リソースとリソースグループのプロパティ情報へのアクセス

RGM がクラスタリソースの活動を制御できるようにするために、コールバックメソッドには、そのリソースプロパティへのアクセスが必要です。API は、リソースのシステム定義プロパティや拡張プロパティにアクセスするための、シェルコマンドと C 関数の両方を提供します。

リソースプロパティを設定する API 関数が存在しない (ただし、StatusStatus_msg を設定する関数を除く) ため、プロパティ機構では、データサービスの動的な状態情報を格納できません。したがって、動的な状態情報は、広域ファイルに格納します。


注 -

クラスタ管理者は、scrgadm(1M) コマンドまたは、利用可能なグラフィカル管理インタフェースを通じて、特定のリソースプロパティを設定できます。


リソースプロパティにアクセスするための C 関数は、可変引数インタフェースを持ちます。API は、操作を示す文字列値タグを定義し、可変引数リストの解釈を決定します。get アクセス関数は、初期化、最終処理、メモリー管理を行う open 関数や close 関数と共に使用します。

リソースプロパティにアクセスするには、次の 3 つの関数を一緒に使用します。

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

シェルスクリプトで使用するコマンドバージョンの scha_resource_get もあります。このコマンドは、フラグ付き引数として、動作タグ、リソース名、およびそのリソースグループ名をとります。他の動作タグ用に、フラグなし引数も利用できます。このアクセスコマンドについての詳細は、scha_resource_get(1HA) のマニュアルページを参照してください。

メソッドの呼び出し回数への非依存性

一般的に、RGM は、同じリソース上で同じメソッドを (同じ引数で) 何回も連続で呼び出しません。しかし、START メソッドが失敗した場合、リソースが起動していなくても、RGM はそのリソース上で STOP メソッドを呼び出すことができます。同様に、リソースデーモンが自発的に停止している場合でも、RGM はそのリソース上で STOP メソッドを呼び出すことができます。MONITOR_START メソッドと MONITOR_STOP メソッドにも、同じことが当てはまります。

このような理由のため、STOP メソッドと MONITOR_STOP メソッドは呼び出し回数に依存しないように組み込む必要があります。つまり、同じリソース上で STOP メソッドまたは MONITOR_STOP メソッドを (同じパラメータで) 何回も連続で呼び出しても、一回だけ呼び出したときと同じ結果になることを意味します。

また、呼び出し回数に依存しないということは、リソースまたはモニターがすでに停止しており、動作していなくても、STOP メソッドと MONITOR_STOP メソッドは 0 (成功) を戻す必要があるということも意味します。


注 -

INITFINIBOOTUPDATE メソッドも呼び出し回数に依存しない必要があります。START メソッドは呼び出し回数に依存してもかまいません。