[发明专利]一种基于磁盘服务锁的裂脑预防的方法和装置有效
申请号: | 201310081528.1 | 申请日: | 2013-03-13 |
公开(公告)号: | CN103209095B | 公开(公告)日: | 2017-05-17 |
发明(设计)人: | 莫庆良;蔡强;董春青;袁泉 | 申请(专利权)人: | 广东中兴新支点技术有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 510663 广东省广州市天*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 磁盘 服务 预防 方法 装置 | ||
(一)技术领域
本发明属于计算机集群技术领域,适用于高可用性集群(High-availability clusters),尤其适用于一种基于磁盘服务锁的高可用性系统的裂脑预防的方法和装置。
(二)背景技术
随着通信网络技术的飞速发展,电信、金融、电子政务等关键领域对服务器可用性的要求越来越高,高可用集群系统日益被越来越多的用户接受和广泛使用。为了避免因服务器或交换机的故障而使业务停止造成的巨大的经济损失,通过高可用性(High Availability,HA)系统可以大大减少了业务系统的常规维护和业务因软件、硬件等故障影响的停止时间。
当前高可用集群系统主要通过网络或串口等连接作为集群通信的私有心跳网络,负责交换同步节点间的信息,监测集群中各个节点的运行情况。一般来说,集群有工作机和备份机,当备份机不能在一定时间内收到工作机的心跳信息,备份机则认为工作机发生了故障,接管了工作机上的业务并继续对外提供服务。高可用集群通过上述过程提高了业务的可用性,但是当心跳网络故障时,可能会导致工作机和备份机同时提供服务,会出现裂脑(Split Brain,SB),导致数据损坏。
在实际的实施案例中,发明人发现网络容易受到网卡、交换机、心跳线路以及驱动等的影响。尤其在长时间运作的业务中,网卡故障、交换机掉电、网线被拔或驱动异常也时有发生,严重的时候会出现集群心跳网络全部断开,集群被分为多个。这时非常容易出现同一个服务同时在两节点上运行,导致客户的数据丢失或被破坏,这是高可用集群普遍存在的一个安全隐患问题。
为了保障用户的数据不受破坏和服务可持续性,在集群心跳网络断开或异常时,防止集群裂脑是必不可少的。目前市场中为了解决此问题,通用做法都是采用将节点重启系统或将共享存储对其他节点进行隔离。但发明人发现这些方法并不能满足市场的要求,在实际的实施当中,备用节点上同样运行着其他重要的业务,客户不允许操作系统重启或整一块共享存储被隔离。
在解决集群防止裂脑的过程中,发明人发现现有的技术存在如下的问题:集群心跳网络中断时,无法区别是心跳网络故障,还是节点死机,容易做出错误的判断,从而产生裂脑;在上述判断中,能够检测到工作机仍然活着,但无法确定服务是否停止成功,存在短暂裂脑的可能,造成数据损坏;在上述判断中,如果判断节点死机了,存在多个节点同时启动服务,产生裂脑,造成数据被破坏的可能。
(三)发明内容
本发明实例提供一种基于磁盘服务锁的裂脑预防的方法和装置,在不需要将节点系统重启或共享存储隔离的情况下,仍然能够在集群心跳网络中断或异常时,实现防止集群裂脑发生,提高集群的高可用性。
一方面,提供了一种基于磁盘服务锁的裂脑预防的方法,包括:当心跳网络中断时,能够迅速区别是心跳网络故障还是节点死机的情况,避免做出误判,防止裂脑;如果是心跳网络故障,持续检测一段时间后,该服务锁没有释放,其他节点则不会再启动服务,避免工作机节点服务没有停止完成,备份机已启动而造成短暂的裂脑问题;如果是工作机死机,多个节点同时去抢占服务锁,只有唯一抢占成功的节点才有启动服务的权限,从而防止裂脑发生。
另一方面,提供了一种基于磁盘服务锁的裂脑预防的装置,包括:
节点检测判断模块,用于检测所有节点的心跳,判断出所有节点的当前的状态。当心跳网络中断时,判别心跳网络故障与工作节点死机的情况。
磁盘服务锁查询模块,用于当心跳网络故障时,其他节点可以通过查询磁盘服务锁是否释放或已失效而做出对应策略,避免发生工作机的服务没有停止成功,备份机已启动造成的短暂裂脑发生。
抢夺磁盘服务锁模块,用于在工作节点死机或因心跳网络故障后主机释放服务锁的情况下,多个节点同时去抢占服务锁,只有唯一抢占成功的节点才可以启动服务,防止裂脑发生。
本发明实施提供了上述一种基于磁盘服务锁的裂脑预防的方法和装置,在心跳网络中断时,有效判别心跳网络故障还是节点死机的情况;通过查询磁盘服务锁可以正确获取服务是否已停止成功,从而避免了存在的短暂裂脑问题;在多个节点通过抢占服务锁,只有唯一抢占成功的节点才可以启动服务,防止裂脑发生。本发明实施提供的技术解决方案成功解决了目前在不需要将系统重启或共享存储隔离的情况下,集群在心跳网络中断或异常时,难以克服和避免的裂脑问题。
(四)附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将用实施例或现有技术描述中所需要使用的附图作简单地介绍。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东中兴新支点技术有限公司,未经广东中兴新支点技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310081528.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:出租车与手持终端通信的方法、装置及系统
- 下一篇:汽车助驾系统