ETCD灾备故障恢复的方法及应用技术

技术编号:35819537 阅读:8 留言:0更新日期:2022-12-03 13:44
本发明专利技术公开了一种ETCD灾备故障恢复的方法及应用,该方法包括以下步骤:通过主节点的ETCD代理模块决策出主ETCD集群和备ETCD集群;分别通过全量同步和增量同步将所述主ETCD集群中的数据同步至所述备ETCD集群中;以及在所述主ETCD集群故障时,从所述备ETCD集群中重新选举出新主ETCD集群,并将所述新主ETCD集群中的数据同步至新备ETCD集群中。该方法能够通过在ETCD中添加主节点控制对应的主备ETCD集群,并将主备ETCD集群的数据副本备份至本地,在主备ETCD集群进行数据同步或故障恢复时,通过本地数据副本进行数据的同步或恢复,进而减少ETCD的故障恢复时间,适用于跨数据中心的ETCD热备以及故障恢复。热备以及故障恢复。热备以及故障恢复。

【技术实现步骤摘要】
ETCD灾备故障恢复的方法及应用


[0001]本专利技术是关于云计算领域,特别是关于一种ETCD灾备故障恢复的方法及应用。

技术介绍

[0002]ETCD是CoreOS基于Raft协议开发的分布式key

value存储,可用于服务发现、共享配置以及一致性保障(如数据库选主、分布式锁等)。在分布式系统中,ETCD提供了数据TTL失效、数据改变监视、多值、目录监听、分布式锁原子操作等功能,可以方便的跟踪并管理集群节点的状态。
[0003]ETCD作为一种key

value的分布式存储,在云原生领域发挥着重要的作用。常用的灾备方法是通过定期的快照,将快照备份到外部存储中,定期快照仍然存在上一个快照点到故障发生之间数据丢失的问题,通过快照备份的数据来恢复耗时较长,故障恢复时间较长。
[0004]公开于该
技术介绍
部分的信息仅仅旨在增加对本专利技术的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。

技术实现思路

