CN115766753A - 一种存储网关高可用方法、系统及电子设备 - Google Patents

一种存储网关高可用方法、系统及电子设备 Download PDF

Info

Publication number
CN115766753A
CN115766753A CN202210908661.9A CN202210908661A CN115766753A CN 115766753 A CN115766753 A CN 115766753A CN 202210908661 A CN202210908661 A CN 202210908661A CN 115766753 A CN115766753 A CN 115766753A
Authority
CN
China
Prior art keywords
node
gateway
cluster
nodes
arbitration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210908661.9A
Other languages
English (en)
Inventor
薛强
张翼
吴学含
李贵斌
李家伟
蔡维珑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianyi Cloud Technology Co Ltd
Original Assignee
Tianyi Cloud Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianyi Cloud Technology Co Ltd filed Critical Tianyi Cloud Technology Co Ltd
Priority to CN202210908661.9A priority Critical patent/CN115766753A/zh
Publication of CN115766753A publication Critical patent/CN115766753A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本说明书公开了一种存储网关高可用方法、系统及电子设备,能够保证存储网关服务可靠性。所述方法应用于云存储系统,所述云存储系统包括多个网关节点以及存储引擎集群。所述方法包括:备选节点对工作节点的服务状态进行监控,在所述工作节点出现服务故障,备选节点转为候选节点并向所述存储引擎集群发起集群仲裁请求,若集群仲裁未通过所述候选节点发起节点仲裁;集群仲裁通过或节点仲裁通过时,所述候选节点转换为新的工作节点并重新启动服务。

Description

