[发明专利]一种DRBD脑裂的处理方法及装置有效
申请号: | 201310464715.8 | 申请日: | 2013-10-08 |
公开(公告)号: | CN103532748B | 公开(公告)日: | 2017-01-25 |
发明(设计)人: | 李成金;郑驰;李滕;赵建军 | 申请(专利权)人: | 北京华胜天成科技股份有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L29/06 |
代理公司: | 北京品源专利代理有限公司11332 | 代理人: | 胡彬 |
地址: | 100192 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 drbd 处理 方法 装置 | ||
技术领域
本发明涉及计算机应用领域,具体涉及高可靠性解决方案领域,尤其涉及一种DRBD脑裂的处理方法及装置。
背景技术
现有的Linux环境下Mysql的高可靠性方案通常为Heartbeat+DRBD。Heartbeat通过冗余通信通道和消息重传机制来保证通信的可靠性。Heartbeat检测主通信链路工作状态的同时也检测备用通信链路状态,并把这一状态报告给系统管理员,这样可以大大减少因为多重失效引起的集群故障不能恢复。例如,某个工作人员不小心拨下了一个备份通信链路,一两个月以后主通信链路也失效了,系统就不能再进行通信了。通过报告备份通信链路的工作状态和主通信链路的状态,可以完全避免这种情况。因为这样在主通信链路失效以前,就可以检测到备份工作链路失效,从而在主通信链路失效前修复备份通信链路。DRBD(Distributed Replicated Block Device)是一个用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案。数据镜像:实时、透明、同步(所有服务器都成功后返回)、异步(本地服务器成功后返回)。
但是二者都存在“脑裂”问题,即两个节点都以为本机是主节点从而发生抢夺资源的情况。目前的解决方案包括添加第三方“仲裁”来加强,即在向对方主机执行Ping命令失败后再对默认网关做一次Ping。但是这种方法也存在一定的缺陷,当网络断开后(如短暂的拔掉网线)又在很短的时间内恢复了之后,脑裂还是会不可避免的发生。
发明内容
有鉴于此,本发明实施例提供一种DRBD脑裂的处理方法及装置,来解决以上背景技术部分提到的技术问题。
第一方面,本发明实施例提供了一种DRBD脑裂的处理方法,所述方法包括:
每隔一段时间检测主机Ping网关或者第三方IP是否成功,并查询上次网关检测结果;当本次Ping网关或者第三方IP检测为成功,且上次Ping网关或者第三方IP检测结果为成功时,则检测远程主机的DRBD状态是否为Primary/Secondary或者Secondary/Primary状态;
当远程主机的DRBD状态不是Primary/Secondary或者Secondary/Primary状态时,检测远程主机的DRBD状态是否为Secondary/Unknown状态;
当远程主机的DRBD状态不为Secondary/Unknown状态时,则进行正常DRBD切换,然后在远程主机上执行DRBD连接操作。
进一步地,所述方法还包括:当本次Ping网关或者第三方IP检测为失败,且上次Ping网关或者第三方IP检测结果为成功时,则停止服务,包括Heartbeat、Mysql、DRBD。
进一步地,所述方法还包括:当本次Ping网关或者第三方IP检测为成功,且上次Ping网关或者第三方IP检测结果为失败时,则启动DRBD和Heartbeat服务。
进一步地,所述检测远程主机的DRBD状态是否为Primary/Secondary或者Secondary/Primary状态还包括:当首次检测到远程主机的DRBD状态不为Primary/Secondary或者Secondary/Primary状态时,进入休眠状态;休眠预设时间后再次检测远程主机的DRBD状态是否为Primary/Secondary或者Secondary/Primary状态。
进一步地,所述当远程主机的DRBD状态为Secondary/Unknown状态时,则进行正常DRBD切换包括:当远程主机的DRBD不为Secondary/Unknown状态时,且本地主机为Secondary/Unknown状态,需进行DRBD切换。
进一步地,上次Ping网关或者第三方IP成功或者失败的标识,可以持久化到文件,或者设置为进程内变量值。
第二方面,本发明实施例还提供了一种DRBD脑裂的处理装置,所述装置包括:
Ping网关或者第三方IP检测模块,用于每隔一段时间检测主机Ping网关或者第三方IP是否成功,并查询上次网关检测结果;
DRBD P/S状态检测模块,用于当本次Ping网关或者第三方IP检测为成功,且上次Ping网关或者第三方IP检测结果为成功时,则检测远程主机的DRBD状态是否为Primary/Secondary或者Secondary/Primary状态;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京华胜天成科技股份有限公司,未经北京华胜天成科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310464715.8/2.html,转载请声明来源钻瓜专利网。