HA 脑裂的测试

做了一轮ha 的测试

如果我们近似同时的在连个node ,修改网络配置

ifconigure  eth0 x.x.x.x  up

两个节点各配置不同的ip,会导致系统发上脑裂。
两个节点相互认为对方损坏了。 状态为 认为对方 UNCLEAN (OFFLINE)

然后就开始相互的重启对方的主机,就这样死循环下去了。



这个时候是比较难处理的,资源在两个节点间不停的来回切换,对数据库类应用来说是不允许的。

需要从这个状态中恢复,也比较费时。

先关闭HA 集群的开机自启动。
然后手工重启两个几点,然后手工启动ha服务。可以让集群恢复正常状态。这期间可能已经发生了多次来回的切换,导致数据库损坏。

另个方式我们设置fence 设备的默认动作为poweroff ,也就是说无论什么情况下,一旦发生问题,就直接poweroff 关闭对端的主机了。这个时候,就跟我们目前的单机服务差不多了。
在上面 提到的情况下, 因为我们已经修改了两个节点的ip设置,所以正在服务的备用节点的网络配置已经改变了,但是可以提供完整的集群服务。

这个例子里,我通过重启网络来恢复了网络配置,会导致ClusterIP 和pg 数据库发生一次重启动。 这个情况,在我们的线上应该不会发生,没有道理去修改网卡的配置。

在设置了fence设备的动作为poweroff 的时候,ha设为开机自启动,当吧已经关机的机器人工开起来后,如果正在服务的机器的修改后的ip没有改回原来的,会导致俄发生一次资源切换。这个也是我们不希望的。

如果不是通过修改ip 来触发脑裂,
或者两边的ip 不变的情况下发生了底层心跳连接断开,应该不会发生我上面描述的情况。

比较保险的做法是:

设置fence 设备的actio 默认为poweroff ,关闭HA 软件的开机自启动。

这样一旦发生了故障,我们可以确保只发生一次故障切换。

我们的保障只允许发生一次,跟我们mysql 的现行的HA 的策略是一致的,只支撑一次故障切换。

如果连续的发生故障,导致从库再切为主库,也坏掉了,就没有系统在服务了,
这个情况,我们希望转为人工处理。



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/133735/viewspace-743921/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/133735/viewspace-743921/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值