OS の shutdown コマンドでのシステム停止時、Linux の場合、VCSは /etc/rc6.d/K10vcs において had を終了した後、/etc/rc6.d/K74gab で gab 関連の unload を行い VCSの停止を行いますが、タイミングにより /etc/rc6.d/K10vcs が完全に終了する前に、/etc/rc6.d/K74gab が実行されてしまう場合、上記のメッセージが出力され正しく VCS を停止出来ない場合がございます。
問題発生の原因は、VCS終了時のタイミングの問題です。VCSのステータスが EXITEDになる前に、K10vcsが終了し、結果的に後続の K74gab でのドライバーの unload に失敗してしまう事があるためです。
回避策として、K10vcs の hastop() のルーチンに "hasys -wait" を追加して下さい。
例)
/etc/rc6.d/K10vcs
hastop()
{
# Check to see if this script is allowed to stop vcs...
if [ "$VCS_STOP" != 1 ]; then
echo "This script is not allowed to stop vcs. VCS_STOP is not set to 1."
exit 2
fi
# Stop VCS.
[ -x ${HASTOP.JA_JP} ] || exit 0
echo -n "Shutting down ${PROG.JA_JP}: "
${HASTOP.JA_JP} -sysoffline
RETVAL=$?
if [ ${LINUX_FLAVOR.JA_JP} -eq ${RHEL.JA_JP} ]; then
[ $RETVAL -eq 0 ] && success $"$prog shutdown" || failure $"$prog shutdown"
else # [ ${LINUX_FLAVOR.JA_JP} -eq ${SLES.JA_JP} ]; then
[ $RETVAL -ne 0 ] && rc_failed
fi
[ $RETVAL -eq 0 ]&& ${HASYS.JA_JP} -wait localsys SysState EXITED -time 600 >> /var/tmp/wait.log <----この行を追加
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/vcs
ps -C had || ${CMDSERVER.JA_JP} -stop
if [ ${LINUX_FLAVOR.JA_JP} -eq ${SLES.JA_JP} ]; then
rc_status -v
fi
return $RETVAL
}
注意事項:
将来リリースされる修正 Ptach等により、/etc/rc6.d/K10vcs が上書きされ修正が元に戻ってしまう場合も考えられます。
修正 Ptach適用時は、/etc/rc6.d/K10vcs の置き換えが行われていないか確認して頂き、もしも書き換えが行われていた場合、再度上記の修正を行う必要があります。