CN117708242A - 一种GoldenDB数据库灾备同步关系的搭建方法及相关装置 - Google Patents

一种GoldenDB数据库灾备同步关系的搭建方法及相关装置 Download PDF

Info

Publication number
CN117708242A
CN117708242A CN202311760199.3A CN202311760199A CN117708242A CN 117708242 A CN117708242 A CN 117708242A CN 202311760199 A CN202311760199 A CN 202311760199A CN 117708242 A CN117708242 A CN 117708242A
Authority
CN
China
Prior art keywords
disaster recovery
cluster
script
management node
synchronization
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
CN202311760199.3A
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.)
China Construction Bank Corp
Original Assignee
China Construction Bank Corp
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 China Construction Bank Corp filed Critical China Construction Bank Corp
Priority to CN202311760199.3A priority Critical patent/CN117708242A/zh
Publication of CN117708242A publication Critical patent/CN117708242A/zh
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A10/00TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE at coastal zones; at river basins
    • Y02A10/40Controlling or monitoring, e.g. of flood or hurricane; Forecasting, e.g. risk assessment or mapping

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明提供了一种GoldenDB数据库灾备同步关系的搭建方法及相关装置,通过依次运行部署在GoldenDB生产集群的主管理节点的第一脚本、部署在GoldenDB灾备集群的主管理节点的第二脚本、部署在GoldenDB生产集群的主管理节点的第三脚本以及部署在GoldenDB灾备集群的主管理节点的第四脚本,将GoldenDB数据库灾备同步关系搭建的各个步骤串联起来,能够自动化完成GoldenDB数据库灾备同步关系的搭建,避免人工搭建导致的灾备同步关系异常问题,实现了自动化、脚本化、批量化,以解决GoldenDB数据库灾备同步关系搭建步骤繁杂、人工搭建效率低的问题。

Description

