防止双节点集群下脑裂的方法和装置,电子设备和存储介质

小夏 科技 更新 2024-02-01

安巢云技术。

该技术由安超云交付,并参与评选“数据猿年度金猿规划活动——2023大数据行业年度创新技术突破榜暨奖项”。

节点群集由两台计算机组成,每台计算机称为群集中的一个节点。 由于网络或系统的故障(例如,网络中的某个交换机出现故障),一个集群可能会被分成两个节点组,这称为脑分裂。 当集合拆分时,两个节点组中的每一个都无法通过心跳信息或租约信息检测到另一个节点组的存在,并且会假设其他节点组的节点出现故障,因此在同一时间段内,这些节点组中的节点可能会发起对共享存储资源(如存储磁盘)的访问, 这将导致数据访问错误。在这种情况下,集群的管理软件通常会使用一定的算法来判断哪个节点组获胜并继续原始集群的工作,而失败节点组中的节点需要重启并重新加入集群。 在集群启动过程中,由于很多状态非常不稳定,仲裁程序容易误判,导致集群裂脑,而本发明可以解决这个问题。

本发明解决了以下两种裂脑场景。

1)裂脑场景1

1.问题场景。

按照上表的逻辑。 当左侧默认节点存储和业务程序服务异常(红色感叹号1)时,右侧服务器2接管服务,切换到独立节点。 此时,有 2 次故障,2 台服务器之间的心跳再次中断(红色感叹号 2)。 然后自动恢复左侧默认节点的存储服务和业务程序。 左边的第四个场景也满足了上表的逻辑,也切换到了主节点。 有两个主节点,两个节点的服务继续向存储写入数据,因为两个物理机的存储服务无法通过心跳形成存储集群,数据无法同步到对端,导致集群裂脑。

2.关键技术。

添加判断条件,两台物理机上的 HA 服务定期检查存储和服务程序,如果出现故障,则将 service-fail-tag 写入本地节点。 如果切换时本地存在 service-fail-tag,则即使满足条件也不会进行切换。

3. 编写标签流程。

每个节点的 HA 服务的线程执行以下操作:定期检查当前节点的存储服务是否正常,如果存储异常,则将 service-fail-tag 文件写入本地 var lib ha-service 目录下: 根据上表,如果当前节点满足切换要求,则当前节点有var lib ha-service service-fail-tag文件,则禁止当前节点切换到主节点。

4. 删除标记进程。

当前节点的服务恢复正常,当前节点与其他节点形成集群模式。 如果当前节点上存在var lib ha-service service-fail-tag文件,请删除该文件,以确保下次切换顺利进行。

2) 裂脑场景 2

1.问题场景。

如表1所示,当出现以下故障时,两个节点切换到主节点。

如果默认节点物理机1的所有网络故障都切换到表1场景2中的主节点。

再次发生次级故障,物理机2重新管理网络故障。

如果默认节点物理机1的管理网络恢复,物理机1也会按照表1和场景2中的逻辑切换到主节点。

2.关键技术,增加附加条件解决问题。

谨防心跳网络故障,管理网络正常。 您需要将管理网络通过SSH连接到对端,检查对端的状态,并通过检查对端本地是否有other-is-master-tag来检查对端是否为主节点。

3. 设置 other-is-master-tag 进程。

谨防心跳网络故障,管理网络正常。 您需要通过管理网络对 Peer 进行 SSH 处理,以检查对等体的状态。

检查前,请在本地 var lib ha-service 目录中设置 check-tag。 指示本地测试已启动。

检查对等节点的状态。 有关详细信息,请参阅下文第 4 小节。

如果本地没有 other-is-master-tag,则在本地设置 failover-tag 【切换是一个进程,切换前写标签,切换成功后删除标签,防止切换,导致误报],本地切换到主节点。

如果本地交换机是主节点,则无论切换成功还是失败,也无论程序是否成功结束,都应删除故障转移标记。 否则,请删除 failover-tag 并重新开始。

4.测试程序的详细说明。

如果正在检查测试,请等待 30 秒,然后重新检查,否则输入本地 write check-tag 进入检查过程。

确定对方的故障转移标记 [flag is switching] 是否存在,如果存在,程序返回开始重新检查;

如果对方是主节点,则在本地端写 other-is-master-tag,否则在对端写 other-is-master-tag。

写入 other-is-master-tag 后,删除 check-tag 标签。

5. 恢复环境后,删除 other-is-master-tag 逻辑。

当前节点的服务恢复正常,当前节点与其他节点形成集群模式。 如果当前节点上有var lib ha-service other-is-master-tag文件,请删除该文件,以确保下次切换顺利进行。

专利申请号 公开号:cn115269248a

团队负责人姓名:吴业良

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

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

联系:安朝云.

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

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

大数据局。

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

一家证券公司。

相似文章

    什么是集群?定义云集群和节点

    在过去十年中,计算机集群 尤其是 Kubernetes 集群 的采用率显着上升。初创公司和科技巨头都在利用基于集群的架构在云中部署和管理他们的应用程序。但什么是集群?集群和容器是什么关系?为什么要考虑使用群集来托管自己的应用程序?概括地说,计算机群集是一组并行运行以实现共同目标的两台或多台计算机或节...

    “双减”背景下小学数学综合实践活动的教学设计策略探索.

    一 引言 在 双减 政策的背景下,小学数学教育面临着如何有效减轻学生作业负担 提高教学质量和效率的挑战。其中,小学数学综合实践活动作为一种重要的教学手段,对提高学生的数学素养和综合能力具有重要作用。因此,双减 背景下小学数学综合实践活动的教学设计策略,对推动小学数学教育改革发展具有重要意义。.小学数...

    江铃顺达双排扫雪机采用下翻式避障方式

    江铃顺达双排座方雪犁采用向下避障方式,具有自动翻转和自动复位功能,以整体避障 二翻 三翻的形式向人展示独立避障。刷子采用聚丙烯和弹性钢丝制成,清洁效果显著,实用性强。餐边柜 m 底板m防滑板,配有锁紧装置,安全可靠。异形板雪铲具有精确的形状和尺寸,除雪宽度范围广,以及 个雪铲刀片。除雪板上部为整体式...

    年终黑马!“元梦之星”的泛娱乐体验,加持双正版

    在游戏世界中,新游戏的公测版往往是玩家探索和探索的新领域。月日,元梦之星 正式开启公测之旅,从此进入所有玩家的关注。这款游戏的问世引起了广大玩家的热烈反响和高度关注。梦之星 的公测版,显然是经过精心设计,布局巧妙。它不仅继承了 糖豆人 的经典角色和玩法,还联名了 打败了人类 等多个IP,通过独特的U...

    《元梦之星》“引爆”全网双重正版授权下的派对游戏新探索

    自从 糖豆人 和 人类战败以来 官方宣布授权以来,元梦之星 就一直备受玩家期待,在月日上线后,玩家们对它在玩法 角色扮演 社交互动等方面的丰富性非常满意。元梦之星 在玩法上独树一帜,不仅引入了多种模式和场景,还引入了许多创意十足 独具特色的玩法。排位赛的玩法要求球员灵活运用各种技巧和策略来取胜,这对...