6.11.1 サーバの起動コマンドの作成

サーバの起動コマンドは,プログラムを起動するためのコマンドです。サーバがモニタモードの場合,HAモニタがサーバの起動完了を確認できるようにするために,サーバの起動コマンドを作成する必要があります。

ここでは,サーバの起動コマンドが呼び出されるタイミング,およびサーバの起動コマンドの作成方法について説明します。

<この項の構成>
(1) サーバの起動コマンドが呼び出されるタイミング
(2) サーバの起動コマンドの作成方法

(1) サーバの起動コマンドが呼び出されるタイミング

作成したサーバの起動コマンドは,HAモニタがスーパユーザの権限で実行します。

サーバの起動コマンドは,次の場合に,共有リソースを接続したあと呼び出されます。

(2) サーバの起動コマンドの作成方法

サーバの起動コマンドは,プログラムを直接指定することも,プログラムの起動処理を記述したシェルなどを指定することもできます。必要に応じて,シェルの中でプログラムの起動に必要な動作環境を設定してください。

モニタモードのプログラム管理機能使用時に,APIを発行するUAPをサーバの起動コマンドで起動する場合は,UAPの環境変数にプログラム名を設定する必要があります。サーバの起動コマンドには,対象となるすべてのUAPの起動処理を記述してください。UAPの環境変数については,「6.13.2 UAPの環境変数の設定」を参照してください。また,UAP障害時にcoreファイルを取得し,調査できるようにするため, UAPを起動する処理の前に「ulimit -c unlimited」を追加してください。カーネルパラメタのデフォルト値では,coreファイルを取得しない設定となっています。

作成したサーバの起動コマンドは,サーバ対応の環境設定のnameオペランドに指定します。サーバの起動コマンドに引数を指定する場合は,サーバ対応の環境設定のactcommandオペランドにも指定してください。

サーバの起動コマンドを作成する場合,プログラムのタイプによって,サーバ対応の環境設定のwaitserv_execオペランドに次の設定をしてください。

表6-8 プログラムのタイプによるwaitserv_execオペランド設定値

プログラムのタイプサーバの監視をする場合の設定値サーバの監視をしない場合の設定値
直接サーバプロセスとして動作するプログラムnono
直接サーバプロセスとして動作しないプログラムyesどちらでも良い
直接サーバプロセスとして動作するプログラムの場合
サーバ対応の環境設定のwaitserv_execオペランドにnoを指定します。なお,この設定はデフォルトです。直接サーバプロセスとして動作するプログラムの場合,起動完了を待たないため,必ずnoを指定してください。
直接サーバプロセスとして動作しないプログラムの場合
モニタモードのサーバを監視する場合は,サーバ対応の環境設定のwaitserv_execオペランドに必ずyesを指定してください。
モニタモードのサーバを監視する場合にyesを指定しないと,プログラムが起動完了する前にHAモニタでの実行サーバの起動処理が完了し,サーバの監視が開始される場合があります。プログラムの起動が完了しないままサーバの監視が開始されると,プログラムの起動が完了していない状態がサーバ障害として検出され,実行サーバの再起動や系切り替えがされるおそれがあります。
また,モニタモードのサーバを監視しない場合は,yes,noのどちらでも指定できます。ただし,次の場合はyesを指定してください。
  • モニタモードのサーバ間でサーバの切り替え順序を制御する。
  • サーバの起動コマンドのEXITコードで処理を分ける。

サーバ対応の環境設定のwaitserv_execオペランドにyesを指定すると,HAモニタはサーバ対応の環境設定のnameオペランドまたはactcommandオペランドに指定したサーバの起動コマンドの戻り値を評価します。戻り値ごとのHAモニタの処理を,次に示します。

また,サーバ対応の環境設定のwaitserv_execオペランドにyesを指定した場合は,サーバの起動コマンドが起動してから終了するまでのタイムアウト時間を,サーバ対応の環境設定のstart_timeoutオペランドで指定できます。

サーバ対応の環境設定のwaitserv_execオペランドにnoを指定すると,HAモニタはサーバの起動コマンドの戻り値に関係なく,実行サーバの起動完了処理をします。