MHA + DNS 自动切换导致的故障

本文主要描述因为网络不通,导致mha误认为主库宕机,自动切换后,所造成的故障。

欢迎转载,请注明作者、出处。

作者:张正
blog:http://space.itpub.net/26355921 
QQ:176036317
如有疑问,欢迎联系。


架构:


架构描述:
程序通过DNS与数据库相连,数据库主库写入,备库提供读,通过DNS来进来分离的。Mha管理节点发现主库挂掉,进行切换之后,还有后置脚本将读和写的DNS进行修改、切换。

故障描述:
mha中的manager节点因为网络不通而无法Master节点,导致其认为Master已经挂掉,就进行了切换,将主库切到Slave Read 上,修改写DNS之后,Slave Read节点就提供了读和写。

但是程序中有一部分机器与原Master之间网络是通的,而且由于是通过DNS进行连接的,DNS是建立连接后就保持长连接,之后就不再进行解析。因此程序中有一部分机器仍然在往原Master中写入数据,而且有另一部分机器往Slave Read上写入数据。这样就导致数据丢失了。

解决办法:
在mha切换后的后置脚本中,添加检测原Master的mysql进程并kill掉的内容。
具体内容这里就不提供了。

此次故障,先做记录,后续完善。

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

转载于:http://blog.itpub.net/26355921/viewspace-1248083/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值