免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4840 | 回复: 5
打印 上一主题 下一主题

用rhcs实现HA后关于进程监控的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-17 19:36 |只看该作者 |倒序浏览
10可用积分
大家好,

    我的环境RHEL5.2+oracle10g,集群软件RHCS
    我完成HA配置后发现把数据库手动停掉后,备机并没有接管过去,现在需要做到当服务进程异常后,备机也能检测到。现在想了解rhcs能做到进程级的监控吗,如果可以实现,请指点下或者给个思路;如果无法实现大家都是怎么解决,使用脚本吗,谢谢!

论坛徽章:
0
2 [报告]
发表于 2010-01-18 09:17 |只看该作者
我也遇到了和你一样的类似问题
通过clusvcadm去停那个单个服务httpd时,备机根本无法接应过去
但是当直接把主机的集群服务给停止时,备机这个时候的那httpd服务才能起来,但前提是备机的集群服务是起来的
所以越来越搞不懂红帽的集群到底是什么意思了?

论坛徽章:
0
3 [报告]
发表于 2010-01-18 09:24 |只看该作者
  呵呵 那有没有在找解决办法呢

我现在的想法是写一个脚本在2台机器上定期执行,在这个脚本里先判断哪台机器在是主机,则只有是主机时再调用另外一个脚本来检查进程的状态
但总感觉办法很次,集群应该有他自己的一个解决机制的

论坛徽章:
0
4 [报告]
发表于 2010-01-18 22:11 |只看该作者
  有哪位过来人指点下啊

论坛徽章:
0
5 [报告]
发表于 2010-01-19 09:28 |只看该作者
  貌似已解决
我的oracle脚本
#!/bin/bash
#
# standalone oracle databases
#
# description: oradb10g is a database daemon, which is the program
# that answer incoming database service requests.
# this script start listener and database daemon

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

unset ORACLE_HOME
unset ORACLE_OWNER
ORACLE_HOME=/oracle/product/10.2.0.1
ORACLE_OWNER=oracle
export ORACLE_OWNER ORACLE_HOME

LISTENER=$ORACLE_HOME/bin/lsnrctl
DBSTART=$ORACLE_HOME/bin/dbstart
DBSHUTDOWN=$ORACLE_HOME/bin/dbshut
LOG=$ORACLE_HOME/logs

# gernel logs file
if [ -e $LOG ] ; then
touch $LOG
chown $ORACLE_OWNER $LOG
fi

start() {
# Start daemons.
RETVAL=$?
echo "Starting oracle linstener and databases"
/bin/date '+%F %X Starting oracle linstener and databases' >> $LOG
/bin/su - $ORACLE_OWNER -c "$LISTENER start >> $LOG"
/bin/su - $ORACLE_OWNER -c "$DBSTART >>$LOG"
return $RETVAL
}

stop() {
# Stop daemons.
echo $"Shutting down listener and databases "
RETVAL=$?
/bin/date '+%F %X Shutting down listener and databases ' >> $LOG
/bin/su - $ORACLE_OWNER -c "$LISTENER stop >> $LOG"
/bin/su - $ORACLE_OWNER -c "$DBSHUTDOWN >> $LOG"
return $RETVAL
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
stop
start
RETVAL=$?
;;

status)
ps -ef |grep -v grep |grep -q ora_smon_dams
if [ $? = 0 ]
then
  exit 0
else
  exit 1
fi
;;

*)
echo $"Usage: $0 {start|stop|restart|}"
exit 1
esac

exit $RETVAL


关键的是
status)
ps -ef |grep -v grep |grep -q ora_smon_dams
if [ $? = 0 ]
then
  exit 0
else
  exit 1
fi

RHCS集群clusmgrd会检查服务的status,如果是0则表示服务正常,如果是1则会自动拉起oracle服务

论坛徽章:
0
6 [报告]
发表于 2012-03-09 16:40 |只看该作者
回复 3# qqjb

现在硬件这一块就有对集群的支持啊,双机热备ROSE 有一个rosereplicator  就支持,有条件使用硬件的  可以联系我   赵腾飞 13681693202
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP