スケーラブルデータベースサーバ HiRDB Version 8 システム運用ガイド(UNIX(R)用)

[目次][索引][前へ][次へ]

26.7.4 ダミープロセスを生成するシェルスクリプトMC/ServiceGuardが監視するサービス)(モニタモード限定)

MC/ServiceGuardはサービス(アプリケーション)の監視をします。MC/ServiceGuardはサービスを子プロセスとして実行し,サービスの終了を検知した場合にそれをパッケージの障害と判断します。HiRDBの開始及び終了処理以外のHiRDBとMC/ServiceGuardとのインターフェースはサービスの終了(exit)だけです。HiRDBの全プロセスはpdprcdが監視していて,HiRDBの異常終了時にはHiRDBの機能によって再開始を行うため,MC/ServiceGuardにHiRDBのプロセスを監視してもらう必要はありません。プロセスの起動と監視の関連を次の図に示します。

図26-52 プロセスの起動と監視の関連(MC/ServiceGuard)

[図データ]

なお,パッケージとしてのHiRDBが動作中である状態を維持させるために,ダミーのサービス(ダミープロセス)が必要です。このダミープロセスは,次に示す条件をすべて満たす必要があります。

〈条件〉
  1. サーバプロセスを常駐させます。
  2. MC/ServiceGuardはパッケージの停止を指示するときにSIGTERMを発行するため,SIGTERMを受信したらプロセスを終了します。
  3. MC/ServiceGuardにHiRDBの異常終了を通知する必要はありません。

ダミープロセスを生成するシェルスクリプトの例を次に示します。

 
#!/bin/sh
trap exit SIGTERM
while true
do
    sleep 5
done
exit
 

〔説明〕
Bourneシェルでコーディングした例です。SIGTERM(=15)を受信するまで無限ループ内でsleepを実行しています。そのほかの実現方法も可能です。

このシェルスクリプトをパッケージコントロールスクリプト中のSERVICE_CMDに指定します。常駐プロセスの起動には,パッケージコントロールスクリプト中のSERVICE_RESTART[]="-R"として無限起動扱いにすることをお勧めします。そうしないと,プロセスの予期しない終了がHiRDBのサーバの異常終了扱いにされてしまいます。