关于ha的疑问
我用linux+heartbeat做了一个ha集群,当某一个节点死掉,比如我关机,
另外的节点会自动接替,基本功能是实现了。
但是我如何保证如果没有心跳就确定这个节点已经死掉,也有可能是心跳线,串口线
出现问题,导致感知不到心跳,而机器本身是活动的,
这种情况下最好的办法就是断电,当然如果有硬件的话,
实现非常容易(如果感知不到心跳,我就断电),
但是软件应该如何实现呢?用watchdog?
watchdog的原理是什么呢?我看了一下,好像是如果ping不到某台机器,
就自动重启,那怎么和heartbeat配合使用呢?
那位给俺讲讲这两个东西搭配使用的具体工作原理。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我以也在做这个,我现在做备份机,其他的功能实现了,请问你的双机配置(主机和备份机)是怎样的呢?
heartbest自身有诊断心跳的功能吗
我也不太明白,如何和heartbeat配置使用
watchdog的机制又叫hangchecktimer,指的是使用硬件或者软件的设备来系统down机的时候将系统重起或者关机,他的原理是,打开watchdog 设备后,如果在一段时间内没有往里面写字符,watchdog设备就会认为机器发生故障,将机器重起。他和powerswith的区别在于使用powerswitch是被动被重起或者关机,而watchdog之主动的重起或关机。如果你使用Intel主板的话(810以上,不包括e2575),可以试试
modprobe i8xx_tco
echo "1" >/dev/watchdog
你的机器会在30s后自动重起。
如果没有,你也可以
modprobe softdog;echo "1" >/dev/watchdog
你的机器会在20s后重起
通过这种机制,HA可以在某一节点down机时迅速的由watchdog设备重起来释放掉资源。有硬件的的更好。
watchdog机制被intel纳入到openipmi规范里了,也可以试试impi_watchdog这个模块是否有效。
watchdog并不能解决心跳中断的问题,因为在心跳中断的情况下(split-brain)机器并不一定down机了。