我有一个场景,DRBD心跳设置有一个失败的节点,但没有故障转移.发生了什么事情是主节点已经锁定,但没有直接下降(它通过ssh或nfs挂载无法访问,但它可以被ping通).期望的行为可能是检测到这一情况并故障转移到辅助节点,但似乎由于主服务器没有完全关闭(从服务器到服务器之间存在专用网络连接),心跳检测机制没有检测到在那,因此没有故障转移.
有没有人见过这个?是否有一些我需要配置以具有更强大的群集故障转移? DRBD似乎工作正常(当我重新启动旧主服务器时不得不重新同步),但没有良好的故障转移,它的使用是有限的.
>心跳3.0.4
> drbd84
> RHEL 6.1
>我们没有使用Pacemaker
nfs03是此设置中的主服务器,nfs01是辅助服务器.
ha.cf
# Hearbeat Logging logfacility daemon udpport 694 ucast eth0 192.168.10.47 ucast eth0 192.168.10.42 # Cluster members node nfs01.openair.com node nfs03.openair.com # Hearbeat communication timing. # Sets the triggers and pulse time for swapping over. keepalive 1 warntime 10 deadtime 30 initdead 120 #fail back automatically auto_failback on
这是haresources文件:
nfs03.openair.com IPaddr::192.168.10.50/255.255.255.0/eth0 drbddisk::data Filesystem::/dev/drbd0::/data::ext4 nfs nfslock
解决方法
我想你将不得不实施一些监控来检查你的主系统是否按预期运行.如果任何检查失败,您应该关闭服务器(通过IPMI / ILO或交换PDU)并让心跳完成其工作.
我认为你总能找到一种它不会像你期望的那样工作的情况.