免费注册 查看新帖 |

Chinaunix

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

心得——hp MC 检测sybase进程脚本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-15 23:17 |只看该作者 |倒序浏览
今天忙活了一下午到现在,终于有点收获。
系统用hp-unix 11.11,数据库用sybase12.5,有MC,磁阵。
hp只是做了系统层面的MC,也就是说对于MC切换,只能做到shutdown操作系统,数据库发生切换;但是对于数据库自己down下来,不能自动切换。于是找hp,hp说这样的监控脚本需要sybase提供;于是找sybase,sybase说要hp提供。sigh,扯不清楚。
于是自己搞,搞到现在,可以切换了,但是仍然有些问题,请大侠赐教。
monitor脚本如下:
#!/usr/bin/sh
SYBASE_SERVER=dataserver
LOGFILE=/export/home/sybase/ASE-12_5/install/TIPS.cs_log
while true
do
ps -ef | grep ${SYBASE_SERVER} | grep -v grep >> /dev/null
if [ $? -eq 0 ]
then
echo $? >> /dev/null
else
echo "Die" >> ${LOGFILE}
sleep 60
cmrunpkg -n tips2 pkg1
echo "Die hard" >> ${LOGFILE}
sleep 60
exit
fi

sleep 10
done

每次在主机tips1上主动shutdown数据库时,可以从主机tips1把pkg1切换到主机tips2
但是切换成功后,发现主机tips1的cmviewcl -v时,主机tips1的信息如下:
Node_Switching_Parameters:
      NODE_TYPE    STATUS       SWITCHING    NAME                     
      Primary      up            disabled     tips1                     
      Alternate    up           enabled      tips2   
这个说明主机tips1对于包切换已经拒绝了,然后再想从tips2切换回tips1就不行了
暂时的解决办法是在tips1上cmhaltnode -v -f,然后cmrunnode -v使之成为enabled,然后就可以从主机tips2切换回来。
是不是说明monitor脚本有问题,还是其他的原因。
多谢啦

论坛徽章:
0
2 [报告]
发表于 2006-08-16 08:27 |只看该作者
解决办法:
暂时的解决办法是在tips1上cmhaltnode -v -f,然后cmrunnode -v使之成为enabled,然后就可以从主机tips2切换回来。
替换成:
cmmodpkg -e PKG_NAME(在这里就是tips1)
这样,pkg的switching属性就会变成enable——即出现问题自动切换。

论坛徽章:
0
3 [报告]
发表于 2006-08-16 13:10 |只看该作者
HP有提供sybase的start、stop、monitor三合一脚本,他不给你罢了,呵呵

论坛徽章:
0
4 [报告]
发表于 2006-08-16 13:26 |只看该作者
CMMODEPKG -E PKG

论坛徽章:
0
5 [报告]
发表于 2006-08-16 14:22 |只看该作者
#cmmodpkg –e –n node pkg
进行激活

[ 本帖最后由 fly_sky418 于 2006-8-16 14:23 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2006-08-17 14:53 |只看该作者
  1. #!/usr/bin/sh
  2. SYBASE_SERVER=dataserver
  3. while true
  4. do
  5. ps -ef | grep $SYBASE_SERVER | grep -v grep >> /dev/null
  6. if [ $? -eq 0 ]
  7. then
  8. echo Alive >> /dev/null
  9. else
  10. echo Die >> /dev/null
  11. exit
  12. fi
  13. sleep 2
  14. done
复制代码




在monitor脚本中不应出现控制程序包切换的语句,检测到进程不存在后程序包切换的工作由MC自己完成...

手工切换过程序包后必须使用# cmmodpkg -e pkg_name激活程序包的switch属性

论坛徽章:
0
7 [报告]
发表于 2006-08-18 14:54 |只看该作者
这个脚本确实是有问题的,把HP的脚本给你吧:

#!/usr/bin/sh
SYBASE_SERVER=dataserver
while true
do
ps -ef | grep $SYBASE_SERVER | grep -v grep >> /dev/null
if [ $? -eq 0 ]
then
echo Alive >> /dev/null
else
echo Die >> /dev/null
exit
fi
sleep 20
done

论坛徽章:
0
8 [报告]
发表于 2006-08-20 08:30 |只看该作者
原帖由 cjhvslhb 于 2006-8-18 14:54 发表
这个脚本确实是有问题的,把HP的脚本给你吧:

#!/usr/bin/sh
SYBASE_SERVER=dataserver
while true
do
ps -ef | grep $SYBASE_SERVER | grep -v grep >> /dev/null
if [ $? -eq 0 ]
then
ech ...


我就是参照HP的脚本搞,结果发现根本就不会切换
所以加了手工切换的部分在脚本里头
郁闷的说:)
HP的那个小伙子居然对shell不熟悉,我真的服了!
由于不知道包切换的时间大约是多久,所以设置成sleep 60
后来改成sleep 30,切换也成功
按照HP的说法,包切换一般10到15秒

另外,有人说的sybase自带的HA的脚本,带monitor,start,halt参数的那种
是sybase自己的HA,就是说要要有两个数据库实例的
我这个只有一个数据库实例

论坛徽章:
0
9 [报告]
发表于 2006-08-21 09:41 |只看该作者
那你检查检查吧,我用这脚本会切换的......

"有人说"的那个monitor、start、halt脚本有for MC的,是HP提供的非Sybase提供,跟这简化的Monitor一样都能实现切换的功能......
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP