基于云原生的两地三中心数据库容灾系统部署方法及装置与流程

文档序号:33704433发布日期:2023-03-31 20:59阅读:42来源:国知局
基于云原生的两地三中心数据库容灾系统部署方法及装置与流程

1.本技术涉及数据存储技术领域,具体涉及一种基于云原生的两地三中心数据库容灾系统部署方法及装置。


背景技术:

2.随着企业信息化、数字化的不断发展,企业的数据已经成为其重要的资产。确保企业的数据安全对保障企业的持续成功起着至关重要的作用。为了确保数据安全,首先要确保负责存储数据的数据库安全。
3.数据库容灾建设是保障数据库安全的重要手段,通过多个副本来保证只要不是所有的副本都损坏数据就不会丢失。通常数据库容灾方案主要包括:同城双中心、两地三中心和三地五中心等。其中,两地三中心和三地五中心有更大的容灾半径,但是建设成本较高,所以实际的应用较少。
4.现有技术中常用的是两地三中心,但是两地三中心的建设部署方法中,存在以下缺陷:一、前期需要统一规划各个数据中心的硬件配置、软件配置、数据同步方式、副本数和拓扑结构等,建设过程中也需要按照规划进行。这种方式是一种静态的方式,后期要做调整比较困难,例如:停机做配置变更、人工数据迁移等,周期长、成本高;二、成本梯度比较陡峭,通常要求一次性建成,所以一次性的投入成本比较高,导致很多企业不得不因为高昂的建设成本而放弃两地三中心的建设;三、现有的基于云原生技术的数据库可用部署技术方案支持根据配置期望进行自动部署,动态扩展,但不支持跨k8s集群的部署。


技术实现要素:

