ITPub博客

首页 > 数据库 > MySQL > MHA + DNS 自动切换导致的故障

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

原创 MySQL 作者:84223932 时间:2014-08-08 18:48:19 1 删除 编辑
本文主要描述因为网络不通,导致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博客 ” ,链接:https://blog.itpub.net/26355921/viewspace-1248083/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
我是一名DBA,也是一名自由潜水员,爱生活。

注册时间:2013-08-26

  • 博文量
    27
  • 访问量
    1229088