一种存储网关高可用方法、系统及电子设备
技术领域
本发明涉及分布式存储技术领域,具体涉及一种存储网关高可用方法、 系统及电子设备。
背景技术
分布式存储系统是云计算产品的基础,需要具备海量文件存取及大规 模并发访问的能力,同时兼顾稳定性、可靠性、硬件容错等要求。分布式 存储系统的块存储是专为云主机提供云硬盘的存储产品,在提供了海量存 储空间的同时还保障了云主机的可扩展性、可迁移性和备份回滚的能力。 然而云硬盘网关对外提供服务经常会受到断电,断网,坏盘,服务故障等 故障的影响,这将直接影响到用户的数据安全。因此如何低成本、可靠地 提供高可用服务成为存储产品线极为重要的核心问题。
在一些相关技术中使用高可用管理组件来管理网关软件,使其成为主 备的模式或者集群的模式来提供高可用服务。其中,主备模式通过主备节 点之间发送心跳来进行互相监控,但在断网时可能出现双主共存的情况, 导致出现数据冲突的问题;集群模式通过各个节点的仲裁机制来进行选主, 需要在大于半数节点投票才可确定主节点,当出现多数网关故障的情况下 会仲裁失效,所有节点都无法对外提供服务。因此现有的高可用管理组件 的管理模式可靠性难以满足用户需求。
发明内容
有鉴于此,本发明实施例提供了一种存储网关高可用方法、系统及电 子设备,能够保证存储网关服务可靠性。
在第一方面,本说明实施例提供了一种存储网关高可用方法,所述方 法应用于云存储系统,所述云存储系统包括多个网关节点以及存储引擎集 群,所述存储引擎集群记录多个所述网关节点的网关信息;所述方法包括:
多个所述网关节点中的备选节点对工作节点的服务状态进行监控;
响应于所述工作节点出现服务故障,所述备选节点转换为候选节点;
所述候选节点向所述存储引擎集群发起集群仲裁请求;
所述存储引擎集群根据所述网关信息针对所述候选节点进行集群仲裁;
响应于集群仲裁通过,所述候选节点转换为新的工作节点并重新启动 服务;
响应于集群仲裁未通过,所述候选节点向其他所述网关节点发起节点 仲裁;
响应于节点仲裁通过,所述候选节点转换为新的工作节点并重新启动 服务。
可选的,所述云存储系统中多个所述网关节点之间通过发送心跳信息 进行状态监控,所述心跳信息包括所述网关节点的状态标识与版本信息, 其中所述工作节点的所述版本信息持续更新;
所述多个所述网关节点中的备选节点对工作节点的服务状态进行监控, 包括:
所述备选节点持续接收所述工作节点的所述心跳信息,并根据所述心 跳信息对所述工作节点的所述服务状态进行判断;
响应于所述状态标识从主标识转为从标识,确定所述工作节点出现服 务异常;
响应于所述版本信息过时,确定所述工作节点出现网络异常。
可选的,所述网关信息包括所述网关节点的所述心跳信息;
所述存储引擎集群根据所述网关信息针对所述候选节点进行集群仲裁, 包括:
根据多个所述网关节点的所述心跳信息进行状态转移控制。
可选的,在所述云存储系统包括两个所述网关节点的情况下,所述根 据多个所述网关节点的所述心跳信息进行状态转移控制,包括:
Figure BDA0003773218540000031
其中,S1,S2分别表示第一网关节点、第二网关节点的所述状态标识, master表示所述主标识,slave表示所述从标识,ΔEP1,ΔEP2分别表示所述 第一网关节点与所述第二网关节点的版本更新时间,timeout表示版本更新 时限,
Figure BDA0003773218540000032
表示所述第一网关节点出现服务故障。
可选的,在所述云存储系统包括两个以上所述网关节点的情况下,所 述根据多个所述网关节点的所述心跳信息进行状态转移控制,包括:
Figure BDA0003773218540000033
其中,Si,Sj分别表示网关节点i、网关节点j的所述状态标识,S0…Sn表 示网关节点i、网关节点j外多个其他网关节点的所述状态标识,ΔEPi,ΔEPi分 别表示网关节点i、网关节点j的版本更新时间,
Figure BDA0003773218540000034
表示所述网 关节点i出现服务故障。
可选的,所述方法在集群仲裁通过后还包括:
所述存储引擎集群为通过集群仲裁的所述候选节点设置数据锁;
通过集群仲裁的所述候选节点在转换为新的工作节点时,将相应的所 述状态标识与所述版本信息更新至所述存储引擎集群。
可选的,所述候选节点向其他所述网关节点发起节点仲裁,包括:
所述候选节点获取其他所述网关节点的所述心跳信息;
响应于其他所述网关节点的所述状态标识均为从标识,节点仲裁成功, 所述候选节点所述状态标识转换为主标识;
响应与存在所述网关节点的所述状态标识为主标识,节点仲裁失败, 所述候选节点转换为备选节点。
可选的,多个所述网关节点之间通过高可用管理组件进行直接通信, 所述网关节点与所述存储引擎集群之间基于所述存储引擎集群的键值数据 库进行通信,多个所述网关节点之间通过所述存储引擎集群进行间接通信。
在第二方面,本说明书实施例还提供了一种存储网关高可用系统,所 述系统包括多个网关节点以及存储引擎集群,所述存储引擎集群用于记录 多个所述网关节点的网关信息;
多个所述网关节点中的备选节点,用于对工作节点的服务状态进行监 控;
在所述工作节点出现服务故障时,所述备选节点转换为候选节点;
所述候选节点,用于向所述存储引擎集群发起集群仲裁请求;
所述存储引擎集群,用于根据所述网关信息针对所述候选节点进行集 群仲裁;
在集群仲裁通过时,所述候选节点转换为新的工作节点并用于重新启 动服务;
在集群仲裁未通过时,所述候选节点用于向其他所述网关节点发起节 点仲裁;
在节点仲裁通过时,所述候选节点转换为新的工作节点并用于重新启 动服务。
在第三方面,本说明书实施例还提供了一种电子设备,包括存储器、 处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器 执行所述程序时实现如第一方面所述的方法。
从上面可以看出,本说明书实施例所提供的一种存储网关高可用方法、 系统及电子设备,具有以下有益技术效果:
所述存储网关高可用方法、系统及电子设备,在工作节点出现故障时 采用双仲裁机制,先首先基于权威集群执行集群仲裁,经过了权威集群仲 裁后的服务的可靠性等同于权威集群的可靠性;在集群仲裁不可用的情况 下,可以继续执行节点仲裁,实现从备选节点中选取确定新的工作节点继 续提供服务。这样的方式即使在系统中超过半数网关节点都出现故障,仍 可以继续对外提供服务,能够避免数据冲突以及服务失效的问题,保证存储网关服务可靠性。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性 的而不应理解为对本发明进行任何限制,在附图中:
图1示出了本说明书一个或多个可选实施例所提供的一种存储网关高 可用方法示意图;
图2示出了本说明书一个或多个可选实施例所提供的一种存储网关稿 可用系统结构示意图;
图3示出了本说明书一个或多个可选实施例所提供的一种存储网关高 可用方法中对工作节点的服务状态进行监控的方法示意图;
图4示出了本说明书一个或多个可选实施例所提供的一种存储网关高 可用方法中发起节点仲裁的方法示意图;
图5示出了本说明书一个或多个可选实施例所提供的一种存储网关高 可用电子设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本 发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描 述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。 基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所 获得的所有其他实施例,都属于本发明保护的范围。
示例:用户在即时通信软件中输入搜索关键词后,都希望能够快速地 查询到自身所需的消息。但所述是随着即时通信软件中会话数量的不断增 多,在用户输入某个搜索关键词后,即时通信软件会检索到相当多的消息。 用户需要对即时通信软件检索到的消息进一步地进行筛查,从而获取到自 身所需的消息。
分布式存储系统是云计算产品的基础,需要具备海量文件存取及大规 模并发访问的能力,同时兼顾稳定性、可靠性、硬件容错等要求。分布式 存储系统的块存储是专为云主机提供云硬盘的存储产品,在提供了海量存 储空间的同时还保障了云主机的可扩展性、可迁移性和备份回滚的能力。 然而云硬盘网关对外提供服务经常会受到断电,断网,坏盘,服务故障等 故障的影响,这将直接影响到用户的数据安全。因此如何低成本、可靠地 提供高可用服务成为存储产品线极为重要的核心问题。
在一些相关技术中使用高可用管理组件来管理网关软件,使其成为主 备的模式或者集群的模式来提供高可用服务。其中,传统的主备模式通过 主备节点之间发送心跳来进行互相监控,但是这种模式在断网时将出现灾 难性的故障,主备两台机器都认为自己才是主,形成双主共存的情况,这 会形成存储中的双写,双写时两个节点同时访问同一块存储空间,从而有 一个被覆盖,而我们无法保证两个操做的先后顺序,出现数据不一致的情况。
相比于主备模式50%的利用率,集群模式通过各个节点的仲裁机制来 进行选主。选主时候选节点在全集群内发起仲裁,在大于半数节点投票的 情况下,选出主节点。这导致在多数网关故障的情况下仲裁失效,导致所 有节点都无法对外提供服务。
从上面可以看出,现有的高可用管理组件的管理模式在网关服务出现 故障时,仍然存在不可用风险,可靠性难以满足用户需求。
针对上述问题,本说明书实施例技术方案的目的在于提出一种双仲裁 机制的存储网关高可用管理方法,在多个存储网关的基础上设置权威集群, 高可用管理能够实现基于权威集群的集群仲裁以及基于多个存储网关自身 的节点仲裁,双仲裁机制能够避免数据冲突与服务实效,确保存储网关服 务的可靠性。
基于上述目的,在一方面本说明书实施例提供了一种存储网关高可用 方法。
如图1所述,本说明书一个或多个可选实施例所提供的一种存储网关 高可用方法,所述方法应用于云存储系统。所述云存储系统包括多个网关 节点以及存储引擎集群,所述存储引擎集群记录多个所述网关节点的网关 信息。图2示出了所述云存储系统的架构示意图,在所述云存储系统中最 下层是存储引擎集群,能够提供最基本的存储对象,上层的多个存储网关 作为网关节点,对存储引擎上的存储对象进行管理,为用户提供云硬盘产品服务。
所述方法包括:
S1:多个所述网关节点中的备选节点对工作节点的服务状态进行监控。
所述备选节点与所述工作节点保持通信以获取所述工作节点的服务状 态信息,从而实现对所述工作节点的所述服务状态进行监控。
在一些可选实施例中,多个所述网关节点之间通过发送心跳信息进行 状态监控。多个所述网关节点中的所述备选节点即可以根据从所述工作节 点所获取的所述心跳信息来监控和判断所述工作节点的服务状态。
S2:响应于所述工作节点出现服务故障,所述备选节点转换为候选节 点。
所述工作节点出现服务故障时,需要从工作节点外的多个备选节点中 选取一个作为新的工作节点提供服务,此时,所述备选节点转换为候选节 点。
S3:所述候选节点向所述存储引擎集群发起集群仲裁请求。
S4:所述存储引擎集群根据所述网关信息针对所述候选节点进行集群 仲裁。
在所述云存储系统中,可以选取所述存储引擎集群作为权威集群,在 所述存储引擎集群中存储有多个所述网关节点的所述网关信息,可以利用 所述存储引擎集群根据所述网关信息进行集群仲裁,从多个所述候选节点 中选取一个作为新的工作节点。
S5:响应于集群仲裁未通过,所述候选节点向其他所述网关节点发起 节点仲裁。
考虑到所述存储引擎集群可能执行故障排查,在某些情况下可能存在 服务中断的情况。为保证方案可靠性,一些可选实施例中当所述集群仲裁 未通过时,所述候选节点继续执行节点仲裁,在多个网关节点之间进行仲 裁,从而确定出新的工作节点。
S6:在集群仲裁或节点仲裁通过时,所述候选节点转换为新的工作节 点并重新启动服务。
所述存储网关高可用方法,在工作节点出现故障时采用双仲裁机制, 先首先基于权威集群执行集群仲裁,经过了权威集群仲裁后的服务的可靠 性等同于权威集群的可靠性;在集群仲裁不可用的情况下,可以继续执行 节点仲裁,实现从备选节点中选取确定新的工作节点继续提供服务。这样 的方式即使在系统中超过半数网关节点都出现故障,仍可以继续对外提供 服务,能够避免数据冲突以及服务失效的问题,保证存储网关服务可靠性。
如图3所示,在本说明书一个或多个可选实施例所提供的一种存储网 关高可用方法中,所述云存储系统中多个所述网关节点之间通过发送心跳 信息进行状态监控,所述心跳信息包括所述网关节点的状态标识(state)与 版本信息(epoch),其中所述工作节点的所述版本信息持续更新。
所述多个所述网关节点中的备选节点对工作节点的服务状态进行监控, 包括:
S301:所述备选节点持续接收所述工作节点的所述心跳信息,并根据 所述心跳信息对所述工作节点的所述服务状态进行判断。
所述工作节点的服务正常状态下,所述状态标识state为主标识Master, 其他备用节点响应的所述状态标识state为从标识Slave。
S302:响应于所述状态标识从主标识转为从标识,确定所述工作节点 出现服务异常。
在出现服务异常时,所述工作节点会将自身的状态标识state转为从标 识。因此当所述备选节点检测到所述工作节点的所述状态标识从主标识转 为从标识,则说明所述工作节点出现服务异常。
S303:响应于所述版本信息过时,确定所述工作节点出现网络异常。
所述版本信息过时,说明无法正常保持对所述版本信息的持续更新, 所述工作节点出现网络异常。
所述工作节点的服务故障包括上述的服务异常以及网络异常。
在本说明书一个或多个可选实施例所提供的一种存储网关高可用方法 中,所述网关信息包括所述网关节点的所述心跳信息。所述存储引擎集群 根据所述网关信息针对所述候选节点进行集群仲裁,包括根据多个所述网 关节点的所述心跳信息进行状态转移控制。
在一些可选实施例中,所述云存储系统中包括主从两个存储网关。所 述存储引擎集群根据所述网关信息对主从两个网关节点进行集群仲裁,控 制二者进行状态转移。
Figure BDA0003773218540000091
其中,S1,S2分别表示第一网关节点、第二网关节点的所述状态标识, master表示所述主标识,表示所述从标识,ΔEP1,ΔEP2分别表示所述 第一网关节点与所述第二网关节点的版本更新时间,timeout表示版本更新 时限,
Figure BDA0003773218540000092
表示所述第一网关节点出现服务故障。
上述状态转移公式的含义包括:针对第二网关节点,在第二网关节点S2为从标识、S2为主标识但版本信息更新超时的情况下,控制将第一网关节 点的状态标识转为主标识master;针对第一网关节点,在第一网关节点出 现服务故障,或第一网关节点的版本信息更新超时的情况下,控制将第一 网关节点的状态标识转为从标识slave。
在一些可选实施例中,所述云存储系统中包括主从多个存储网关。所 述存储引擎集群根据多个所述网关节点的所述心跳信息多个所述网关节点 进行状态转移控制。
Figure BDA0003773218540000093
其中,Si,Sj分别表示网关节点i、网关节点j的所述状态标识,S0…Sn表 示网关节点i、网关节点j外多个其他网关节点的所述状态标识,ΔEPi,ΔEPi分 别表示网关节点i、网关节点j的版本更新时间,
Figure BDA0003773218540000101
表示所述网 关节点i出现服务故障。
其中,网关节点i、网关节点j可以是多个网关节点中的任意节点。上述 状态转移公式的含义包括:针对网关节点j以及其他多个网关节点,在 S0…Sn均为从标识,网关节点j为主标识但版本信息更新超时的情况下,可 以选定网关节点i为新的工作节点,控制网关节点i的所述状态标识转为主标 识master;针对网关节点i,在网关节点i出现服务故障,或网关节点i的版 本信息更新超时的情况下,控制网关节点i的状态标识转为从标识slave。
所述存储引擎集群中记录有多个所述网关节点的所述心跳信息,可以 将所述存储引擎集群作为权威集群,基于权威集群对多个所述网关节点进 行集群仲裁,从多个所述候选节点中选取一个作为新的工作节点。
在本说明书一个或多个可选实施例所提供的一种存储网关高可用方法 中,所述存储引擎集群针对多个所述候选节点进行集群仲裁时,多个所述 候节点通过抢所述存储引擎集群中数据库的锁来仲裁,所述存储引擎集群 为通过集群仲裁的所述候选节点设置数据锁。通过集群仲裁的所述候选节 点在转换为新的工作节点时,将相应的所述状态标识与所述版本信息更新 至所述存储引擎集群。
基于所述数据锁机制,通过集群仲裁的所述候选节点在转换为新的工 作节点,其所更新的所述状态标识与所述版本信息不会再被其他候选节点 的信息改写。
如图4所示,在本说明书一个或多个可选实施例所提供的一种存储网 关高可用方法中,所述候选节点向其他所述网关节点发起节点仲裁,包括:
S401:所述候选节点问询其他所述网关节点的所述状态标识;
所述候选节点可以通过问询状态标识确定其他所述网关节点的状态。
S402:确定是否存在其他所述网关节点的所述状态标识为主标识;
S403:响应于其他所述网关节点的所述状态标识均为从标识,节点仲 裁成功,所述候选节点所述状态标识转换为主标识。
其他所述网关节点的所述状态标识均为从标识,说明当前情况下所述 云存储系统中不存在工作节点。所述候选节点可以将所述状态标识转换为 所述主标识,从而所述候选节点即转换为新的工作节点,可以重新启动服 务。
S404:响应与存在所述网关节点的所述状态标识为主标识,节点仲裁 失败,所述候选节点转换为备选节点。
当存在所述网关节点的所述状态标识为主标识,说明当前情况下所述 云存储系统中已经存在工作节点提供服务,所述候选节点仲裁失败,重新 转回到备选节点。
所述节点仲裁采用一票否决机制,不需要所有的节点都回复,即使在 查过半数网关节点故障的情况下仍能实现仲裁,并在仅有的部分网关节点 中确定出新的工作节点继续提供服务。这样的方式能够进一步保证服务可 靠性。
在本说明书一个或多个可选实施例所提供的一种存储网关高可用方法 中,所述云存储系统中的多个所述网关节点之间通过高可用管理组件进行 直接通信,所述网关节点与所述存储引擎集群之间基于所述存储引擎集群 的键值数据库进行通信,多个所述网关节点之间通过所述存储引擎集群进 行间接通信。这样的通信架构方式,当出现网关节点故障时,其他正常工 作网关节点之间、正常工作网关节点与所述存储引擎集群件之间仍能保持 正常数据通信,从而避免部分网关节点故障对继续提供服务造成影响,能 够进一步保证存储网关服务可靠性。
需要说明的是,本公开实施例的方法可以由单个设备执行,例如一台 计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台 设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台 设备可以只执行本公开实施例的方法中的某一个或多个步骤,这多台设备 相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本公开的一些实施例进行了描述。其它实施例 在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作 或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望 的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续 顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也 是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供 了一种存储网关高可用系统。
参考图2,所述存储网关高可用系统,包括多个网关节点以及存储引擎 集群,所述存储引擎集群用于记录多个所述网关节点的网关信息;
多个所述网关节点中的备选节点,用于对工作节点的服务状态进行监 控;
在所述工作节点出现服务故障时,所述备选节点转换为候选节点;
所述候选节点,用于向所述存储引擎集群发起集群仲裁请求;
所述存储引擎集群,用于根据所述网关信息针对所述候选节点进行集 群仲裁;
在集群仲裁通过时,所述候选节点转换为新的工作节点并用于重新启 动服务;
在集群仲裁未通过时,所述候选节点用于向其他所述网关节点发起节 点仲裁;
在节点仲裁通过时,所述候选节点转换为新的工作节点并用于重新启 动服务。
在本说明书一个或多个可选实施例所提供的一种存储网关高可用系统 中,多个所述网关节点之间通过发送心跳信息进行状态监控,所述心跳信 息包括所述网关节点的状态标识与版本信息,其中所述工作节点的所述版 本信息持续更新;所述备选节点,还用于持续接收所述工作节点的所述心 跳信息,并根据所述心跳信息对所述工作节点的所述服务状态进行判断; 响应于所述状态标识从主标识转为从标识,确定所述工作节点出现服务异 常;响应于所述版本信息过时,确定所述工作节点出现网络异常。
在本说明书一个或多个可选实施例所提供的一种存储网关高可用系统 中,所述网关信息包括所述网关节点的所述心跳信息。所述存储引擎集群 还用于,根据多个所述网关节点的所述心跳信息进行状态转移控制。
在本说明书一个或多个可选实施例所提供的一种存储网关高可用系统 中,所述存储引擎集群在所述云存储系统包括两个所述网关节点的情况下 还用于,所述根据多个所述网关节点的所述心跳信息进行状态转移控制。 状态转移公式为:
Figure BDA0003773218540000131
其中,S1,S2分别表示第一网关节点、第二网关节点的所述状态标识, master表示所述主标识,表示所述从标识,ΔEP1,ΔEP2分别表示所述 第一网关节点与所述第二网关节点的版本更新时间,timeout表示版本更新 时限,
Figure BDA0003773218540000132
表示所述第一网关节点出现服务故障。
在本说明书一个或多个可选实施例所提供的一种存储网关高可用系统 中,所述存储引擎集群在所述云存储系统包括两个以上所述网关节点的情 况下还用于,根据多个所述网关节点的所述心跳信息进行状态转移控制。 状态转移公式为:
Figure BDA0003773218540000133
其中,Si,Sj分别表示网关节点i、网关节点j的所述状态标识,S0…Sn表 示网关节点i、网关节点j外多个其他网关节点的所述状态标识,ΔEPi,ΔEPi分 别表示网关节点i、网关节点j的版本更新时间,
Figure BDA0003773218540000134
表示所述网 关节点i出现服务故障。
在本说明书一个或多个可选实施例所提供的一种存储网关高可用系统 中所述存储集群引擎还用于,为通过集群仲裁的所述候选节点设置数据锁;
通过集群仲裁的所述候选节点在转换为新的工作节点时,还用于将相 应的所述状态标识与所述版本信息更新至所述存储引擎集群。
在本说明书一个或多个可选实施例所提供的一种存储网关高可用系统 中,在集群仲裁未通过时所述候选节点,还用于问询其他所述网关节点的 所述状态标识;响应于其他所述网关节点的所述状态标识均为从标识,节 点仲裁成功,所述候选节点还用于将所述状态标识转换为主标识;响应与 存在所述网关节点的所述状态标识为主标识,节点仲裁失败,所述候选节 点转换为备选节点。
在本说明书一个或多个可选实施例所提供的一种存储网关高可用系统 中,多个所述网关节点之间通过高可用管理组件进行直接通信,所述网关 节点与所述存储引擎集群之间基于所述存储引擎集群的键值数据库进行通 信,多个所述网关节点之间通过所述存储引擎集群进行间接通信。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当 然,在实施本公开时可以把各模块的功能在同一个或多个软件和/或硬件中 实现。
上述实施例的装置用于实现前述任一实施例中相应的存储网关高可用 方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的存储网关高可用方法。
图5示出了本实施例所提供的一种更为具体的电子设备硬件结构示意 图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、 通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接 口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连 接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理 器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit, ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现 本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM (Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设 备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软 件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码 保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。 输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于 设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克 风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯 等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其 他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等) 实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通 信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器 1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输 入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中, 该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术 人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所 必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的存储网关高 可用方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供 了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储 计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述 的存储网关高可用方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移 动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指 令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括, 但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存 取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内 存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其 他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其 他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上 任一实施例所述的存储网关高可用方法,并且具有相应的方法实施例的有 益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例 性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在 本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进 行组合,步骤可以以任意顺序实现,并存在如上所述的本公开实施例的不 同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本公开实施例难以理解, 在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部 件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免 使本公开实施例难以理解,并且这也考虑了以下事实,即关于这些框图装 置的实施方式的细节是高度取决于将要实施本公开实施例的平台的(即, 这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人 员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细 节有变化的情况下实施本公开实施例。因此,这些描述应被认为是说明性 的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据 前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员 来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM)) 可以使用所讨论的实施例。
本公开实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样 的替换、修改和变型。因此,凡在本公开实施例的精神和原则之内,所做 的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之 内。

