܄

【金猿技术展】双节点集群下防止脑裂方法和装置、电子设备和存储介质——实现双节点高可用系统,成功解决脑裂问题

【数据猿导读】 该技术由安超云投递并参与“数据猿年度金猿策划活动——2023大数据产业年度创新技术突破榜单及奖项”评选。

【金猿技术展】双节点集群下防止脑裂方法和装置、电子设备和存储介质——实现双节点高可用系统,成功解决脑裂问题

安超云技术

该技术由安超云投递并参与“数据猿年度金猿策划活动——2023大数据产业年度创新技术突破榜单及奖项”评选。

节点的集群由两台计算机组成,每个计算机都称为集群中的一个节点(Node)。由于网络、系统等存在故障(如:网络中某一个交换机存在故障),一个集群可能分裂为两个组(Node Group),这种现象叫做脑裂(Brain Split)。当集群发生脑裂后,分裂的两个节点组中的每一个节点组都无法通过心跳信息或者租约信息检测到对方的存在,会认为其他节点组的节点发生了故障,这样在同一时间段,这些节点组中的节点可能会发起对某一共享存储资源(如:存储磁盘)的访问,这样就会导致数据访问错误的发生。此时,集群的管理软件通常会采用一定算法来仲裁由哪一个节点组胜出,并延续原有集群的工作,失败的节点组中的节点则需要重启,并执行重新加入集群的操作。在集群启动过程由于很多状态很不稳定,仲裁程序很容易误判,导致集群脑裂,本发明能解决该问题。

技术说明

本发明解决下面2个脑裂场景

一)、脑裂场景1

1、问题场景

按照上表的逻辑。当左边的默认节点存储和业务程序服务都出现异常时(红色叹号1),右边的服务器2接管服务,切换成单机的节点。此时出现了2次故障2台服务器之间的心跳再断了(红色叹号2)。随后左边的默认节点的存储服务和业务程序又自动恢复了。左边的也满足上表的逻辑第四个场景也切换为主节点。出现了双主节点,2个节点的业务持续往存储里写数据,由于2个物理机存储服务无法通过心跳线组成存储集群,数据无法同步到对端,导致集群脑裂。

金猿技术展_双节点集群_脑裂问题-1

2、关键技术

加一个判断条件,2个物理机上的高可用服务周期性检查存储和业务程序,如果出现故障,在本节点写service-fail-tag。如果切换的时候本地存在service-fail-tag,即使满足条件也不切换。

金猿技术展_双节点集群_脑裂问题-2

3、写置tag流程

每个节点的高可用服务一个线程执行如下操作,周期性检查当前节点的存储服务是否正常,如果存储不正常,在本地/var/lib/ha-service目录下写service-fail-tag文件。按照上表如果当前节点符合切换,如果当前节点存在/var/lib/ha-service/service-fail-tag文件就禁止当前节点切换为主节点。

金猿技术展_双节点集群_脑裂问题-3

4、删除tag流程

当前节点服务恢复正常,并且当前节点和对方组成集群模式。如果当前节点存在/var/lib/ha-service/service-fail-tag文件就将该文件删除,保证下次切换顺利进行。

金猿技术展_双节点集群_脑裂问题-4

二)、脑裂场景2

1、问题场景

如表1所示,当出现下面故障时,2个节点会被切换成主节点。

● 默认节点物理机1所有网络故障,按照表1场景2逻辑物理机2切为主节点。

●再次发生二次故障,物理机2再管理网故障。

● 默认节点物理机1管理网恢复,此时按照表1场景2逻辑,物理机1也会被切换为主节点。

2、关键技术,新增一个附件条件解决问题

当心跳网故障,管理网正常。需要通过管理网ssh到对端,检查对方的状态之后,通过检查本地是否有other-is-master-tag来判断对方是否为主节点。

金猿技术展_双节点集群_脑裂问题-5

3、置other-is-master-tag流程

● 当心跳网故障,管理网正常。需要通过管理网ssh到对端,检查对方的状态。

● 检查之前在本地/var/lib/ha-service目录置check-tag。表示本地开始检测了。

● 检测对方节点的状态。具体参见下面第4小节。

● 如果本地不存在other-is-master-tag,本地置failover-tag【切换是个过程,切换之前写tag,成功之后删除tag,防止正在切换,导致误判】,本地切换为主节点。

