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

データサービスの起動と停止

Start メソッドは、クラスタノード上でデータサービスを起動するために必要なアクションを実行します。通常、このようなアクションには、リソースプロパティの取得、アプリケーション固有の実行可能ファイルおよび構成ファイルの格納先の特定、および適切なコマンド行引数を用いたアプリケーションの起動が含まれます。

scds_initialize 関数はリソース構成を取得します。Start メソッドはプロパティ用の DSDL 関数を使用して、アプリケーションを起動するのに必要な構成ディレクトリや構成ファイルを識別するための特定のプロパティ (Confdir_list など) の値を取得します。

Start メソッドは、scds_pmf_start を呼び出して、プロセス監視機能 (PMF) の制御下でアプリケーションを起動します。PMF を使用すると、プロセスに適用する監視レベルを指定したり、異常終了したプロセスを再起動したりできます。DSDL で実装する Start メソッドの例については、xfnts_start メソッドを参照してください。

Stop メソッドは呼び出し回数に依存しないように実装されていなければなりません。つまり、アプリケーションが動作していないときにノード上で呼び出された場合でも、正常終了する必要があります。Stop メソッドが失敗した場合、停止するリソースが STOP_FAILED 状態に設定され、クラスタの再起動を招いてしまう可能性があります。

リソースが STOP_FAILED 状態になるのを防止するために、Stop メソッドはあらゆる手段を構じてリソースを停止する必要があります。scds_pmf_stop 関数は、段階的にリソースを停止しようとします。まず、SIGTERM シグナルを使用してリソースを停止しようとします。これに失敗した場合は、SIGKILL シグナルを使用します。詳細については、scds_pmf_stop のマニュアルページを参照してください。