CN109471759B - 一种基于sas双控设备的数据库故障切换方法及设备 - Google Patents
一种基于sas双控设备的数据库故障切换方法及设备 Download PDFInfo
- Publication number
- CN109471759B CN109471759B CN201811394323.8A CN201811394323A CN109471759B CN 109471759 B CN109471759 B CN 109471759B CN 201811394323 A CN201811394323 A CN 201811394323A CN 109471759 B CN109471759 B CN 109471759B
- Authority
- CN
- China
- Prior art keywords
- database
- controller
- sas
- dual control
- control equipment
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2089—Redundant storage control functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于SAS双控设备的数据库故障切换方法和配置,涉及分布式数据库高可用领域。该方法包含以下步骤:对SAS双控设备上的数据库进行心跳监控,当一端控制器或者数据库链接中断、且另一端控制器以及数据库能够正常工作,判断该端控制器上的数据库为故障数据库;若故障控制器未发生宕机、且数据库实例宕机,则在该控制器尝试启动数据库实例;若故障控制器发生宕机,则直接进行故障切换,在另一端正常工作的控制器上启动故障数据库实例,并将该故障数据库所在存储池切换到正常工作的控制器端。本发明当SAS双控设备上的数据库发生故障时,能够快速进行故障数据库的切换、同时避免了数据同步以及节省了存储资源和网络资源。
Description
技术领域
本发明属于互联网后端分布式数据库高可用领域,涉及一种基于SAS双控设备上数据库集群的故障切换方法。
背景技术
目前在互联网后端分布式数据库高可用领域,通常使用数据库镜像(mirror)对的形式进行故障切换。这种方法会浪费大量的存储空间,并且数据同步需要一定的时间。
发明内容
针对上述问题,本发明的目的是提供一种基于SAS(Serial Attached SCSI,即串行连接小型计算机***接口)双控设备的数据库故障切换方法及设备。当互联网后端分布式数据库集群发生故障时,使用该方法能够快速定位故障数据库节点并且快速的进行故障切换操作。本发明故障切换节约存储空间,节省数据同步时间。
为实现上述目的,本发明采取以下技术方案:在互联网后端分布式数据库高可用领域,使用SAS双控设备对数据库配置管理,当SAS双控设备上的数据库发生故障时,能够快速进行故障数据库的切换、同时避免了数据同步以及节省了存储资源和网络资源。
该方法涉及分布式数据库集群包括至少1台主数据库服务器(master),至少1台包含两个数据节点(segment host)的SAS双控设备控制器,每个控制器有自己的独立的CPU、内存和存储。
该方法包含以下步骤:
步骤1:生成相应的配置文件,用来进行数据库实例故障切换管理;
步骤2:对数据库集群中所有的数据节点进行监控,当监控到数据节点不可访问时,判断当前数据库实例所在的控制器是否正常工作;
步骤3:若当前数据库实例所在的控制器正常工作,判断当前数据库状态是控制器正常、数据库实例宕机,则在该控制器上重新启动数据库实例;
步骤4:若当前数据库实例所在的控制器正常工作,且经过一定尝试在该控制器上重新启动数据库实例失败,判断当前数据库状态是控制器宕机、数据库实例宕机,则将故障控制器的存储池切换到正常工作的控制器上,并在正常工作的控制器上启动数据库实例;
步骤5:若当前数据库实例所在控制器发生故障,判断当前数据库状态为控制器宕机、数据库实例宕机,则将故障控制器的存储池切换到正常工作的控制器上,并在正常工作的控制器上启动数据库实例。
本发明由于采取以上技术方案,其具有以下优点:
1.可以减少双控在正常工作过程中的数据复制,节省了存储资源和网络资源。
2.可以省去原故障设备在恢复过程中的再同步过程,节省了恢复的时间。
附图说明
图1是为基于SAS双控设备分布式数据库集群故障切换的***架构图;
图2是基于SAS双控设备分布式数据库集群故障切换流程图。
具体实施方式
下面结合附图和实施例对本发明的进行详细的描述。
如图1所示,本发明涉及实现上述方法的基于SAS双控设备上数据库集群组成结构包括数据库集群监控模块和数据库实例管理模块,数据库实例管理模块包括数据库状态判断模块、控制器状态判断模块、存储池状态监控模块、数据库实例启动模块。
数据库集群监控模块用于:对数据库集群的所有segment数据节点进行监控,当监控到segment数据节点发生故障时,将发生故障的segment数据节点的信息发送给数据库状态判断模块。
数据库状态判断模块用于:接受故障segment数据节点的信息后,判断当前segment数据节点是否可以连接,若是可以连接则通知监控模块继续监控;否则将当前segment数据节点判断为控制器正常、数据库实例宕机,向控制器状态判断模块发送控制器状态信息。
控制器状态判断模块用于:收到控制器状态信息时,确定故障数据库实例所在控制器状态,若控制器状态正常、数据库宕机,则向数据库实例启动模块发送重启数据库实例的信息,若控制器宕机,向存储池状态监控模块发送监控存储池状态信号。
存储池状态监控模块用于:在接受到监控存储池状态信号时,判断故障控制器的存储池是否切换到正常工作的控制器端,存储池成功切换之后,将故障数据库实例的数据目录切换为备份工作目录,备份工作目录是原始工作目录的软连接。向数据库实例启动模块发送数据库实例启动所需要的信息。
数据库实例启动模块用于:接收到数据库实例启动所需要的参数时,执行启动数据库实例的操作。
参见图1所示,本发明实施用例中的分布式数据库集群包括至少1台master主数据库服务器,至少1台包含两个segment数据节点的SAS双控设备服务器,正常工作时,每个控制器有自己的独立的CPU、内存和存储。
如图2所示,本发明实施用例涉及的方法详细流程为:
S0:根据配置,生成相应的配置文件,当数据库实例进行故障切换时,根据配置文件的要求进行故障切换过程。
在S0过程中生成的配置文件包含:同一台SAS双控设备上两个控制器上数据库实例的端口以及端口偏移,同时还包括双控切换时存储池的切换目标。
S1:对数据库集群中所有的segment数据节点进行监控,当监控到segment数据节点不可访问时,转到S2;
在S1过程中所述的数据库监控的流程为:通过多线程的方式对所有的segment数据库实例进行心跳检测,当segment数据库实例不可链接时,判断该数据库实例故障。若数据库实例和控制器均未发生故障,重新执行S1。
S2:判断当前数据库实例所在的控制器是否正常工作,若是,则当前数据库状态是控制器正常、数据库实例宕机,转到S3,若当前数据库实例所在控制器发生故障则,则当前数据库状态为控制器宕机、数据库实例宕机,转到S4;
S3:故障数据库实例所在控制器工作正常,在该控制器上重新启动数据库实例,若启动成功则转到S1,若经过一定尝试启动失败则判断控制器宕机、数据库实例宕机,转到S4;
在S3过程中,尝试重启数据库实例的次数通过配置文件确定,避免因为网络通信阻塞,将数据库实例判断为故障。
S4:将故障控制器的存储池切换到正常工作的控制器上,转到S5;
在S4过程中还需要将数据库实例的目录切换到指定的backup目录,使得数据库实例能够通过backup目录查找到数据,避免和正常控制器上的数据目录混淆;
S5:在正常工作的控制器上启动数据库实例,结束。
在S5过程中,为了避免和正常控制器上的数据库实例的端口号混淆,在配置文件中需要配置故障数据库实例的备用端口号,在S5过程中,使用备用端口号启动数据库实例。
所述存储池状态监控模块和数据库实例启动模块工作时,工作正常的控制器发生故障,则直接结束工作。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (10)
1.一种基于SAS双控设备的数据库故障切换方法,该方法涉及分布式数据库集群至少1台数据库服务器,至少1台包含两个数据节点的SAS双控设备控制器,每个控制器有自己的独立的CPU、内存和存储;
其特征在于:所述基于SAS双控设备的数据库故障切换方法,包含以下步骤:
步骤1:生成相应的配置文件,用来进行数据库实例故障切换管理;
步骤2:对数据库集群中所有的数据节点进行监控,当监控到数据节点不可访问时,判断当前数据库实例所在的控制器是否正常工作;
步骤3:若当前数据库实例所在的控制器正常工作,判断当前数据库状态是控制器正常、数据库实例宕机,则在该控制器上重新启动数据库实例;
步骤4:若当前数据库实例所在的控制器正常工作,且经过一定尝试在该控制器上重新启动数据库实例失败,判断当前数据库状态是控制器宕机、数据库实例宕机,则将故障控制器的存储池切换到正常工作的控制器上,并在正常工作的控制器上启动数据库实例;
步骤5:若当前数据库实例所在控制器发生故障,判断当前数据库状态为控制器宕机、数据库实例宕机,则将故障控制器的存储池切换到正常工作的控制器上,并在正常工作的控制器上启动数据库实例。
2.根据权利要求1所述的基于SAS双控设备的数据库故障切换方法,其特征在于:在步骤5过程中还需要将数据库实例的目录切换到指定的backup目录,使得数据库实例能够通过backup目录查找到数据,避免和正常控制器上的数据目录混淆。
3.根据权利要求1所述的基于SAS双控设备的数据库故障切换方法,其特征在于:在步骤5过程中,为了避免和正常控制器上的数据库实例的端口号混淆,在配置文件中需要配置故障数据库实例的备用端口号,使用备用端口号启动数据库实例。
4.根据权利要求1所述的基于SAS双控设备的数据库故障切换方法,其特征在于:在步骤4中,尝试重启数据库实例的次数通过配置文件确定,避免因为网络通信阻塞,将数据库实例判断为故障。
5.根据权利要求1所述的基于SAS双控设备的数据库故障切换方法,其特征在于:在步骤2过程中所述的数据库监控的流程为:对所有的数据库实例进行心跳检测,当数据库实例不可链接时,判断该数据库实例故障。
6.根据权利要求1所述的基于SAS双控设备的数据库故障切换方法,其特征在于:在步骤1过程中生成的配置文件包含:同一台SAS双控设备上两个控制器上数据库实例的端口以及端口偏移,同时还包括双控切换时存储池的切换目标。
7.根据权利要求1至5任一项所述的基于SAS双控设备的数据库故障切换方法,其特征在于:所述分布式数据库集群中的所有节点均分布在SAS双控设备上,每一台SAS双控设备为一组,故障切换只能在同一台SAS双控设备上切换;
在此基础上步骤5具体包括以下步骤:将故障数据库实例的数据目录信息、端口号信息更新在master数据节点进行更新。
8.一种基于SAS双控设备的数据库故障切换设备,其特征在于:该设备涉及数据库集群配置包括数据库集群监控模块和数据库实例管理模块,数据库实例管理模块包括数据库状态判断模块、控制器状态判断模块、存储池状态监控模块、数据库实例启动模块;
数据库集群监控模块用于:对数据库集群的所有数据节点进行监控,当监控到数据节点发生故障时,将发生故障的数据节点的信息发送给数据库状态判断模块;
数据库状态判断模块用于:接受故障数据节点的信息后,判断当前数据节点是否可以连接,若是可以连接则通知监控模块继续监控;否则将当前数据节点判断为控制器正常、数据库实例宕机,向控制器状态判断模块发送控制器状态信息;
控制器状态判断模块用于:收到控制器状态信息时,确定故障数据库实例所在控制器状态,若控制器状态正常、数据库宕机,则向数据库实例启动模块发送重启数据库实例的信息,若控制器宕机,向存储池状态监控模块发送监控存储池状态信号;
存储池状态监控模块用于:在接受到监控存储池状态信号时,判断故障控制器的存储池是否切换到正常工作的控制器端,存储池成功切换之后,将故障数据库实例的数据目录切换为备份工作目录,备份工作目录是原始工作目录的软连接,向数据库实例启动模块发送数据库实例启动所需要的信息;
数据库实例启动模块用于:接收到数据库实例启动所需要的参数时,执行启动数据库实例的操作。
9.根据权利要求8所述的基于SAS双控设备的数据库故障切换设备,其特征在于:所述存储池状态监控模块和数据库实例启动模块工作时,工作正常的控制器发生故障,则直接结束工作。
10.根据权利要求8所述的基于SAS双控设备的数据库故障切换设备,其特征在于:所述数据库状态判断模块在判断数据库实例正常工作时,则通知数据库集群监控模块继续监控数据库集群中所有数据库节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811394323.8A CN109471759B (zh) | 2018-11-21 | 2018-11-21 | 一种基于sas双控设备的数据库故障切换方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811394323.8A CN109471759B (zh) | 2018-11-21 | 2018-11-21 | 一种基于sas双控设备的数据库故障切换方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109471759A CN109471759A (zh) | 2019-03-15 |
CN109471759B true CN109471759B (zh) | 2019-08-02 |
Family
ID=65673152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811394323.8A Active CN109471759B (zh) | 2018-11-21 | 2018-11-21 | 一种基于sas双控设备的数据库故障切换方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109471759B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110086668B (zh) * | 2019-04-28 | 2022-07-29 | 杭州迪普科技股份有限公司 | 一种配置文件切换方法及*** |
CN110162428A (zh) * | 2019-05-17 | 2019-08-23 | 中国铁道科学研究院集团有限公司 | 数据同步方法及装置、电子设备和计算机可读存储介质 |
CN111400111B (zh) * | 2020-03-12 | 2024-02-27 | 北京交大思诺科技股份有限公司 | 一种具有备机失步状态的安全计算机平台 |
CN111488245A (zh) * | 2020-04-14 | 2020-08-04 | 深圳市小微学苑科技有限公司 | 分布式存储的高级管理方法及*** |
CN112527595A (zh) * | 2020-12-02 | 2021-03-19 | 平安医疗健康管理股份有限公司 | Greenplum集群数据库监控方法、装置和计算机设备 |
CN115933565B (zh) * | 2022-12-23 | 2023-10-20 | 广东职业技术学院 | 一种agv任务交换方法、装置、***和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739406A (zh) * | 2008-11-13 | 2010-06-16 | 英业达股份有限公司 | 双控制器上文件服务操作的同步方法 |
CN103685250A (zh) * | 2013-12-04 | 2014-03-26 | 蓝盾信息安全技术股份有限公司 | 一种基于sdn的虚拟机安全策略迁移的***及方法 |
CN104793896A (zh) * | 2015-02-04 | 2015-07-22 | 北京神州云科数据技术有限公司 | 一种双控设备的单双控切换方法及装置 |
CN106953744A (zh) * | 2017-02-27 | 2017-07-14 | 浙江工商大学 | 一种sdn集群控制器高可用架构设计方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101643074A (zh) * | 2009-06-30 | 2010-02-10 | 卡斯柯信号有限公司 | 主备控制中心的热备*** |
CN102081579A (zh) * | 2009-11-30 | 2011-06-01 | 英业达股份有限公司 | 双控制器存储设备的缓存镜像***及方法 |
US9804928B2 (en) * | 2011-11-14 | 2017-10-31 | Panzura, Inc. | Restoring an archived file in a distributed filesystem |
CN107733684B (zh) * | 2017-08-31 | 2021-02-09 | 北京宇航***工程研究所 | 一种基于龙芯处理器的多控制器计算冗余集群 |
-
2018
- 2018-11-21 CN CN201811394323.8A patent/CN109471759B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739406A (zh) * | 2008-11-13 | 2010-06-16 | 英业达股份有限公司 | 双控制器上文件服务操作的同步方法 |
CN103685250A (zh) * | 2013-12-04 | 2014-03-26 | 蓝盾信息安全技术股份有限公司 | 一种基于sdn的虚拟机安全策略迁移的***及方法 |
CN104793896A (zh) * | 2015-02-04 | 2015-07-22 | 北京神州云科数据技术有限公司 | 一种双控设备的单双控切换方法及装置 |
CN106953744A (zh) * | 2017-02-27 | 2017-07-14 | 浙江工商大学 | 一种sdn集群控制器高可用架构设计方法 |
Non-Patent Citations (1)
Title |
---|
基于Openstack私有云平台的高可用性研究;刘丹等;《长春理工大学学报 (自然科学版)》;20161231;第39卷(第6期);第85-94页 |
Also Published As
Publication number | Publication date |
---|---|
CN109471759A (zh) | 2019-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109471759B (zh) | 一种基于sas双控设备的数据库故障切换方法及设备 | |
CN101582787B (zh) | 一种双机备份***及备份方法 | |
CN103346903B (zh) | 一种双机备份的方法和装置 | |
CN101546187B (zh) | 冗余plc*** | |
CN203482216U (zh) | 一种网络设备 | |
CN102394914A (zh) | 集群脑裂处理方法和装置 | |
CN103647781A (zh) | 一种基于设备冗余和网络冗余的混合冗余可编程控制*** | |
CN101916217A (zh) | 多控制器切换的方法、控制装置及*** | |
CN103532753A (zh) | 一种基于内存换页同步的双机热备方法 | |
CN109905275A (zh) | 一种基于sdn分层架构的控制平面故障检测与处理方法 | |
CN104484243A (zh) | 一种虚拟机容错技术和高可用集群技术结合的高可靠***装置和方法 | |
CN105068763B (zh) | 一种针对存储故障的虚拟机容错***和方法 | |
CN107071189B (zh) | 一种通讯设备物理接口的连接方法 | |
JP5285045B2 (ja) | 仮想環境における故障復旧方法及びサーバ及びプログラム | |
CN113377702B (zh) | 两节点集群启动的方法及装置、电子设备和存储介质 | |
CN109117317A (zh) | 一种集群故障恢复方法和相关装置 | |
CN103152209A (zh) | 基于多机热备份的应用服务运行处理*** | |
CN110740066B (zh) | 一种席位不变的跨机故障迁移方法和*** | |
JP5285044B2 (ja) | クラスタシステム復旧方法及びサーバ及びプログラム | |
CN114968129B (zh) | 磁盘阵列冗余方法、***、计算机设备和存储介质 | |
JP2003345620A (ja) | 多ノードクラスタシステムのプロセス監視方法 | |
CN113472891A (zh) | 一种sdn控制器集群数据处理方法、设备及介质 | |
CN110752955A (zh) | 一种席位不变故障迁移***和方法 | |
JP3325785B2 (ja) | 計算機の故障検出・回復方式 | |
CN104683153A (zh) | 一种集群路由器主备mpu控制方法及其*** |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100193 2nd Floor 201, Block B, Building 12, East 10 Wangdong Road, Northwest Haidian District, Beijing Patentee after: Beijing Gushu Polytron Technologies Inc Address before: 100193 2nd Floor 201, Block B, Building 12, East 10 Wangdong Road, Northwest Haidian District, Beijing Patentee before: BEIJING GUSHU TECHNOLOGY Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |