3. プロセス消滅監視の導入手順について
3.6. 起動、終了ファイルの導入について
(1)導入手順
ノードの起動、終了と同期をとって pcheck(1M)を起動、終了する場合は、rc ファイルの設定が必要で す。
サンプルのrcファイルを必要に応じてカスタマイズし、/etc/init.d/ 配下にコピーし、実行権を付与します。
ファイル名に制限はありません。
# cp /var/opt/HA/PS/conf/src/RC_sample/rcfile /etc/rc.d/init.d/psaver # chmod +x /etc/rc.d/init.d/psaver
Red Hat Linux、MIRACLE Linux、Turbo Linux、Asianux、CentOSの場合
chkconfig --add コマンドを実行し、/etc/rc.d/rc*.d 配下にrcファイルのシンボリックリンクを 作成するか、手動で /etc/rc.d/rc*.d 配下に rc ファイルのシンボリックリンクを作成します。
(1) chkconfig --add コマンドを実行する手順
chkconfig --add コマンドを実行して /etc/rc.d/rc*.d 配下に rc ファイルのシンボリックリンクを 作成します。
(例)
# chkconfig --add psaver
シンボリックリンクは、指定された rc ファイルのコメントブロック(chkconfig ブロック)の 設定値にしたがい作成されます。
(2) 手動でシンボリックリンクを作成する手順
ln(1) コマンドを実行し、シンボリックリンクを作成します。
S, K の後に続く番号は、何番でもかまいませんが、番号の若い順に実行されるため、
依存関係のある rc ファイルがある場合は、注意が必要です。
また、pcheck の停止処理は、必ず監視対象プロセスの停止処理より前に実行する必要が あります。
このため rc ファイルの pcheck 停止時のリンクファイルは、最初に実行する K01 で 設定することを推奨します。
(例) <rc0.d>
# ln -s /etc/init.d/psaver /etc/rc.d/rc0.d/K01psaver
<rc1.d>
# ln -s /etc/init.d/psaver /etc/rc.d/rc1.d/K01psaver
<rc2.d>
# ln -s /etc/init.d/psaver /etc/rc.d/rc2.d/S99psaver
<rc3.d>
# ln -s /etc/init.d/psaver /etc/rc.d/rc3.d/S99psaver
<rc4.d>
# ln -s /etc/init.d/psaver /etc/rc.d/rc4.d/K01psaver
<rc5.d>
# ln -s /etc/init.d/psaver /etc/rc.d/rc5.d/S99psaver
<rc6.d>
# ln -s /etc/init.d/psaver /etc/rc.d/rc6.d/K01psaver
39
< rcファイルのサンプル(Red Hat Linux、MIRACLE Linux、Turbo Linux、Asianux、CentOS 用)>
#!/bin/sh
#
# psaver_os Start/Stop the ProcessSaver for OS.
#
# chkconfig: 235 99 01
# description: ProcessSaver Sample File
# processname: pcheck LANG=C
export LANG trap "" 1 2 3 13 15
#
# Environment
#
PCHECK=/opt/HA/PS/bin/pcheck PADMIN=/opt/HA/PS/bin/padmin PFILE=/var/opt/HA/PS/conf/bin/pfile_os case $1 in
start)
echo "Starting ProcessSaver for OS daemon"
ulimit -c unlimited
(${PCHECK} -f ${PFILE} &) >/dev/null 2>&1 touch /var/lock/subsys/psaver_os
;;
stop)
echo "Stopping ProcessSaver for OS daemon"
${PADMIN} -f ${PFILE} -c shutdown rm -f /var/lock/subsys/psaver_os
;;
restart)
echo "Stopping ProcessSaver for OS daemon"
${PADMIN} -f ${PFILE} -c shutdown rm -f /var/lock/subsys/psaver_os /bin/sleep 10
echo "Starting ProcessSaver for OS daemon"
ulimit -c unlimited
(${PCHECK} -f ${PFILE} &) >/dev/null 2>&1 touch /var/lock/subsys/psaver_os
;;
esac
# EOF
40 SUSE Linuxの場合
insserv コマンドを実行して、/etc/rc*.d配下に、rc ファイルのシンボリックリンクを作成する
必要があります。
(例)
# insserv /etc/init.d/psaver
シンボリックリンクは、引数指定された rc ファイルのコメント・ブロック(INIT INFO ブロック)の 設定値にしたがい作成されます。
< rcファイルのサンプル(SUSE Linux 用)>
#!/bin/sh
# SUSE Linux
# psaver_os Start/Stop the ProcessSaver for OS daemon.
#
### BEGIN INIT INFO
# Provides: psaver_os
# Required-Start: $syslog cron
# Required-Stop: $syslog cron
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Description: ProcessSaver Sample File
### END INIT INFO export LANG=C trap "" 1 2 3 13 15
#
# Environment
#
PCHECK=/opt/HA/PS/bin/pcheck PADMIN=/opt/HA/PS/bin/padmin PFILE=/var/opt/HA/PS/conf/bin/pfile_os case $1 in
start)
echo "Starting ProcessSaver for OS daemon"
ulimit -c unlimited
(${PCHECK} -f ${PFILE} &) >/dev/null 2>&1 touch /var/lock/subsys/psaver_os
;;
stop)
echo "Stopping ProcessSaver for OS daemon"
${PADMIN} -f ${PFILE} -c shutdown rm -f /var/lock/subsys/psaver_os ;;
restart)
echo "Stopping ProcessSaver for OS daemon"
${PADMIN} -f ${PFILE} -c shutdown rm -f /var/lock/subsys/psaver_os /bin/sleep 10
echo "Starting ProcessSaver for OS daemon"
ulimit -c unlimited
(${PCHECK} -f ${PFILE} &) >/dev/null 2>&1 touch /var/lock/subsys/psaver_os
;;
esac
# EOF
41