Sun Cluster データサービス開発ガイド (Solaris OS 版)

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

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

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

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

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

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