一种GoldenDB数据库灾备同步关系的搭建方法及相关装置
技术领域
本发明涉及数据库技术领域,更具体的,涉及一种GoldenDB数据库灾备同步关系的搭建方法及相关装置。
背景技术
分布式数据库灾备搭建是为了确保在面对各种突发情况时,能够保障数据的完整性、可用性和持续性,能够迅速进行灾备切换恢复正常运行。
搭建灾备同步关系是灾备方案正常同步和运转的前提。GoldenDB数据库产品具有标准的灾备同步关系搭建实施文档,但是步骤复杂、涉及到的节点类型较多,人工进行灾备同步关系搭建易出错、效率低。因此对于GoldenDB数据库来说,亟需一种自动搭建灾备同步关系的方法。
发明内容
有鉴于此,本发明提供了一种GoldenDB数据库灾备同步关系的搭建方法及相关装置,自动化完成生产数据库到灾备数据库的同步关系搭建。
为了实现上述发明目的,本发明提供的具体技术方案如下:
第一方面,本发明实施例提供了一种GoldenDB数据库灾备同步关系的搭建方法,包括:
运行部署在GoldenDB生产集群的主管理节点的第一脚本,根据灾备同步需求修改所述生产集群中所有管理节点的配置参数并使其生效,确定所述生产集群中每个分片的目标备节点进行数据备份,并将得到的备份文件传输至GoldenDB灾备集群;
运行部署在所述灾备集群的主管理节点的第二脚本,根据灾备同步需求修改所述灾备集群中所有管理节点的配置参数并使其生效,将所述灾备集群切换为只读模式,将所述灾备集群的所有数据节点利用所述生产集群传输的备份文件进行备份恢复,并将所述灾备集群中所有数据节点设置为只读模式;
运行部署在所述生产集群的主管理节点的第三脚本,配置所述生产集群的主管理节点与所述灾备集群的主管理节点的互信,获取灾备同步关系脚本,对所述灾备同步关系脚本进行配置,部署所述灾备同步关系脚本,并将所述灾备同步关系脚本传输到所述灾备集群的主管理节点;
运行部署在所述灾备集群的主管理节点的第四脚本,接收所述灾备同步关系脚本,将所述灾备集群的工作模式切换为同步模式,若检测到所述灾备集群的工作模式为同步模式确定灾备同步关系搭建成功。
在一些实施例中,在所述根据灾备同步需求修改所述生产集群中所有管理节点的配置参数并使其生效之前,还包括以下第一前置检查操作:
检查所述第一脚本的输入参数是否符合第一预设规则;
检查部署所述第一脚本的节点是否为主管理节点;
检查部署所述第一脚本的节点对应的数据库集群是否为所述生产集群;
检查所述生产集群中每个分片的备节点是否与主节点实时同步;
在以上所述第一前置检查操作全部通过的情况下执行所述根据灾备同步需求修改所述生产集群中所有管理节点的配置参数并使其生效这一步骤。
在一些实施例中,在所述根据灾备同步需求修改所述灾备集群中所有管理节点的配置参数并使其生效之前,还包括以下第二前置检查操作:
检查所述第二脚本的输入参数是否符合第二预设规则;
检查部署所述第二脚本的节点是否为主管理节点;
检查部署所述第二脚本的节点对应的数据库集群是否为所述灾备集群;
在以上所述第二前置检查操作全部通过的情况下执行所述根据灾备同步需求修改所述灾备集群中所有管理节点的配置参数并使其生效这一步骤。
在一些实施例中,在所述配置所述生产集群的主管理节点与所述灾备集群的主管理节点的互信之前,还包括以下第三前置检查操作:
检查所述第三脚本的输入参数是否符合第三预设规则;
检查部署所述第三脚本的节点是否为主管理节点;
检查部署所述第三脚本的节点对应的数据库集群是否为所述生产集群;
检查所述生产集群中所有数据库集群的模式是否一致;
在以上所述第三前置检查操作全部通过的情况下执行所述配置所述生产集群的主管理节点与所述灾备集群的主管理节点的互信这一步骤。
在一些实施例中,在所述接收所述灾备同步关系脚本之前,还包括以下第四前置检查操作:
检查所述第四脚本的输入参数是否符合第四预设规则;
检查部署所述第四脚本的节点是否为主管理节点;
在以上所述第四前置检查操作全部通过的情况下执行所述接收所述灾备同步关系脚本这一步骤。
在一些实施例中,在对所述灾备同步关系脚本进行配置之后,还包括:
根据所述灾备同步关系脚本的配置文件中所述生产集群的主管理节点的IP地址,生成第一key文件;
在部署所述灾备同步关系脚本之后,还包括:
根据所述灾备同步关系脚本的配置文件中所述生产集群的主管理节点的IP地址,生成第二key文件,对所述第一key文件和所述第二key文件进行一致性校验。
在一些实施例中,还包括:
在检测到所述灾备集群切换为同步模式之后,根据所述灾备同步关系脚本的配置文件中所述生产集群的主管理节点的IP地址,生成第三key文件,对所述第一key文件和所述第三key文件进行一致性校验。
第二方面,本发明实施例提供了一种GoldenDB数据库灾备同步关系的搭建装置,包括:
第一脚本运行单元,用于运行部署在GoldenDB生产集群的主管理节点的第一脚本,根据灾备同步需求修改所述生产集群中所有管理节点的配置参数并使其生效,确定所述生产集群中每个分片的目标备节点进行数据备份,并将得到的备份文件传输至GoldenDB灾备集群;
第二脚本运行单元,用于运行部署在所述灾备集群的主管理节点的第二脚本,根据灾备同步需求修改所述灾备集群中所有管理节点的配置参数并使其生效,将所述灾备集群切换为只读模式,将所述灾备集群的所有数据节点利用所述生产集群传输的备份文件进行备份恢复,并将所述灾备集群中所有数据节点设置为只读模式;
第三脚本运行单元,用于运行部署在所述生产集群的主管理节点的第三脚本,配置所述生产集群的主管理节点与所述灾备集群的主管理节点的互信,获取灾备同步关系脚本,对所述灾备同步关系脚本进行配置,部署所述灾备同步关系脚本,并将所述灾备同步关系脚本传输到所述灾备集群的主管理节点;
第四脚本运行单元,用于运行部署在所述灾备集群的主管理节点的第四脚本,接收所述灾备同步关系脚本,将所述灾备集群的工作模式切换为同步模式,若检测到所述灾备集群的工作模式为同步模式确定灾备同步关系搭建成功。
第三方面,本发明实施例提供了一种电子设备,所述电子设备包括处理器以及存储器;
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行如第一方面中任意一种实现方式描述的一种GoldenDB数据库灾备同步关系的搭建方法。
第三方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面中任意一种实现方式描述的一种GoldenDB数据库灾备同步关系的搭建方法。
相对于现有技术,本发明的有益效果如下:
本发明公开的一种GoldenDB数据库灾备同步关系的搭建方法及相关装置,通过依次运行部署在GoldenDB生产集群的主管理节点的第一脚本、部署在GoldenDB灾备集群的主管理节点的第二脚本、部署在GoldenDB生产集群的主管理节点的第三脚本以及部署在GoldenDB灾备集群的主管理节点的第四脚本,将GoldenDB数据库灾备同步关系搭建的各个步骤串联起来,能够自动化完成GoldenDB数据库灾备同步关系的搭建,避免人工搭建导致的灾备同步关系异常问题,实现了自动化、脚本化、批量化,以解决GoldenDB数据库灾备同步关系搭建步骤繁杂、人工搭建效率低的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种GoldenDB数据库灾备同步关系的搭建方法的流程示意图;
图2为本发明实施例公开的一种GoldenDB数据库灾备同步关系的搭建装置的结构示意图;
图3为本发明实施例公开的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更清楚地阐明本申请技术方案,下面对本申请涉及的相关概念进行解释。
1)分布式数据库:分布式数据库系统通常使用较小的计算机系统,每台计算机可单独放在一个地方,每台计算机中都可能有DBMS(Database Management System,数据库管理系统)的一份完整拷贝副本,或者部分拷贝副本,并具有自己局部的数据库。位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的逻辑上集中、物理上分布的大型数据库。
2)GoldenDB:是一种关系型分布式数据库产品,采用无共享架构,为用户提供了高可用、高可靠、可扩展的“大数据+分布式数据库”解决方案。GoldenDB分布式数据库由数据库驱动、计算节点集群、数据节点集群、管理节点和全局事务管理节点五个部分组成。
3)管理节点:管理节点在分布式数据库中负责集群管理流程,不涉及业务的访问流程,无负载压力,一般采用三节点主备方式部署。
4)计算节点:计算节点集群层是分布式数据库的核心层,由无状态的计算节点(DBProxy)组成。计算节点从驱动层或者管理节点接收用户的操作(一般以结构化查询语言StructuredQuery Language进行描述),进行逻辑优化和物理优化,生成满足分布式事务一致性的分布式查询计划。计算机节点在执行分布式查询计划时,通过持续地访问数据节点,从而完成用户的最终操作请求。
5)数据节点:数据节点集群是应用数据的最终存储组件。所有的数据节点组成一个或多个数据库集群,用户操作的事务不可以跨越多个数据库集群,只能在一个数据库集群内进行。
6)全局事务管理节点:全局事务管理器在分布式数据库中维护全局事务的全生命周期,提供申请、释放、查询全局事务的能力,采用集群方式部署。
7)生产库:正常情况下对外提供服务的GoldenDB系统,用于承接业务操作。
8)灾备库:正常情况下不提供服务,而是从生产库复制数据的GoldenDB系统,用于提供灾难、应急等场景下的紧急启动能力,代替生产库提供服务。
9)服务模式:对外提供服务的模式,承接业务操作,提供GoldenDB系统正常功能。
10)只读模式:在数据节点上设置read_only,只允许执行读语句。
11)同步模式:在只读模式的基础上,从对端GoldenDB系统同步数据,包括:数据节点数据、全局事务管理节点数据和元数据。
12)正切:指灾难、应急等场景下将灾备库从同步模式切换至服务模式的流程。
13)回切:指将生产库和灾备库恢复至原状态,即生产库处于服务模式下,对外提供服务,灾备库处于同步模式下,从生产库同步数据。
为了保障业务的不中断和高可用性,大型银行系统的数据库均会采取灾备方案,来确保在突发情况下,能够进行灾备切换来保障业务恢复正常运行。数据库灾备方案是为了应对可能发生的灾难性时间,比如硬件故障、自然灾害、人为错误等,以确保数据库的数据安全和业务连续性而制定的方案。这种方案通常包括以下备份与恢复、冗余和复制、故障切换、异地灾备、监控和测试、数据加密与安全等内容。GoldenDB数据库产品通过完整的数据库灾备方案和灾备同步关系搭建实施文档,可以实现灾备数据库与生产数据库的同步,并且支持在多种不同场景下的灾备切换。但是,搭建灾备同步关系步骤复杂、涉及到的节点类型较多,人工进行灾备同步关系搭建易出错、效率低,需要的人工成本较高,并且操作容易漏步骤,缺少相应的状态检查项,容易导致搭建灾备同步关系失败。
为了解决上述技术问题,本发明提供了一种GoldenDB数据库灾备同步关系的搭建方法及相关装置,能够自动化完成GoldenDB数据库灾备同步关系搭建涉及的30多个步骤,达到生产集群进入服务模式,灾备集群进入同步模式的灾备方案目标,避免人工搭建导致的灾备同步关系异常问题,实现了自动化、脚本化、批量化,以解决GoldenDB数据库灾备同步关系搭建步骤繁杂、人工搭建效率低的问题。
本发明提供的一种GoldenDB数据库灾备同步关系的搭建方法,可以通过计算机程序来实现,如通过安装在电子设备中的应用来实现,计算机程序可以使用shell语言编写,电子设备可以是移动通信终端(例如,智能手机)、个人计算机、平板电脑、服务器、服务器集群等。
示例性的,请参阅图1,本实施例公开的一种GoldenDB数据库灾备同步关系的搭建方法,具体包括以下步骤:
S101:运行部署在GoldenDB生产集群的主管理节点的第一脚本,根据灾备同步需求修改所述生产集群中所有管理节点的配置参数并使其生效,确定所述生产集群中每个分片的目标备节点进行数据备份,并将得到的备份文件传输至GoldenDB灾备集群;
第一脚本运行在GoldenDB生产集群的主管理节点的root用户下,第一脚本的输入参数有3个:
参数1:PRODUCT,是固定参数,代表生产,用这个参数代表这是生产集群。
参数2:生产集群主管理节点IP地址。
参数3:灾备集群主管理节点IP地址。
进一步,为了避免运行第一脚本可能出现的错误,在运行第一脚本后,先执行以下第一前置检查操作:
A1:检查所述第一脚本的输入参数是否符合第一预设规则;
如检查参数1是否为PRODUCT,检查参数2和参数3是否符合IP地址规则,有没有特殊字符。若参数1为PRODUCT,参数2和参数3符合IP地址规则且没有特殊字符,则检查通过。
A2:检查部署所述第一脚本的节点是否为主管理节点;
生产集群中只有主管理节点的一个数据库进程是启用的,通过ps-ef操作系统命令检查该数据库进程是否启用,从而判断部署所述第一脚本的节点是否为主管理节点。
A3:检查部署所述第一脚本的节点对应的数据库集群是否为所述生产集群;
检查部署所述第一脚本的节点对应的数据库集群中的数据节点是否为三副本架构,即一个主节点两个备节点。若数据节点为三副本架构代表该数据库集群为生产集群。
A4:检查所述生产集群中每个分片的备节点是否与主节点实时同步;
通过数据库showslave status命令查看所述生产集群中每个分片的的备节点的主备同步状态,若所述生产集群中每个分片的备节点与主节点实时同步则检查通过。
在以上所述第一前置检查操作全部通过的情况下执行根据灾备同步需求修改所述生产集群中所有管理节点的配置参数并使其生效这一步骤。
具体的,根据灾备同步需求将所述生产集群中所有管理节点下路径为/home/db/ccbmanager/etc/metadataserver.ini文件里的LoadGTMDataWaitTime参数,由原来的值为空,修改为3000。通过命令dbtool–mds–lc|grep LoadGTMDataWaitTime使修改的配置参数生效。
然后根据参数2通过从GoldenDB数据库的mds元数据库里进行查询,获得生产集群架构,从而获取生产集群所有数据节点的IP地址和用户列表,还可以获取生产集群有几个分片。每个分片都是三副本的,可以获得到每个分片的三台机器的信息。这三台机器里是有一个主节点,两台备节点,需要从两台备节点中选择一台备节点进行数据备份。选择数据备份的备节点的方式可以有多种,若无特定主机选取原则,随机选择一台备节点进行数据备份;若需要明确规则,将IP地址最小的备节点进行数据备份。
最后,根据参数3获得灾备集群架构,从而获取灾备集群所有数据节点的IP地址和用户列表,将生产集群上述步骤得到的备份文件传输至灾备集群对应分片的数据节点下。其中,灾备集群的分片数与生产集群的分片数是相同的,以分片1为例,生产集群分片1的一个备节点备份完毕后,将备份文件传输到灾备集群分片1的各个数据节点主机下。
S102:运行部署在所述灾备集群的主管理节点的第二脚本,根据灾备同步需求修改所述灾备集群中所有管理节点的配置参数并使其生效,将所述灾备集群切换为只读模式,将所述灾备集群的所有数据节点利用所述生产集群传输的备份文件进行备份恢复,并将所述灾备集群中所有数据节点设置为只读模式;
第二脚本运行在GoldenDB灾备集群的主管理节点的root用户下,第二脚本的输入参数有1个,即参数4:灾备集群主管理节点IP地址。
进一步,为了避免运行第二脚本可能出现的错误,在运行第二脚本后,先执行以下第二前置检查操作:
B1:检查所述第二脚本的输入参数是否符合第二预设规则;
如检查参数4是否符合IP地址规则,有没有特殊字符,若参数4符合IP地址规则且没有特殊字符,则检查通过。
B2:检查部署所述第二脚本的节点是否为主管理节点;
检查部署所述第二脚本的节点是否为灾备集群中的主管理节点的方法与A2中检查部署所述第一脚本的节点是否为生产集群中的主管理节点的方法同理,这里不再赘述。
B3:检查部署所述第二脚本的节点对应的数据库集群是否为所述灾备集群;
检查部署所述第二脚本的节点对应的数据库集群中的数据节点为2副本架构,即一个主节点一个备节点。若数据节点为2副本架构代表该数据库集群为灾备集群。
在以上所述第二前置检查操作全部通过的情况下执行根据灾备同步需求修改所述灾备集群中所有管理节点的配置参数并使其生效这一步骤。
具体的,根据灾备同步需求将所述灾备集群中所有管理节点下路径为/home/db/ccbmanager/etc/metadataserver.ini文件里的LoadGTMDataWaitTime参数,由原来的值为空,修改为3000。通过命令dbtool–mds–lc|grep LoadGTMDataWaitTime使修改的配置参数生效。
然后将所述灾备集群切换为只读模式,这是GoldenDB数据库灾备同步关系搭建的必要步骤,防止灾备库有数据写入,与生产库数据不一致导致灾备同步关系搭建失败。
由于运行脚本一已将生产集群的备份文件传输到了灾备集群,运行脚本二将灾备集群的所有数据节点利用备份文件进行备份恢复。
其中,生产集群进行数据备份的步骤包括:
dbmoni-–stop;
tar zcf backup_data.tar.gz data。
灾备集群进行备份恢复的步骤包括:
dbmoni-–stop;
mv data data_org_bak;
tar zxf backup_data.tar.gz;
rmdata/data/auto.cnf;
cp data_org_bak/data/auto.cnf data/data/;
dbmoni-–start。
最后将灾备集群中所有数据节点设置为只读模式,防止有后台心跳检测数据写入,影响灾备同步关系搭建。若后台心跳检测数据写入,灾备集群有数据变化,灾备同步关系搭建时就会存在灾备数据和生产数据不一致导致灾备同步关系搭建失败。
S103:运行部署在所述生产集群的主管理节点的第三脚本,配置所述生产集群的主管理节点与所述灾备集群的主管理节点的互信,获取灾备同步关系脚本,对所述灾备同步关系脚本进行配置,部署所述灾备同步关系脚本,并将所述灾备同步关系脚本传输到所述灾备集群的主管理节点;
第三脚本运行在GoldenDB生产集群的主管理节点的root用户下,第三脚本的输入参数有3个:
参数5:生产集群主管理节点IP地址;
参数6:灾备集群主管理节点IP地址;
参数7:灾备集群主管理节点root密码。
进一步,为了避免运行第三脚本可能出现的错误,在运行第三脚本后,先执行以下第三前置检查操作:
C1:检查所述第三脚本的输入参数是否符合第三预设规则;
如检查参数5和参数6是否符合IP地址规则,有没有特殊字符。若参数5和参数6符合IP地址规则且没有特殊字符,则检查通过。
C2:检查部署所述第三脚本的节点是否为主管理节点;
生产集群中只有主管理节点的一个数据库进程是启用的,通过ps-ef操作系统命令检查该数据库进程是否启用,从而判断部署所述第三脚本的节点是否为主管理节点。
C3:检查部署所述第三脚本的节点对应的数据库集群是否为所述生产集群;
检查部署所述第三脚本的节点对应的数据库集群中的数据节点是否为三副本架构,若是数据节点为三副本架构代表该数据库集群为生产集群。
C4:检查所述生产集群中所有数据库集群的模式是否一致;
检查所述生产集群中所有数据库集群的模式是否都是服务模式。
在以上所述第三前置检查操作全部通过的情况下执行所述配置所述生产集群的主管理节点与所述灾备集群的主管理节点的互信这一步骤。
具体的,配置生产集群的主管理节点到灾备集群的主管理节点的互信,配置后可以免密连接。具体步骤是先在生产集群的主管理节点与灾备集群的主管理节点上生成各自的key文件,通过命令ssh-keygen–t rsa创建公钥和密钥,会生成id_rsa和id_rsa.pub两个文件。然后通过命令ssh-copy-id把生产集群的主管理节点本地的公钥复制到灾备集群的主管理节点的authrized_keys文件。命令为ssh-copy-id–i.ssh/id_rsa.pub root@‘IP地址’。
然后对灾备同步关系脚本进行配置,具体的,获取GoldenDB数据库自带的灾备同步关系脚本包,解压脚本包,获取灾备同步关系脚本及配置文件,第三脚本对配置文件config.ini进行配置,在配置文件config.ini中填写的参数为zk1_ip和zk2_ip,zk1_ip应该填写生产集群的主管理节点IP地址,zk2_ip应该填写灾备集群的主管理节点IP地址,确定搭建哪个数据库集群到哪个数据库集群之间的灾备同步关系。
然后执行命令pythonbasic/deploy.py-cfg_file=config.ini-source=gdb1-dest=gdb2-source_cid=N-dest_cid=N部署灾备同步关系脚本,其中N表示要搭建灾备同步关系的集群ID,如果生产集群有多个集群需要部署,则修改集群ID并重复执行多次。最后将灾备同步关系脚本传输到灾备集群的主管理节点。
进一步,为了保证在灾备同步关系搭建过程中config.ini文件里面填写的各项参数内容没有变化,还可以在对灾备同步关系脚本进行配置之后,通过执行命令shbasic/drsp_key.sh-cfg_file=config.ini-action=gen,根据灾备同步关系脚本的配置文件中config.ini文件的参数zk1_ip,即生产集群的主管理节点的IP地址,生成第一key文件。
后续在部署灾备同步关系脚本之后,根据灾备同步关系脚本的配置文件中生产集群的主管理节点的IP地址,生成第二key文件,对第一key文件和第二key文件进行一致性校验,一致性校验通过后再执行后续操作,若一致性校验未通过则灾备同步关系搭建失败。
在检测到灾备集群切换为同步模式之后,根据灾备同步关系脚本的配置文件中生产集群的主管理节点的IP地址,生成第三key文件,对第一key文件和第三key文件进行一致性校验,若一致性校验未通过则灾备同步关系搭建失败。
S104:运行部署在所述灾备集群的主管理节点的第四脚本,接收所述灾备同步关系脚本,将所述灾备集群的工作模式切换为同步模式,若检测到所述灾备集群的工作模式为同步模式确定灾备同步关系搭建成功。
第四脚本运行在GoldenDB灾备集群的主管理节点的root用户下,第四脚本的输入参数有1个,即参数8:灾备集群主管理节点IP地址。
进一步,为了避免运行第四脚本可能出现的错误,在运行第四脚本后,先执行以下第四前置检查操作:
D1:检查所述第四脚本的输入参数是否符合第四预设规则;
如检查参数8是否符合IP地址规则,有没有特殊字符。若参数8符合IP地址规则且没有特殊字符,则检查通过。
D2:检查部署所述第四脚本的节点是否为主管理节点;
检查部署所述第四脚本的节点是否为灾备集群中的主管理节点的方法与A2中检查部署所述第一脚本的节点是否为生产集群中的主管理节点的方法同理,这里不再赘述。
在以上所述第四前置检查操作全部通过的情况下执行所述接收所述灾备同步关系脚本这一步骤。
然后登录灾备集群的主管理节点,执行命令:dbtool-mds-switchworkmode-mode=sync-clusterid=N,将灾备集群的工作模式切换为同步模式,其中N表示要搭建灾备同步关系的集群ID,如果灾备集群有多个集群需要部署,则修改集群ID并重复执行多次。
最后执行命令:dbtool-mds-printworkmode-clusterid=N,检查灾备集群的工作模式,其中,N表示要搭建灾备同步关系的集群ID,如果灾备集群有多个集群,需要修改集群ID后重复执行。若检测到灾备集群的工作模式为同步模式sync确定灾备同步关系搭建成功,同步模式代表集群从其他集群进行数据同步。一般生产集群为服务模式,正常对外提供服务,灾备集群为同步模式,从生产集群同步数据。
可见,本实施例公开的一种GoldenDB数据库灾备同步关系的搭建方法,通过依次运行部署在GoldenDB生产集群的主管理节点的第一脚本、部署在GoldenDB灾备集群的主管理节点的第二脚本、部署在GoldenDB生产集群的主管理节点的第三脚本以及部署在GoldenDB灾备集群的主管理节点的第四脚本,将GoldenDB数据库灾备同步关系搭建的各个步骤串联起来,能够自动化完成GoldenDB数据库灾备同步关系的搭建,避免人工搭建导致的灾备同步关系异常问题,实现了自动化、脚本化、批量化,以解决GoldenDB数据库灾备同步关系搭建步骤繁杂、人工搭建效率低的问题。可以在30分钟内自动化完成生产集群到灾备集群的同步关系搭建,大大提高了灾备同步关系搭建的效率。
基于上述实施例公开的一种GoldenDB数据库灾备同步关系的搭建方法,本实施例对应公开了一种GoldenDB数据库灾备同步关系的搭建装置,请参阅图2,包括:
第一脚本运行单元201,用于运行部署在GoldenDB生产集群的主管理节点的第一脚本,根据灾备同步需求修改所述生产集群中所有管理节点的配置参数并使其生效,确定所述生产集群中每个分片的目标备节点进行数据备份,并将得到的备份文件传输至GoldenDB灾备集群;
第二脚本运行单元202,用于运行部署在所述灾备集群的主管理节点的第二脚本,根据灾备同步需求修改所述灾备集群中所有管理节点的配置参数并使其生效,将所述灾备集群切换为只读模式,将所述灾备集群的所有数据节点利用所述生产集群传输的备份文件进行备份恢复,并将所述灾备集群中所有数据节点设置为只读模式;
第三脚本运行单元203,用于运行部署在所述生产集群的主管理节点的第三脚本,配置所述生产集群的主管理节点与所述灾备集群的主管理节点的互信,获取灾备同步关系脚本,对所述灾备同步关系脚本进行配置,部署所述灾备同步关系脚本,并将所述灾备同步关系脚本传输到所述灾备集群的主管理节点;
第四脚本运行单元204,用于运行部署在所述灾备集群的主管理节点的第四脚本,接收所述灾备同步关系脚本,将所述灾备集群的工作模式切换为同步模式,若检测到所述灾备集群的工作模式为同步模式确定灾备同步关系搭建成功。
在一些实施例中,所述第一脚本运行单元201,还包括:
第一前置检查子单元,用于执行以下第一前置检查操作:
检查所述第一脚本的输入参数是否符合第一预设规则;
检查部署所述第一脚本的节点是否为主管理节点;
检查部署所述第一脚本的节点对应的数据库集群是否为所述生产集群;
检查所述生产集群中每个分片的备节点是否与主节点实时同步;
在以上所述第一前置检查操作全部通过的情况下执行所述根据灾备同步需求修改所述生产集群中所有管理节点的配置参数并使其生效这一步骤。
在一些实施例中,所述第二脚本运行单元202,还包括:
第二前置检查子单元,用于执行以下第二前置检查操作:
检查所述第二脚本的输入参数是否符合第二预设规则;
检查部署所述第二脚本的节点是否为主管理节点;
检查部署所述第二脚本的节点对应的数据库集群是否为所述灾备集群;
在以上所述第二前置检查操作全部通过的情况下执行所述根据灾备同步需求修改所述灾备集群中所有管理节点的配置参数并使其生效这一步骤。
在一些实施例中,所述第三脚本运行单元203,还包括:
第三前置检查子单元,用于执行以下第三前置检查操作:
检查所述第三脚本的输入参数是否符合第三预设规则;
检查部署所述第三脚本的节点是否为主管理节点;
检查部署所述第三脚本的节点对应的数据库集群是否为所述生产集群;
检查所述生产集群中所有数据库集群的模式是否一致;
在以上所述第三前置检查操作全部通过的情况下执行所述配置所述生产集群的主管理节点与所述灾备集群的主管理节点的互信这一步骤。
在一些实施例中,所述第四脚本运行单元204,还包括:
第四前置检查子单元,用于执行以下第四前置检查操作:
检查所述第四脚本的输入参数是否符合第四预设规则;
检查部署所述第四脚本的节点是否为主管理节点;
在以上所述第四前置检查操作全部通过的情况下执行所述接收所述灾备同步关系脚本这一步骤。
在一些实施例中,所述第三脚本运行单元203,还包括:
key文件生成子单元,用于根据所述灾备同步关系脚本的配置文件中所述生产集群的主管理节点的IP地址,生成第一key文件;
第一校验子单元,用于在部署所述灾备同步关系脚本之后,根据所述灾备同步关系脚本的配置文件中所述生产集群的主管理节点的IP地址,生成第二key文件,对所述第一key文件和所述第二key文件进行一致性校验。
在一些实施例中,所述第三脚本运行单元203,还包括:
第二校验子单元,用于在检测到所述灾备集群切换为同步模式之后,根据所述灾备同步关系脚本的配置文件中所述生产集群的主管理节点的IP地址,生成第三key文件,对所述第一key文件和所述第三key文件进行一致性校验。
本实施例公开的一种GoldenDB数据库灾备同步关系的搭建装置,通过依次运行部署在GoldenDB生产集群的主管理节点的第一脚本、部署在GoldenDB灾备集群的主管理节点的第二脚本、部署在GoldenDB生产集群的主管理节点的第三脚本以及部署在GoldenDB灾备集群的主管理节点的第四脚本,将GoldenDB数据库灾备同步关系搭建的各个步骤串联起来,能够自动化完成GoldenDB数据库灾备同步关系的搭建,避免人工搭建导致的灾备同步关系异常问题,实现了自动化、脚本化、批量化,以解决GoldenDB数据库灾备同步关系搭建步骤繁杂、人工搭建效率低的问题。
本发明实施例还提供了一种电子设备,示例性的,请参阅图3,所述电子设备包括处理器301以及存储器302,处理器301与存储器302通过总线进行通信;
所述存储器302用于存储程序代码,并将所述程序代码传输给所述处理器301;
所述处理器301用于根据所述程序代码中的指令执行如上述实施例中任意一种实现方式描述的一种GoldenDB数据库灾备同步关系的搭建方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中任意一种实现方式描述的一种GoldenDB数据库灾备同步关系的搭建方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
上述各个实施例之间可任意组合,对所公开的实施例的上述说明,本说明书中各实施例中记载的特征可以相互替换或者组合,使本领域专业技术人员能够实现或使用本申请。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种GoldenDB数据库灾备同步关系的搭建方法,其特征在于,包括:
运行部署在GoldenDB生产集群的主管理节点的第一脚本,根据灾备同步需求修改所述生产集群中所有管理节点的配置参数并使其生效,确定所述生产集群中每个分片的目标备节点进行数据备份,并将得到的备份文件传输至GoldenDB灾备集群;
运行部署在所述灾备集群的主管理节点的第二脚本,根据灾备同步需求修改所述灾备集群中所有管理节点的配置参数并使其生效,将所述灾备集群切换为只读模式,将所述灾备集群的所有数据节点利用所述生产集群传输的备份文件进行备份恢复,并将所述灾备集群中所有数据节点设置为只读模式;
运行部署在所述生产集群的主管理节点的第三脚本,配置所述生产集群的主管理节点与所述灾备集群的主管理节点的互信,获取灾备同步关系脚本,对所述灾备同步关系脚本进行配置,部署所述灾备同步关系脚本,并将所述灾备同步关系脚本传输到所述灾备集群的主管理节点;
运行部署在所述灾备集群的主管理节点的第四脚本,接收所述灾备同步关系脚本,将所述灾备集群的工作模式切换为同步模式,若检测到所述灾备集群的工作模式为同步模式确定灾备同步关系搭建成功。
2.根据权利要求1所述的GoldenDB数据库灾备同步关系的搭建方法,其特征在于,在所述根据灾备同步需求修改所述生产集群中所有管理节点的配置参数并使其生效之前,还包括以下第一前置检查操作:
检查所述第一脚本的输入参数是否符合第一预设规则;
检查部署所述第一脚本的节点是否为主管理节点;
检查部署所述第一脚本的节点对应的数据库集群是否为所述生产集群;
检查所述生产集群中每个分片的备节点是否与主节点实时同步;
在以上所述第一前置检查操作全部通过的情况下执行所述根据灾备同步需求修改所述生产集群中所有管理节点的配置参数并使其生效这一步骤。
3.根据权利要求1所述的GoldenDB数据库灾备同步关系的搭建方法,其特征在于,在所述根据灾备同步需求修改所述灾备集群中所有管理节点的配置参数并使其生效之前,还包括以下第二前置检查操作:
检查所述第二脚本的输入参数是否符合第二预设规则;
检查部署所述第二脚本的节点是否为主管理节点;
检查部署所述第二脚本的节点对应的数据库集群是否为所述灾备集群;
在以上所述第二前置检查操作全部通过的情况下执行所述根据灾备同步需求修改所述灾备集群中所有管理节点的配置参数并使其生效这一步骤。
4.根据权利要求1所述的GoldenDB数据库灾备同步关系的搭建方法,其特征在于,在所述配置所述生产集群的主管理节点与所述灾备集群的主管理节点的互信之前,还包括以下第三前置检查操作:
检查所述第三脚本的输入参数是否符合第三预设规则;
检查部署所述第三脚本的节点是否为主管理节点;
检查部署所述第三脚本的节点对应的数据库集群是否为所述生产集群;
检查所述生产集群中所有数据库集群的模式是否一致;
在以上所述第三前置检查操作全部通过的情况下执行所述配置所述生产集群的主管理节点与所述灾备集群的主管理节点的互信这一步骤。
5.根据权利要求1所述的GoldenDB数据库灾备同步关系的搭建方法,其特征在于,在所述接收所述灾备同步关系脚本之前,还包括以下第四前置检查操作:
检查所述第四脚本的输入参数是否符合第四预设规则;
检查部署所述第四脚本的节点是否为主管理节点;
在以上所述第四前置检查操作全部通过的情况下执行所述接收所述灾备同步关系脚本这一步骤。
6.根据权利要求1所述的GoldenDB数据库灾备同步关系的搭建方法,其特征在于,在对所述灾备同步关系脚本进行配置之后,还包括:
根据所述灾备同步关系脚本的配置文件中所述生产集群的主管理节点的IP地址,生成第一key文件;
在部署所述灾备同步关系脚本之后,还包括:
根据所述灾备同步关系脚本的配置文件中所述生产集群的主管理节点的IP地址,生成第二key文件,对所述第一key文件和所述第二key文件进行一致性校验。
7.根据权利要求6所述的GoldenDB数据库灾备同步关系的搭建方法,其特征在于,还包括:
在检测到所述灾备集群切换为同步模式之后,根据所述灾备同步关系脚本的配置文件中所述生产集群的主管理节点的IP地址,生成第三key文件,对所述第一key文件和所述第三key文件进行一致性校验。
8.一种GoldenDB数据库灾备同步关系的搭建装置,其特征在于,包括:
第一脚本运行单元,用于运行部署在GoldenDB生产集群的主管理节点的第一脚本,根据灾备同步需求修改所述生产集群中所有管理节点的配置参数并使其生效,确定所述生产集群中每个分片的目标备节点进行数据备份,并将得到的备份文件传输至GoldenDB灾备集群;
第二脚本运行单元,用于运行部署在所述灾备集群的主管理节点的第二脚本,根据灾备同步需求修改所述灾备集群中所有管理节点的配置参数并使其生效,将所述灾备集群切换为只读模式,将所述灾备集群的所有数据节点利用所述生产集群传输的备份文件进行备份恢复,并将所述灾备集群中所有数据节点设置为只读模式;
第三脚本运行单元,用于运行部署在所述生产集群的主管理节点的第三脚本,配置所述生产集群的主管理节点与所述灾备集群的主管理节点的互信,获取灾备同步关系脚本,对所述灾备同步关系脚本进行配置,部署所述灾备同步关系脚本,并将所述灾备同步关系脚本传输到所述灾备集群的主管理节点;
第四脚本运行单元,用于运行部署在所述灾备集群的主管理节点的第四脚本,接收所述灾备同步关系脚本,将所述灾备集群的工作模式切换为同步模式,若检测到所述灾备集群的工作模式为同步模式确定灾备同步关系搭建成功。
9.一种电子设备,其特征在于,所述电子设备包括处理器以及存储器;
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行如权利要求1-7中任一项所述的一种GoldenDB数据库灾备同步关系的搭建方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的一种GoldenDB数据库灾备同步关系的搭建方法。
CN202311760199.3A 2023-12-20 2023-12-20 一种GoldenDB数据库灾备同步关系的搭建方法及相关装置 Pending CN117708242A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311760199.3A CN117708242A (zh) 2023-12-20 2023-12-20 一种GoldenDB数据库灾备同步关系的搭建方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311760199.3A CN117708242A (zh) 2023-12-20 2023-12-20 一种GoldenDB数据库灾备同步关系的搭建方法及相关装置

