一种基于云原生的高可用容灾集群实现方法技术

技术编号:38623427 阅读:15 留言:0更新日期:2023-08-31 18:26
本发明专利技术公开一种基于云原生的高可用容灾集群实现方法,涉及集群高可用技术领域,包括:(一)部署主集群节点;(二)部署与主集群节点完全一致的备集群节点;(三)在主集群节点和备集群节点分别部署DRBD,启动DRBD,即可实现主集群节点到备集群节点的数据同步;(四)基于LVM快照实现安全同步:在启动DRBD进行数据同步之前,使用LVM快照备份数据;在数据同步过程中出现网络中断并恢复的情况时,删除中断前同步的数据,并基于备份数据进行数据再同步;在数据同步完成后删除基于LVM快照备份的数据。本发明专利技术可以针对主集群异常情况、网络异常等场景,实现主备切换的切换及数据同步,实现集群服务的高可用性。的高可用性。的高可用性。

【技术实现步骤摘要】
一种基于云原生的高可用容灾集群实现方法


[0001]本专利技术涉及集群高可用
,具体的说是一种基于云原生的高可用容灾集群实现方法。

技术介绍

[0002]云原生技术指业务应用的设计与构建基于开放、标准的云的技术体系,是一种全新的软件开发、发布、运维模式,目的是充分发挥云的价值。云原生架构的应用程序应该是采用开源堆栈(K8S+Docker)进行容器化,基于微服务架构提高灵活性和可维护性,借助敏捷方法、DevOps支持持续迭代和运维自动化,利用云平台设施实现弹性伸缩、动态调度、优化资源利用率。
[0003]DRBD技术全称Distributed Replicated Block Device是由内核模块、相关脚本组成,主要用以构建高可用性的集群.其实现方式是通过网络来镜像整个设备。其存储方式类似于服务器中RAID1存储(RAID1的存储是把相同的数据镜像到两块容量相同的磁盘中,通过磁盘的镜像实现数据冗余)。
[0004]可用性(availability)是指在规定的时间间隔内或瞬间,假定所有的外部资源均配备,产品在此条件下运行要求功能的能力,即系统在执行任务的任意时刻能正常工作的概率。高可用性(high availability)用来描述一个系统经过专门的设计,从而减少停止时间,而保持服务的高度可用性。
[0005]在云原生技术中,利用容器的高弹性技术提高了单个中心的应用高可用性,但是当主负载集群因预想外情况,导致故障无法使用时,如何保证灾备集群多节点、多副本的数据同步实时性,以及容器化应用、本地数据快速恢复,针对这种场景,提出了一种基于云原生的高可用容灾集群实现方法。

技术实现思路

[0006]本专利技术针对云原生集群多节点、多副本的场景,构建集群节点间的数据实时同步,并针对同步过程中可能出现网络中断等异常进行快照备份,实现数据的容灾和备份,降低数据丢失风险,为此,提供一种基于云原生的高可用容灾集群实现方法。
[0007]本专利技术的一种基于云原生的高可用容灾集群实现方法,解决上述技术问题采用的技术方案如下:
[0008]一种基于云原生的高可用容灾集群实现方法,包括:
[0009](一)部署主集群节点;
[0010](二)部署与主集群节点完全一致的备集群节点;
[0011](三)在主集群节点和备集群节点分别部署DRBD,启动DRBD,即可实现主集群节点到备集群节点的数据同步;
[0012](四)基于LVM快照实现安全同步
[0013]在启动DRBD进行数据同步之前,使用LVM快照备份数据;
[0014]在数据同步过程中出现网络中断并恢复的情况时,删除中断前同步的数据,并基于备份数据进行数据再同步;
[0015]在数据同步完成后删除基于LVM快照备份的数据。
[0016]可选的,执行步骤(一),部署主集群,具体包括:
[0017](1.1)部署Docker+Kubernetes集群,在节点上打标签,确保pod可以调度到指定的规划存储节点上;
[0018](1.2)部署MariaDB Galera集群;
[0019](1.3)查看pvc和pod相关信息,并基于节点形成对应关系;
[0020](1.4)获取存储卷pv、pvc的yaml配置文件并输出到文件,用于在备集群创建相同名称的存储。
[0021]执行如下命令,获取pv的yaml配置文件:
[0022]kubectl get pv pvc