● 本地切换为主节点,切换无论成功还是失败都删failover-tag,如果成功程序结束。否则删除failover-tag重新开始。

金猿技术展_双节点集群_脑裂问题-6

4、检测程序详细说明

金猿技术展_双节点集群_脑裂问题-7

● 检测开始先判断对方是否在检查,如果正在检查等待30s,重新检查,否则进入在本地写check-tag进入检查流程;

● 判断对方failover-tag【正在切换的标志】是否存在,如果存在,程序返回开始重新检查;

● 判断对方是否为主节点,如果对方为主节点,本端写other-is-master-tag,否则对端other-is-master-tag;

● 写完other-is-master-tag之后,删除检测标记check-tag。

5、当环境恢复删除other-is-master-tag逻辑

金猿技术展_双节点集群_脑裂问题-8

当前节点服务恢复正常,切当前节点和对方组成集群模式。如果当前节点存在/var/lib/ha-service/other-is-master-tag文件就将该文件删除,保证下次切换顺利进行。

★专利申请号/公开号:CN115269248A

开发团队

·带队负责人姓名:吴业亮

吴业亮,研发中心技术架构部负责人,在云计算领域拥有十多年的架构设计及研发经验。擅长分布式集群、操作系统、虚拟化、数据库等专业领域,在云计算领域作为第一作者拥有四五十个发明专利。

团队其他重要成员姓名:胡进、李瑞友、施永辉

·隶属机构:安超云

安超云软件有限公司(简称“安超云”)是数字技术基础架构提供商,聚集了国内外顶尖的云计算专家和资深工程师,致力于为政企客户打造高性能、高可用、高效率、全面适配、高效管理及敏捷运行的IT基础设施平台。安超云系列产品和解决方案基于“全芯全栈”、“全生态”、“多云纳管”的能力,打造的“信创云基座”解决方案,融合了安超云自研的云操作系统、虚拟化平台软件、分布式存储软件、云管理平台、桌面云软件等10余个子产品,经权威机构测评核心代码自主率85%以上。安超云操作系统(ArcherOS)可基于国产六大芯片、五大操作系统向下全面统一纳管、调度、容灾和管理,向上全面兼容各种应用软件,有效的屏蔽了底层复杂基础架构。

相关评价

这项专利实现了高可用系统中的双节点模式,并且避免了脑裂问题。这意味着即使一个节点出现故障,另一个节点仍然可以正常运行,防止了系统停机和数据丢失的情况。该技术非常实用,对于关键业务系统的稳定性和可用性至关重要。该专利的创新性和实用性值得一定的称赞,能够对高可用存储系统的设计和实现提供有益的参考。

——某大数据

这项技术实现了双节点的高可用系统,并成功解决了脑裂问题。通过确保节点之间的持续通信和冗余数据存储,该技术可防止系统故障和数据损失。这一创新方案赋予了关键业务系统更高的稳定性和可用性,使其能够持续运行并保持数据完整性。该专利的价值在于为高可用存储系统开辟了新的途径,为开发人员提供了更可靠的解决方案,从而提升了企业的业务连续性和用户体验。

——某证劵公司


来源:数据猿

声明:数据猿尊重媒体行业规范,相关内容都会注明来源与作者;转载我们原创内容时,也请务必注明“来源:数据猿”与作者名称,否则将会受到数据猿追责。

刷新相关文章

金猿技术展】华院数智人——数字人生成方法及装置计算机可读存
金猿技术展】华院数智人——数字人生成方法及装置计算机可读存
【金猿技术展】一种位置隐私保护的虚拟轨迹生成算法——数位大数据基于位置隐私保护的虚拟轨迹实现方法
【金猿技术展】一种位置隐私保护的虚拟轨迹生成算法——数位大数...
【金猿技术展】基于融合视觉信息的文档目录智能生成方法及系统——一种全面的认知的文档理解、文档处理技术
【金猿技术展】基于融合视觉信息的文档目录智能生成方法及系统—...

我要评论

数据猿微信公众号
2023第七届上海AI大会暨医药和医疗创新峰会
2023深圳物联网展
人工智能博览会
FMW2023全球闪存峰值
2023世界农业科技创新大会暨世界农业科技博览会
2024上海世博展览馆
返回顶部