Claims (10)

1.一种存储网关高可用方法,其特征在于,所述方法应用于云存储系统,所述云存储系统包括多个网关节点以及存储引擎集群,所述存储引擎集群记录多个所述网关节点的网关信息;所述方法包括:
多个所述网关节点中的备选节点对工作节点的服务状态进行监控;
响应于所述工作节点出现服务故障,所述备选节点转换为候选节点;
所述候选节点向所述存储引擎集群发起集群仲裁请求;
所述存储引擎集群根据所述网关信息针对所述候选节点进行集群仲裁;
响应于集群仲裁通过,所述候选节点转换为新的工作节点并重新启动服务;
响应于集群仲裁未通过,所述候选节点向其他所述网关节点发起节点仲裁;
响应于节点仲裁通过,所述候选节点转换为新的工作节点并重新启动服务。
2.根据权利要求1所述的方法,其特征在于,所述云存储系统中多个所述网关节点之间通过发送心跳信息进行状态监控,所述心跳信息包括所述网关节点的状态标识与版本信息,其中所述工作节点的所述版本信息持续更新;
所述多个所述网关节点中的备选节点对工作节点的服务状态进行监控,包括:
所述备选节点持续接收所述工作节点的所述心跳信息,并根据所述心跳信息对所述工作节点的所述服务状态进行判断;
响应于所述状态标识从主标识转为从标识,确定所述工作节点出现服务异常;
响应于所述版本信息过时,确定所述工作节点出现网络异常。
3.根据权利要求2所述的方法,其特征在于,所述网关信息包括所述网关节点的所述心跳信息;
所述存储引擎集群根据所述网关信息针对所述候选节点进行集群仲裁,包括:
根据多个所述网关节点的所述心跳信息进行状态转移控制。
4.根据权利要求3所述的方法,其特征在于,在所述云存储系统包括两个所述网关节点的情况下,所述根据多个所述网关节点的所述心跳信息进行状态转移控制,包括:
Figure FDA0003773218530000021
其中,S1,S2分别表示第一网关节点、第二网关节点的所述状态标识,master表示所述主标识,slave表示所述从标识,ΔEP1,ΔEP2分别表示所述第一网关节点与所述第二网关节点的版本更新时间,timeout表示版本更新时限,
Figure FDA0003773218530000022
表示所述第一网关节点出现服务故障。
5.根据权利要求3所述的方法,其特征在于,在所述云存储系统包括两个以上所述网关节点的情况下,所述根据多个所述网关节点的所述心跳信息进行状态转移控制,包括:
Figure FDA0003773218530000023
其中,Si,Sj分别表示网关节点i、网关节点j的所述状态标识,S0…Sn表示网关节点i、网关节点j外多个其他网关节点的所述状态标识,ΔEPi,ΔEPi分别表示网关节点i、网关节点j的版本更新时间,
Figure FDA0003773218530000024
表示所述网关节点i出现服务故障。
6.根据权利要求3所述的方法,其特征在于,在集群仲裁通过后还包括:
所述存储引擎集群为通过集群仲裁的所述候选节点设置数据锁;
通过集群仲裁的所述候选节点在转换为新的工作节点时,将相应的所述状态标识与所述版本信息更新至所述存储引擎集群。
7.根据权利要求2所述的方法,其特征在于,所述候选节点向其他所述网关节点发起节点仲裁,包括:
所述候选节点问询其他所述网关节点的所述状态标识;
响应于其他所述网关节点的所述状态标识均为从标识,节点仲裁成功,所述候选节点相应的所述状态标识转换为主标识;
响应与存在所述网关节点的所述状态标识为主标识,节点仲裁失败,所述候选节点转换为备选节点。
8.根据权利要求1所述的方法,其特征在于,多个所述网关节点之间通过高可用管理组件进行直接通信,所述网关节点与所述存储引擎集群之间基于所述存储引擎集群的键值数据库进行通信,多个所述网关节点之间通过所述存储引擎集群进行间接通信。
9.一种存储网关高可用系统,其特征在于,所述系统包括多个网关节点以及存储引擎集群,所述存储引擎集群用于记录多个所述网关节点的网关信息;
多个所述网关节点中的备选节点,用于对工作节点的服务状态进行监控;
在所述工作节点出现服务故障时,所述备选节点转换为候选节点;
所述候选节点,用于向所述存储引擎集群发起集群仲裁请求;
所述存储引擎集群,用于根据所述网关信息针对所述候选节点进行集群仲裁;
在集群仲裁通过时,所述候选节点转换为新的工作节点并用于重新启动服务;
在集群仲裁未通过时,所述候选节点用于向其他所述网关节点发起节点仲裁;
在节点仲裁通过时,所述候选节点转换为新的工作节点并用于重新启动服务。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任意一项所述的方法。
CN202210908661.9A 2022-07-29 2022-07-29 一种存储网关高可用方法、系统及电子设备 Pending CN115766753A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210908661.9A CN115766753A (zh) 2022-07-29 2022-07-29 一种存储网关高可用方法、系统及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210908661.9A CN115766753A (zh) 2022-07-29 2022-07-29 一种存储网关高可用方法、系统及电子设备

