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

ソースファイルとバイナリファイル

リソースグループと、最終的にはクラスタ上のリソースを管理する Resource Group Manager (RGM) は、コールバックモデル上で動作します。つまり、特定のイベント (ノードの障害など) が発生したとき、RGM は、当該ノード上で動作しているリソースごとにリソースタイプのメソッドを呼び出します。たとえば、RGM は Stop メソッドを呼び出して、当該ノード上で動作しているリソースを停止します。次に、Stop メソッドを呼び出して、異なるノード上でリソースを起動します。このモデルの詳細については、RGM モデルコールバックメソッド、および rt_callbacks( 1HA) のマニュアルページを参照してください。

このモデルをサポートするため、Agent Builder は、 install_directory/rt_name/bin ディレクトリに、コールバックメソッドとして機能する 8 つの実行可能プログラム (C) またはスクリプト (ksh) を生成します。


注 –

厳密には、障害モニターを実装する rt_name_probe プログラムはコールバックプログラムではありません。RGM は rt_name_probe を直接呼び出すのではなく、rt_name_monitor_start および rt_name_monitor_stop を呼び出します。そして、これらのメソッドが rt_name_probe を呼び出すことによって、障害モニターが起動および停止されます。


Agent Builder が生成する 8 つのメソッドは次のとおりです。

各メソッドに固有な情報については、rt_callbacks(1HA) のマニュアルページを参照してください。

Agent Builder は、install_directory/rt_name/src ディレクトリ (C 出力の場合) に、次のファイルを生成します。

Agent Builder は rt_name.o ファイルを各メソッドの .o ファイルにリンクして、実行可能ファイルを install_directory/rt_name/bin ディレクトリに作成します。

ksh 出力の場合、install_directory/rt_name/bininstall_directory/rt_name/src ディレクトリは同じです。各ディレクトリには、7 つのコールバックメソッドと PROBE メソッドに対応する 8 つの実行可能スクリプトが格納されます。


注 –

ksh 出力には、2 つのコンパイル済みユーティリティープログラム (gettimegethostnames) が含まれます。これらのプログラムは、時間を取得して検証を行うのに必要なコールバックメソッドです。


ソースコードを編集して、make コマンドを実行すると、コードを再コンパイルできます。さらに、再コンパイル後、make pkgコマンドを実行すると、新しいパッケージを生成できます。ソースコードの修正をサポートするために、Agent Builder はソースコード中の適切な場所に、コードを追加するためのコメント文を埋め込みます。生成されたソースコードの編集を参照してください。