Publications (1)

Publication Number Publication Date
CN117708242A true CN117708242A (zh) 2024-03-15

Family

ID=90160434

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311760199.3A Pending CN117708242A (zh) 2023-12-20 2023-12-20 一种GoldenDB数据库灾备同步关系的搭建方法及相关装置

Country Status (1)

Country Link
CN (1) CN117708242A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118051563A (zh) * 2024-04-15 2024-05-17 天津南大通用数据技术股份有限公司 一种基于分布式数据库同构集群的容灾方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118051563A (zh) * 2024-04-15 2024-05-17 天津南大通用数据技术股份有限公司 一种基于分布式数据库同构集群的容灾方法

Similar Documents

Publication Publication Date Title
US7895501B2 (en) Method for auditing data integrity in a high availability database
EP3694148A1 (en) Configuration modification method for storage cluster, storage cluster and computer system
CN111183625A (zh) 用于在区块链网络中删除节点的系统和方法
US7698391B2 (en) Performing a provisioning operation associated with a software application on a subset of the nodes on which the software application is to operate
US10922303B1 (en) Early detection of corrupt data partition exports
EP3745269B1 (en) Hierarchical fault tolerance in system storage
CN113515499B (zh) 一种数据库服务方法及系统
CN105224637A (zh) 一种基于PostgreSQL数据库的主备/集群应用的综合性方法
US7702757B2 (en) Method, apparatus and program storage device for providing control to a networked storage architecture
CN117708242A (zh) 一种GoldenDB数据库灾备同步关系的搭建方法及相关装置
CN106452836B (zh) 主节点设置方法及装置
CN111651275A (zh) 一种MySQL集群自动化部署系统及方法
CN113688035B (zh) 一种基于沙箱环境的数据库双活中心验证方法及系统
CN111614733A (zh) 一种分布式多分片集群的部署方法、装置及存储介质
CN114238495A (zh) 数据库主备集群切换方法、装置、计算机设备及存储介质
CN113821376A (zh) 一种基于云灾备的一体化备份容灾方法及系统
CN115658390A (zh) 容器容灾方法、系统、装置、设备及计算机可读存储介质
US20230004465A1 (en) Distributed database system and data disaster backup drilling method
WO2018076696A1 (zh) 一种数据同步方法及带外管理设备
CN111125060B (zh) 一种数据库管理方法、系统、设备及存储介质
CN111752892B (zh) 分布式文件系统及其实现方法、管理系统、设备及介质
CN115955488A (zh) 基于副本冗余的分布式存储副本跨机房放置方法与装置
CN116389233A (zh) 容器云管理平台主备切换系统、方法、装置和计算机设备
CN116192616A (zh) 基于微服务的电力备调系统处理方法、装置和计算机设备
CN110677469B (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