b20feb26

b413

426f

b5cb

710e76e40b84pvc

48e35e45

c9fe

4e10

9cad

1db6d7adae15
[0023]pvc

4219647e

19e1

4683

949c

b7f166391a6c

oyaml>mariadb

server

pv.yaml。
[0024]执行如下命令,获取pvc的yaml配置文件:
[0025]kubectl

n common get pvc mysql

data

mariadb

server

0mysql

data

mariadb

server

1mysql

data

mariadb

server
‑2‑
oyaml>
[0026]mariadb

server

pvc.yaml。
[0027]进一步可选的,执行步骤(二),部署与主集群完全一致的备集群,具体包括:
[0028](2.1)部署Docker+Kubernetes集群,在节点上打标签,确保pod可以调度到指定的规划存储节点上;
[0029](2.2)基于主集群获取的pv、pvc的yaml配置文件,删除anotation、status字段,并根据指定的规划存储节点,修改pv调度节点的hostname,然后apply部署存储卷pv、pvc;
[0030](2.3)部署MariaDB Galera集群;
[0031](2.4)备集群作为灾备切换时使用,将MariaDB副本数缩容为0。
[0032]进一步可选的,执行步骤(三),在主集群节点和备集群节点分别部署DRBD后,在主集群节点配置DRBD资源开机自动加载。
[0033]进一步可选的,在主集群节点配置DRBD资源开机自动加载,具体操作包括:
[0034](3.1)写入drbd资源主集群节点标记;
[0035](3.2)配置Mariadb pv目录开机自动挂载。
[0036]进一步可选的,执行步骤(四),基于LVM快照实现安全同步,需要进行的操作为:
[0037](4.1)编译安装drbd

utils;
[0038](4.2)在同一个VG下创建逻辑卷LV和快照卷SLV;
[0039](4.3)修改drbd配置文件
[0040]更新底层物理盘符配置为LV、handlers启用before

resync

target、after

resync

target配置;
[0041](4.4)启动drbd,主备集群节本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于云原生的高可用容灾集群实现方法,其特征在于,包括:(一)部署主集群节点;(二)部署与主集群节点完全一致的备集群节点;(三)在主集群节点和备集群节点分别部署DRBD,启动DRBD,即可实现主集群节点到备集群节点的数据同步;(四)基于LVM快照实现安全同步在启动DRBD进行数据同步之前,使用LVM快照备份数据;在数据同步过程中出现网络中断并恢复的情况时,删除中断前同步的数据,并基于备份数据进行数据再同步;在数据同步完成后删除基于LVM快照备份的数据。2.根据权利要求1所述的一种基于云原生的高可用容灾集群实现方法,其特征在于,执行步骤(一),部署主集群,具体包括:(1.1)部署Docker+Kubernetes集群,在节点上打标签,确保pod可以调度到指定的规划存储节点上;(1.2)部署MariaDB Galera集群;(1.3)查看pvc和pod相关信息,并基于节点形成对应关系;(1.4)获取存储卷pv、pvc的yaml配置文件并输出到文件,用于在备集群创建相同名称的存储。3.根据权利要求2所述的一种基于云原生的高可用容灾集群实现方法,其特征在于,执行如下命令,获取pv的yaml配置文件:kubectl get pv pvc

b20feb26

b413

426f

b5cb

710e76e40b84pvc

48e35e45

c9fe

4e10

9cad

1db6d7adae15pvc

4219647e

19e1

4683

949c

b7f166391a6c

oyaml>mariadb

server

pv.yaml。4.根据权利要求2所述的一种基于云原生的高可用容灾集群实现方法,其特征在于,执行如下命令,获取pvc的yaml配置文件:kubectl

n common get pvc mysql

data

mariadb

server

0my...

【专利技术属性】
技术研发人员:赵峰元李聚章董玉全尹东超
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

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

1