[0005]本专利技术的目的在于提供一种ETCD灾备故障恢复的方法及应用,解决现有技术中ETCD灾难故障时无法快速恢复的问题。
[0006]为实现上述目的,本专利技术的实施例提供了一种ETCD灾备故障恢复的方法。
[0007]在本专利技术的一个或多个实施方式中,所述方法包括:通过主节点的ETCD代理模块决策出主ETCD集群和备ETCD集群;分别通过全量同步和增量同步将所述主ETCD集群中的数据同步至所述备ETCD集群中;以及在所述主ETCD集群故障时,从所述备ETCD集群中重新选举出新主ETCD集群,并将所述新主ETCD集群中的数据同步至新备ETCD集群中。
[0008]在本专利技术的一个或多个实施方式中,所述方法还包括:判断候选节点对应的ETCD状态是否健康;若是,通过RAFT选举从所述候选节点中选举出主节点。
[0009]在本专利技术的一个或多个实施方式中,所述分别通过全量同步和增量同步将所述主ETCD集群中的数据同步至所述备ETCD集群中,包括:通过调用API服务的List接口分别获取所述主ETCD集群和所述备ETCD集群的全量数据,并比较所述主ETCD集群和所述备ETCD集群的全量数据是否一致;若是,监听所述主ETCD集群中的数据,并在所述主ETCD集群中数据发生变化时,将所述主ETCD集群中变化的数据同步至所述备ETCD集群;以及配置所述ETCD代理模块,以将ETCD客户端的服务请求切换到所述主ETCD集群上。
[0010]在本专利技术的一个或多个实施方式中,所述配置所述ETCD代理模块,包括:所述主节点将所述主ETCD集群和所述备ETCD集群的配置数据写入至选举模块中,并将所述配置数据同步至所有的跟随节点;根据所述配置数据配置所述ETCD代理模块,并将从客户端接收到的ETCD服务请求转发至所述主ETCD集群进行处理;以及所述主节点按照预设周期检查所述主ETCD集群的状态,并将主备同步情况更新至所述配置数据中;其中,所述配置数据包括:
主ETCD集群的节点信息、备ETCD集群的节点信息、主ETCD集群的最新数据副本、备ETCD集群的最新数据副本以及配置数据的更新时间。
[0011]在本专利技术的一个或多个实施方式中,在所述主ETCD集群故障时,从所述备ETCD集群中重新选举出新主ETCD集群,并将所述新主ETCD集群中的数据同步至新备ETCD集群中,包括:判断故障的ETCD集群关联的节点是否为主节点;若是,将所述故障的ETCD集群关联的节点的状态设置为不健康,并重新选举主节点;根据配置数据判断新的主节点决策的新主ETCD集群是否已同步所述故障的ETCD集群的全部数据;若是,更新所述配置数据,并将所述新主ETCD集群的数据同步至新的备ETCD集群,并配置ETCD代理模块,以供所述ETCD代理模块将ETCD的调用请求切换到所述新的主ETCD集群。
[0012]在本专利技术的一个或多个实施方式中,所述方法还包括:判断所述ETCD代理模块中是否存在第一变量,其中,所述第一变量用于标记已经完成数据同步的主ETCD集群的数据副本;若是,判断所述主ETCD集群中是否存在第一变量;若是,执行数据变化事件,并更新所述第一变量,其中,所述数据变化事件包括:删除数据、更新数据以及新增数据。
[0013]在本专利技术的一个或多个实施方式中,所述方法还包括:在所述ETCD代理模块或所述主ETCD集群不存在第一变量时,获取所述主ETCD集群的最新数据副本,根据所述最新数据副本获取所述主ETCD集群的全量数据;根据预设范围划分所述全量数据,并比较划分后的全量数据与所述备ETCD集群中的数据是否一致;若否,使用所述主ETCD集群中的数据进行同步,并将所述第一变量更新为最新数据副本。
[0014]在本专利技术的另一个方面当中,提供了一种ETCD灾备故障恢复的装置,其包括选举模块、同步模块和故障切换模块。
[0015]选举模块,用于通过主节点的ETCD代理模块决策出主ETCD集群和备ETCD集群。
[0016]同步模块,用于分别通过全量同步和增量同步将所述主ETCD集群中的数据同步至所述备ETCD集群中。
[0017]故障切换模块,用于在所述主ETCD集群故障时,从所述备ETCD集群中重新选举出新主ETCD集群,并将所述新主ETCD集群中的数据同步至新备ETCD集群中。
[0018]在本专利技术的一个或多个实施方式中,所述选举模块还用于:判断候选节点对应的ETCD状态是否健康;若是,通过RAFT选举从所述候选节点中选举出主节点。
[0019]在本专利技术的一个或多个实施方式中,所述同步模块还用于:通过调用API服务的List接口分别获取所述主ETCD集群和所述备ETCD集群的全量数据,并比较所述主ETCD集群和所述备ETCD集群的全量数据是否一致;若是,监听所述主ETCD集群中的数据,并在所述主ETCD集群中数据发生变化时,将所述主ETCD集群中变化的数据同步至所述备ETCD集群;以及配置所述ETCD代理模块,以将ETCD客户端的服务请求切换到所述主ETCD集群上。
[0020]在本专利技术的一个或多个实施方式中,所述同步模块还用于:所述主节点将所述主ETCD集群和所述备ETCD集群的配置数据写入至选举模块中,并将所述配置数据同步至所有的跟随节点;根据所述配置数据配置所述ETCD代理模块,并将从客户端接收到的ETCD服务请求转发至所述主ETCD集群进行处理;以及所述主节点按照预设周期检查所述主ETCD集群的状态,并将主备同步情况更新至所述配置数据中;其中,所述配置数据包括:主ETCD集群的节点信息、备ETCD集群的节点信息、主ETCD集群的最新数据副本、备ETCD集群的最新数据副本以及配置数据的更新时间。
[0021]在本专利技术的一个或多个实施方式中,所述故障切换模块还用于:判断故障的ETCD集群关联的节点是否为主节点;若是,将所述故障的ETCD集群关联的节点的状态设置为不健康,并重本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种ETCD灾备故障恢复的方法,其特征在于,所述方法包括:通过主节点的ETCD代理模块决策出主ETCD集群和备ETCD集群;分别通过全量同步和增量同步将所述主ETCD集群中的数据同步至所述备ETCD集群中;以及在所述主ETCD集群故障时,从所述备ETCD集群中重新选举出新主ETCD集群,并将所述新主ETCD集群中的数据同步至新备ETCD集群中。2.如权利要求1所述的ETCD灾备故障恢复的方法,其特征在于,所述方法还包括:判断候选节点对应的ETCD状态是否健康;若是,通过RAFT选举从所述候选节点中选举出主节点。3.如权利要求1所述的ETCD灾备故障恢复的方法,其特征在于,所述分别通过全量同步和增量同步将所述主ETCD集群中的数据同步至所述备ETCD集群中,包括:通过调用API服务的List接口分别获取所述主ETCD集群和所述备ETCD集群的全量数据,并比较所述主ETCD集群和所述备ETCD集群的全量数据是否一致;若是,监听所述主ETCD集群中的数据,并在所述主ETCD集群中数据发生变化时,将所述主ETCD集群中变化的数据同步至所述备ETCD集群;以及配置所述ETCD代理模块,以将ETCD客户端的服务请求切换到所述主ETCD集群上。4.如权利要求3所述的ETCD灾备故障恢复的方法,其特征在于,所述配置所述ETCD代理模块,包括:所述主节点将所述主ETCD集群和所述备ETCD集群的配置数据写入至选举模块中,并将所述配置数据同步至所有的跟随节点;根据所述配置数据配置所述ETCD代理模块,并将从客户端接收到的ETCD服务请求转发至所述主ETCD集群进行处理;以及所述主节点按照预设周期检查所述主ETCD集群的状态,并将主备同步情况更新至所述配置数据中;其中,所述配置数据包括:主ETCD集群的节点信息、备ETCD集群的节点信息、主ETCD集群的最新数据副本、备ETCD集群的最新数据副本以及配置数据的更新时间。5.如权利要求1所述的ETCD灾备故障恢复的方法,其特征在于,在所述主ETCD集群故障时,从所述备ETCD集群中重新选举出新主ETCD集群,并将所述新主ETCD集群中的数据同步至新备ETCD集群中,包括:判断故障的ETCD集群关联的节点是否为主节点;若是,将所述...

【专利技术属性】
技术研发人员:ꢀ七四专利代理机构
申请(专利权)人:江苏安超云软件有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1