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

アプリケーションの起動

このメソッドは、プロセス監視機能 (pmfadm) を使用してアプリケーションを起動します。pmfadm コマンドを使用すると、アプリケーションを再起動するときの期間と回数を指定できます。このため、RTR ファイルには 2 つのプロパティ Retry_countRetry_interval があります。Retry_count は、アプリケーションを再起動する回数を指定し、Retry_interval は、アプリケーションを再起動する期間を指定します。

START メソッドは、scha_resource_get コマンドを使用して Retry_countRetry_interval の値を取得し、これらの値をシェル変数に格納します。次に、-n オプションと -t オプションを使用し、これらの値を pmfadm に渡します。


# RTR ファイルから再試行最大回数の値を取得する。
RETRY_CNT=`scha_resource_get -O Retry_Count -R $RESOURCE_NAME ¥
-G $RESOURCEGROUP_NAME`
# RTR ファイルから再試行最大期間の値を取得する。この値の単位は秒であり、
# pmfadm に渡すときは分に変換する必要がある。変換時、端数は切り捨て
# られるので注意すること。たとえば、50 秒は 1 分に切り上げられる。
((RETRY_INTRVAL=`scha_resource_get -O Retry_Interval -R $RESOURCE_NAME ¥
-G $RESOURCEGROUP_NAME` / 60))
# PMF の制御下で in.named デーモンを起動する。RETRY_INTERVAL の期間、
# $RETRY_COUNT の回数だけ、クラッシュおよび再起動できる。どちらかの
# 値以上クラッシュした場合、PMF は再起動をやめる。
# <$PMF_TAG> というタグですでにプロセスが登録されている場合、
# PMF はすでにプロセスが動作していることを示す警告メッセージを送信する。
# 

pmfadm -c $PMF_TAAG -n $RETRY_CNT -t $RETRY_INTRVAL ¥
    /usr/sbin/in.named -c named.conf

# # HA-DNS が起動していることを示すメッセージを記録する。
if [ $? -eq 0 ]; then
	logger -p ${SYSLOG_FACILITY}.err ¥
			-t [$SYSLOG_TAG] ¥
			"${ARGV0} HA-DNS successfully started"
fi
exit 0