5.为此,本技术提供一种基于云原生的两地三中心数据库容灾系统部署方法及装置,以解决现有技术存在的两地三中心建设后期要做调整比较困难、成本高且不支持跨k8s集群的问题。
6.为了实现上述目的,本技术提供如下技术方案:
7.第一方面,一种基于云原生的两地三中心数据库容灾系统部署方法,所述两地三中心数据库容灾系统部署在云原生基础平台上,包括:
8.获取数据中心描述资源;所述数据中心描述资源保存在k8s中;
9.遍历所述数据中心描述资源中的数据中心成员列表,获取当前数据中心所对应的描述信息;
10.获取当前数据中心的数据库实施例状态与复制通道状态;
11.判断当前数据中心的数据库实例状态和复制通道状态是否与描述信息相符合;
12.若不符合,则调整数据库实例状态,并根据数据中心的角色调整复制通道状态。
13.作为优选,所述根据数据中心的角色调整复制通道状态,具体为:
14.若数据中心的角色为主中心,则创建或修改复制通道并将复制通道设置为数据异步复制的源端;
15.若数据中心的角色为备中心,则创建或修改复制通道并将复制通道设置为数据异步复制的目标端。
16.作为优选,所述数据中心描述资源包括各个数据中心成员的标识id、别名、权重、副本数、角色及内部节点的ip地址。
17.作为优选,还包括:
18.检查自身数据库存储的数据与原有数据库的数据差,并判断数据差的大小;
19.若数据差较小,则追平数据;
20.若数据差较大,则先全量复制原有数据中心的数据,再追平数据;
21.如果角色是主中心,则将其标记为可读写;
22.如果角色是备中心,则将其切换为主中心节点的副本节点,并将其标记为只读。
23.作为优选,所述追平数据时采用增量的方式追平。
24.作为优选,如果角色是备中心,则后续异步拉取主中心增量变化的数据。
25.第二方面,一种基于云原生的两地三中心数据库容灾系统部署装置,所述两地三中心数据库容灾系统部署在云原生基础平台上,包括:
26.数据获取模块,用于获取数据中心描述资源;所述数据中心描述资源保存在k8s中;
27.遍历模块,用于遍历所述数据中心描述资源中的数据中心成员列表,获取当前数据中心所对应的描述信息;
28.状态获取模块,用于获取当前数据中心的数据库实施例状态与复制通道状态;
29.判断模块,用于判断当前数据中心的数据库实例状态和复制通道状态是否与描述信息相符合;
30.若不符合,则调整数据库实例状态,并根据数据中心的角色调整复制通道状态。
31.第三方面,一种基于云原生的两地三中心数据库容灾系统,所述两地三中心数据库容灾系统部署在云原生基础平台上,包括:
32.k8s内置服务,用于提供数据接口并保存数据中心描述资源;
33.控制器,用于获取数据中心描述资源,遍历所述数据中心描述资源中的数据中心成员列表,获取当前数据中心所对应的描述信息;
34.获取当前数据中心的数据库实施例状态与复制通道状态;
35.判断当前数据中心的数据库实例状态和复制通道状态是否与描述信息相符合;若不符合则调整数据库实例状态,并根据数据中心的角色调整复制通道状态;
36.mysqlpod,用于创建或删除mysql实例;
37.复制通道服务,用于创建或修改复制通道并将复制通道设置为数据异步复制的源端或目标端。
38.第四方面,一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现基于云原生的两地三中心数据库容灾系统部署方法的步骤。
39.第五方面,一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现基于云原生的两地三中心数据库容灾系统部署方法的步骤。
40.相比现有技术,本技术至少具有以下有益效果:
41.本技术提供了一种基于云原生的两地三中心数据库容灾系统部署方法及装置,方法包括:获取数据中心描述资源;数据中心描述资源保存在k8s中;遍历数据中心描述资源中的数据中心成员列表,获取当前数据中心所对应的描述信息;获取当前数据中心的数据库实施例状态与复制通道状态;判断当前数据中心的数据库实例状态和复制通道状态是否与描述信息相符合;若不符合,则调整数据库实例状态,并根据数据中心的角色调整复制通道状态。本技术提供的基于云原生的两地三中心数据库容灾系统部署方法及装置,利用云原生平台提供的基础能力,在基础设施建设完成之后允许用户动态的调整硬件配置、软件配置、数据的同步方式、数据的副本数和拓扑结构等,允许用户在线通过参数配置来动态调整,整个调整过程自动完成,周期短成本低,且支持跨k8s集群的部署。
附图说明
42.为了更直观地说明现有技术以及本技术,下面给出几个示例性的附图。应当理解,附图中所示的具体形状、构造,通常不应视为实现本技术时的限定条件;例如,本领域技术人员基于本技术揭示的技术构思和示例性的附图,有能力对某些单元(部件)的增/减/归属划分、具体形状、位置关系、连接方式、尺寸比例关系等容易作出常规的调整或进一步的优化。
43.图1为本技术实施例一提供的一种基于云原生的两地三中心数据库容灾系统部署方法流程图;
44.图2为本技术实施例三提供的单个数据中心各组件总体交互流程示意图;
45.图3为本技术实施例三提供的两地三中心数据库容灾系统部署示意图。
具体实施方式
46.以下结合附图,通过具体实施例对本技术作进一步详述。
47.在本技术的描述中:除非另有说明,“多个”的含义是两个或两个以上。本技术中的术语“第一”、“第二”、“第三”等旨在区别指代的对象,而不具有技术内涵方面的特别意义(例如,不应理解为对重要程度或次序等的强调)。“包括”、“包含”、“具有”等表述方式,同时还意味着“不限于”(某些单元、部件、材料、步骤等)。
48.本技术中所引用的如“上”、“下”、“左”、“右”、“中间”等的用语,通常是为了便于对照附图直观理解,而并非对实际产品中位置关系的绝对限定。在未脱离本技术揭示的技术构思的情况下,这些相对位置关系的改变,当亦视为本技术表述的范畴。
49.实施例一
50.请参阅图1,本实施例提供了一种基于云原生的两地三中心数据库容灾系统部署方法,两地三中心数据库容灾系统部署在云原生基础平台上,包括:
51.s1:获取数据中心描述资源;数据中心描述资源保存在k8s中;
52.具体的,数据中心描述资源是通过k8s提供的接口保存到k8s中的,数据中心描述资源包括各个数据中心成员的标识id、别名、权重、副本数、角色及内部节点的ip地址。
53.s2:遍历数据中心描述资源中的数据中心成员列表,获取当前数据中心所对应的描述信息;
54.s3:获取当前数据中心的数据库实施例状态与复制通道状态;
55.s4:判断当前数据中心的数据库实例状态和复制通道状态是否与描述信息相符合;
56.具体的,判断的是当前数据中心的mysql实例数、角色及数据复制通道的信息是否与描述信息相符合。
57.s5:若不符合,则调整数据库实例状态,并根据数据中心的角色调整复制通道状态。
58.具体的,如果实例数不符合则创建或删除mysql实例;
59.如果数据中心的角色为主中心,则建立与其他主数据中心节点的同步复制通道连接。即创建或修改数据复制通道服务并将数据复制通道服务设置为数据异步复制的源端;
60.如果数据中心的角色为备中心,则断开与其他主数据中心节点的同步复制连接,选择合适主数据中心节点并与其建立异步复制连接。即创建或修改数据复制通道服务并将数据复制通道服务设置为数据异步复制的目标端。
61.本实施例提供的基于云原生的两地三中心数据库容灾系统部署方法,还包括:
62.s6:检查自身数据库存储的数据与原有数据库的数据差,并判断数据差的大小;
63.s7:若数据差较小,则追平数据;
64.s8:若数据差较大,则先全量复制原有数据中心的数据,再追平数据;
65.具体的,新增加的数据中心数据库节点再建立与已有数据中心的连接之后,会先检查自己数据库存储的数据与已有数据库的数据差,如果差距过大不能通过增量的方式追平则会自动先全量复制原有数据中心的数据,再增量的追平数据。
66.s9:如果角色是主中心,则将其标记为可读写;
67.具体的,如果角色是主中心,数据与其他主中心节点的数据追平之后,将其标记为可读写,后续主中心各节点的数据写入都会实时同步。
68.s10:如果角色是备中心,则将其切换为主中心节点的副本节点,并将其标记为只读。
69.具体的,如果角色是备中心,这完成一次全量的数据同步之后,将其切换为主中心节点的副本节点,并将其标记为只读,后续异步拉取主中心增量变化的数据。
70.本实施例中,如果需要增加数据中心,则先搭建云原生基础平台,并部署上控制器和使用到的数据库镜像后根据本实施例提供的基于云原生的两地三中心数据库容灾系统部署方法步骤配置新增数据中心。
71.如果需要修改已有数据中心的配置,按步骤s1配置修改后配置信息。按后续的步骤完成数据中心状态的调整即可。
72.本实施例提供的基于云原生的两地三中心数据库容灾系统部署方法通过利用云原生平台提供的基础能力,在基础设施建设完成之后允许用户动态的调整硬件配置、软件配置、数据的同步方式、数据的副本数和拓扑结构等,允许用户在线通过参数配置来动态调整,整个调整过程自动完成,周期短成本低。
73.另外本实施例提供的方法具有良好的扩展能力,允许企业根据实际情况分阶段建设两地三中心,使得企业有更平缓建设成本梯度,降低企业风险。例如用户初期可以只建设一个数据中心,后期因为容灾需要可以用同样的方式再建设一个数据中心。新建的中心接
入的时候只需要在两个中心做相应的参数配置就可以自动完成两个中心的数据库互连与数据同步。同样,随着企业的发展需要,再建设第三个中心的时候也可以用同样的方式。
74.实施例二
75.本实施例提供了一种基于云原生的两地三中心数据库容灾系统部署装置,所述两地三中心数据库容灾系统部署在云原生基础平台上,包括:
76.数据获取模块,用于获取数据中心描述资源;所述数据中心描述资源保存在k8s中;
77.遍历模块,用于遍历所述数据中心描述资源中的数据中心成员列表,获取当前数据中心所对应的描述信息;
78.状态获取模块,用于获取当前数据中心的数据库实施例状态与复制通道状态;
79.判断模块,用于判断当前数据中心的数据库实例状态和复制通道状态是否与描述信息相符合;
80.若不符合,则调整数据库实例状态,并根据数据中心的角色调整复制通道状态。
81.关于基于云原生的两地三中心数据库容灾系统部署装置的具体限定可以参见上文中对于基于云原生的两地三中心数据库容灾系统部署方法的限定,在此不再赘述。
82.实施例三
83.本实施例提供了一种基于云原生的两地三中心数据库容灾系统,两地三中心数据库容灾系统部署在云原生基础平台上,包括:
84.k8s内置服务,用于提供数据接口并保存数据中心描述资源;
85.控制器,用于获取数据中心描述资源,遍历所述数据中心描述资源中的数据中心成员列表,获取当前数据中心所对应的描述信息;
86.获取当前数据中心的数据库实施例状态与复制通道状态;
87.判断当前数据中心的数据库实例状态和复制通道状态是否与描述信息相符合;若不符合则调整数据库实例状态,并根据数据中心的角色调整复制通道状态;
88.mysqlpod,用于创建或删除mysql实例;
89.复制通道服务,用于创建或修改复制通道并将复制通道设置为数据异步复制的源端或目标端。
90.请参阅图2,各组件总体的交互活动如下:
91.创建和修改数据中心:系统管理员通过系统接口创建或修改描述数据中心资源配置的信息,k8s内置服务负管理和存储已经创建好的数据中心资源配置信息。
92.容器运行环境的配置与编排调度:控制器监听到描述数据中心配置的资源信息变化,并通过k8s内置服务容器编排与服务管理查询当前的mysql容器与实例的状态,然后通过容器编排与服务管理的接口将容器和服务调整到数据中心配置的资源所描述的期望状态。自动将数据中心的状态调整为期望状态的过程需要通过容器编排与服务管理去创建或删除mysql实例和创建或删除复制通道服务的实例。同时mysql实例和复制通道实例的实际状态也需要能通过实例资源状态的监视机反馈给负责容器编排与服务管理的组件。
93.请参阅图3,整个系统包括三个数据中心,分别是同城生产中心、同城容灾中心和异地容灾中心。通常同城生产中心用于直接处理生产请求,当同城生产中心整体故障了之后,同城容灾中心就可以接替同城生产中心的职责,当同城生产中心和同城容灾中心都发
生灾难性故障的时候由异地容灾中心处理生产请求。每个中心的组件包括用于自动调整集群状态的控制器、提供基础服务的k8s内置服务,运行数据库容器的mysqlpod和用于数据中心之间做数据复制的复制通道服务。
94.本实施例提供的基于云原生的两地三中心数据库容灾系统,用户初期可以只建设一个数据中心,后期因为容灾需要可以用同样的方式再建设一个数据中心。新建的中心接入的时候只需要在两个中心做相应的参数配置就可以自动完成两个中心的数据库互连与数据同步。同样随着企业的发展需要,再建设第三个中心的时候也可以用同样的方式。
95.实施例四
96.本实施例提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现基于云原生的两地三中心数据库容灾系统部署方法的步骤。
97.实施例五
98.本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现基于云原生的两地三中心数据库容灾系统部署方法的步骤。
99.综上,本技术具有以下优势:
100.(1)通过使用控制器来自动读取用户对两地三中心数据库系统的部署期望的配置信息,自动完成两地三中心数据库系统的的配置与部署,降低了两地三中心的建设成本;
101.(2)数据中心的角色可以支持配置为主或备,可以根据需要灵活配置一主两备、两主一备和多主的两地三中心数据库系统;
102.(3)支持增量和可扩展的建设两地三中心,可以先只建设一个或两个数据中心,后期增建其它中心的时候,原有数据中心不用做大的改动,只需要做少量的配置变更;
103.(4)支持跨k8s集群部署数据库系统。
104.以上实施例的各技术特征可以进行任意的组合(只要这些技术特征的组合不存在矛盾),为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述;这些未明确写出的实施例,也都应当认为是本说明书记载的范围。
105.上文中通过一般性说明及具体实施例对本技术作了较为具体和详细的描述。应当理解,基于本技术的技术构思,还可以对这些具体实施例作出若干常规的调整或进一步的创新;但只要未脱离本技术的技术构思,这些常规的调整或进一步的创新得到的技术方案也同样落入本技术的权利要求保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1