Publications (1)

Publication Number Publication Date
CN115766753A true CN115766753A (zh) 2023-03-07

Family

ID=85349089

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210908661.9A Pending CN115766753A (zh) 2022-07-29 2022-07-29 一种存储网关高可用方法、系统及电子设备

Country Status (1)

Country Link
CN (1) CN115766753A (zh)

Similar Documents

Publication Publication Date Title
US10078564B2 (en) Preventing split-brain scenario in a high-availability cluster
US8055735B2 (en) Method and system for forming a cluster of networked nodes
EP2691859B1 (en) Fault detection and recovery as a service
US20140032173A1 (en) Information processing apparatus, and monitoring method
GB2407887A (en) Automatically modifying fail-over configuration of back-up devices
CN109446169B (zh) 一种双控磁盘阵列共享文件系统
CN112307045A (zh) 一种数据同步方法及系统
US11397632B2 (en) Safely recovering workloads within a finite timeframe from unhealthy cluster nodes
TW201824030A (zh) 主備資料庫的管理方法、系統及其設備
CN110635941A (zh) 一种数据库节点集群故障迁移方法与装置
CN108243031B (zh) 一种双机热备的实现方法及装置
CN107071189B (zh) 一种通讯设备物理接口的连接方法
CN112600690B (zh) 一种配置数据同步方法、装置、设备及存储介质
CN111488247B (zh) 一种管控节点多次容错的高可用方法及设备
CN107528703B (zh) 一种用于管理分布式系统中节点设备的方法与设备
US20190124145A1 (en) Method and apparatus for availability management
CN115766753A (zh) 一种存储网关高可用方法、系统及电子设备
CN113596195B (zh) 公共ip地址管理方法、装置、主节点及存储介质
CN114124803B (zh) 设备管理方法、装置、电子设备及存储介质
CN116126457A (zh) 容器迁移方法和服务器集群
CN111208949B (zh) 一种确定分布式存储系统中的数据回滚时段的方法
CN110502460B (zh) 数据处理的方法和节点
CN114020503A (zh) 分布式文件系统透明故障切换的优化方法、系统及装置
CN111064608A (zh) 消息系统的主从切换方法、装置、电子设备及存储介质
CN115858222B (zh) 一种虚拟机故障处理方法、系统及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination