CN108897645A - 一种基于备用心跳磁盘的数据库集群容灾方法和系统 - Google Patents
一种基于备用心跳磁盘的数据库集群容灾方法和系统 Download PDFInfo
- Publication number
- CN108897645A CN108897645A CN201810600194.7A CN201810600194A CN108897645A CN 108897645 A CN108897645 A CN 108897645A CN 201810600194 A CN201810600194 A CN 201810600194A CN 108897645 A CN108897645 A CN 108897645A
- Authority
- CN
- China
- Prior art keywords
- spare
- heartbeat
- disk
- heartbeat disk
- data
- 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.)
- Granted
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/202—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 processing functionality is redundant
- G06F11/2041—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 processing functionality is redundant with more than one idle spare processing component
-
- 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/2094—Redundant storage or storage space
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于备用心跳磁盘的数据库集群容灾方法和系统,该方法包括:在数据库集群中配置备用心跳磁盘;根据数据库集群中可用心跳磁盘的数量,设置备用心跳磁盘的工作机制;以及对备用心跳磁盘进行维护。该系统包括:备用心跳磁盘配置模块、工作机制设置模块和维护模块。通过本申请中的方法和系统,在不影响数据库集群的其他正常功能的基础上,实现备用心跳磁盘自动替换故障心跳磁盘,从而确保数据库集群的正常运行,有利于提高数据库集群的稳定性。而且能够确保数据库集群不会产生宕机现象,有利于提高数据库集群的工作效率。
Description
技术领域
本申请涉及数据库集群数据安全技术领域,特别是涉及一种基于备用心跳磁盘的数据库集群容灾方法和系统。
背景技术
数据库集群是一种多服务器并行工作的数据库环境,多服务器访问相同的共享磁盘,以达到数据的共享。而心跳磁盘是数据库集群中的一种共享磁盘,数据块集群中所有服务器均可访问该共享磁盘。RAC(Real Application Clusters,实时应用集群)数据库集群中各服务器并行工作,当某个服务器故障时,通过心跳磁盘来判断服务器状态,以决定是否将服务器踢出数据库集群,保持集群的稳定运行。同时,数据库集群也会不定时对每个心跳磁盘进行检测以判断心跳磁盘的状态,当多个心跳磁盘无法读写时,如果可用心跳磁盘的数量少于心跳磁盘总数量的二分之一时,集群中所有服务器会宕机,从而使数据库集群无法使用。因此,数据库集群中心跳磁盘的设计,对于数据库集群容灾非常重要。
最早的数据库容灾方法,通常是采用一台存储为数据库集群提供数据磁盘及心跳磁盘服务,当这台存储因为故障无法正常访问时,会导致心跳磁盘将无法访问,数据磁盘无法读写,从而使得整个集群崩溃,无法提供数据服务。如果存储故障的原因是磁盘损坏的话,甚至会造成数据丢失的严重后果。
为了更好地保护集群数据库中的数据,目前常用的数据库集群容灾方法通常是,采用两台存储搭建RAC数据库集群,两台存储上分别设置心跳磁盘,再利用ASM功能实现两台存储数据磁盘的冗余。具体地,由于数据库集群中心跳磁盘的数量必须为奇数,两台存储上心跳磁盘的数量会不同。当拥有心跳磁盘数量较少的那台存储发生故障时,由于可用心跳磁盘的数量多于心跳磁盘总数量的二分之一,数据库集群不受影响,可以正常运行;当拥有心跳磁盘数量较多的那台存储发生故障时,可用心跳磁盘的数量少于心跳磁盘总数量的二分之一,整个数据库集群会发生异常而宕机,这种情况可通过人工干预处理使集群恢复正常。因此,两台存储中数据磁盘的数据完全一致,任何一台存储故障都不会造成数据丢失。
然而,目前的数据库集群容灾方法中,虽然不会导致数据丢失,但是从发现集群宕机到人工干预处理完毕这段时间内,整个数据库集群无法工作,从而影响数据库集群的工作效率。而且由于两台存储上心跳磁盘的数量不同,拥有心跳磁盘数据较多或较少的存储都有可能发生故障,因此,目前的数据库集群容灾方法有50%的几率会造成集群故障,从而导致集群数据库的稳定性不够高。
发明内容
本申请提供了一种基于备用心跳磁盘的数据库集群容灾方法和系统,以解决现有技术中数据库集群工作效率不够高和稳定性不够高的问题。
为了解决上述技术问题,本申请实施例公开了如下技术方案:
一种基于备用心跳磁盘的数据库集群容灾方法,所述方法包括:
在数据库集群中配置备用心跳磁盘;
根据数据库集群中可用心跳磁盘的数量,设置所述备用心跳磁盘的工作机制;
对所述备用心跳磁盘进行维护。
可选地,备用心跳磁盘的数量配置原则为:
备用心跳磁盘替换故障心跳磁盘后,可用心跳磁盘的数量大于心跳磁盘总数量的二分之一。
可选地,所述根据数据库集群中可用心跳磁盘的数量,设置所述备用心跳磁盘的工作机制的方法,包括:
当心跳磁盘发生故障时,数据库集群采集可用心跳磁盘的数量;
如果可用心跳磁盘的数量大于心跳磁盘总数量的二分之一,不启用备用心跳磁盘,且不触发踢除或重启服务器的动作;
如果可用心跳磁盘的数量小于或等于心跳磁盘总数量的二分之一,且备用心跳磁盘处于正常状态,利用备用心跳磁盘替换故障心跳磁盘;
如果可用心跳磁盘的数量小于或等于心跳磁盘总数量的二分之一,且备用心跳磁盘处于失效状态,触发踢除或重启服务器的动作。
可选地,如果可用心跳磁盘的数量小于或等于心跳磁盘总数量的二分之一,且备用心跳磁盘处于正常状态,利用备用心跳磁盘替换故障心跳磁盘的方法,包括:
如果备用磁盘的数量与可用心跳磁盘的数量之和大于心跳磁盘总数量的二分之一,不触发踢除或重启服务器的动作;
如果备用磁盘的数量与可用心跳磁盘的数量之和小于或等于心跳磁盘总数量的二分之一,触发踢除或重启服务器的动作。
可选地,对所述备用心跳磁盘进行维护的方法,包括:
查询集群中备用心跳磁盘的基本信息,所述基本信息包括:备用心跳磁盘序号、备用心跳磁盘名称、备用心跳磁盘状态以及是否已作为心跳磁盘;
将备用心跳磁盘添加到数据库集群;
将备用心跳磁盘从数据库集群从删除。
可选地,所述在数据库集群中配置备用心跳磁盘的方法,包括:
获取第一链路的信息,所述第一链路为数据库集群中心跳磁盘与服务器之间的链路;
配置第二链路的信息,且第二链路与第一链路不同,所述第二链路为数据库集群中备用心跳磁盘与服务器之间的链路。
一种基于备用心跳磁盘的数据库集群容灾系统,所述系统包括:
备用心跳磁盘配置模块,用于在数据库集群中配置备用心跳磁盘;
工作机制设置模块,用于根据数据库集群中可用心跳磁盘的数量,设置所述备用心跳磁盘的工作机制;
维护模块,用于对所述备用心跳磁盘进行维护。
可选地,所述工作机制设置模块包括:
可用心跳磁盘数量采集单元,用于当心跳磁盘发生故障时,采集可用心跳磁盘的数量;
控制单元,用于当可用心跳磁盘的数量大于心跳磁盘总数量的二分之一时,不启用备用心跳磁盘,且不触发踢除或重启服务器的动作;当可用心跳磁盘的数量小于或等于心跳磁盘总数量的二分之一,且备用心跳磁盘处于正常状态时,利用备用心跳磁盘替换故障心跳磁盘;以及,当可用心跳磁盘的数量小于或等于心跳磁盘总数量的二分之一,且备用心跳磁盘处于失效状态时,触发踢除或重启服务器的动作。
可选地,所述维护模块包括:
基本信息查询单元,用于查询集群中备用心跳磁盘的基本信息,所述基本信息包括:备用心跳磁盘序号、备用心跳磁盘名称、备用心跳磁盘状态以及是否已作为心跳磁盘;
添加单元,用于将备用心跳磁盘添加到数据库集群;
删除单元,用于将备用心跳磁盘从数据库集群从删除。
可选地,备用心跳磁盘配置模块对备用心跳磁盘数量的配置原则为:
备用心跳磁盘替换故障心跳磁盘后,可用心跳磁盘的数量大于心跳磁盘总数量的二分之一。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请提供一种基于备用心跳磁盘的数据库集群容灾方法,该方法包括:在数据库集群中配置备用心跳磁盘;根据数据库集群中可用心跳磁盘的数量,设置备用心跳磁盘的工作机制;以及对备用心跳磁盘进行维护。本申请通过在数据库集群中增加备用心跳磁盘,且根据数据库集群中可用心跳磁盘的数量设置备用心跳磁盘不同的工作机制,在不影响数据库集群的其他正常功能的基础上,实现备用心跳磁盘自动替换故障心跳磁盘,从而确保数据库集群的正常运行,进而提高数据库集群的稳定性。本申请中备用心跳磁盘的数量配置原则为:备用心跳磁盘替换故障心跳磁盘后,可用心跳磁盘的数量≥1/2心跳磁盘的总数量,因此能够确保数据库集群不会产生宕机现象,有利于提高数据库集群的工作效率,而且有利于进一步提高数据库集群的稳定性。通过本申请所提供的对备用心跳磁盘的维护方法,能够很方便地查看备用心跳磁盘的数量和状态,而且能够根据数据库集群的实际情况,对备用心跳磁盘进行添加和删除,有利于合理分配数据库集群的资源,以及提高数据库集群的灵活性。
本申请还提供一种基于备用心跳磁盘的数据库集群容灾系统,该系统包括备用心跳磁盘配置模块、工作机制设置模块和维护模块,通过备用心跳磁盘配置模块,为数据库集群增加备用心跳磁盘以及备用心跳磁盘的可选配置。通过工作机制设置模块,根据数据库集群中可用心跳磁盘的数量,灵活调整备用心跳磁盘和数据库集群的工作机制,确保可用心跳磁盘数量大于心跳磁盘总数量的一半,从而保证集群稳定运行。通过维护模块的设置,能够很方便地查看备用心跳磁盘的数量和状态,而且能够根据数据库集群的实际情况,对备用心跳磁盘进行添加和删除,有利于合理分配数据库集群的资源,以及提高数据库集群的灵活性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种基于备用心跳磁盘的数据库集群容灾方法的流程示意图;
图2为本申请实施例所提供的一种基于备用心跳磁盘的数据库集群容灾系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
为了更好地理解本申请,下面结合附图来详细解释本申请的实施方式。
实施例一
参见图1,图1为本申请实施例所提供的一种基于备用心跳磁盘的数据库集群容灾方法的流程示意图。由图1可知,本申请中的数据库集群容灾方法主要包括如下过程:
S1:在数据库集群中配置备用心跳磁盘。
也就是在数据库集群中配置备用心跳磁盘这一功能。具体地,可以在安装配置数据库集群选择心跳磁盘时,增加备用心跳磁盘的可选项。
具体地,步骤S1又包括如下过程:
S11:获取第一链路的信息。其中,第一链路为数据库集群中心跳磁盘与服务器之间的链路。
S12:配置第二链路的信息,且第二链路与第一链路不同。其中,第二链路为数据库集群中备用心跳磁盘与服务器之间的链路。
综合以上步骤S11-S12可以,在数据库集群中配置备用心跳磁盘时,需要确保备用心跳磁盘和心跳磁盘分别通过不同的链路与数据库集群中的服务器进行连接,从而能够确保备用心跳磁盘和心跳磁盘不占用一个链路,当心跳磁盘链路发生故障时,备用心跳磁盘链路可正常运行,因此能够大大降低两者同时发生故障的概率,有利于提高数据库集群的稳定性。
具体地,备用心跳磁盘和心跳磁盘采用不同链路与服务器连接,包括但不限于如下方法:
将心跳磁盘和备用心跳磁盘配置到数据库中集群的同一个存储中,但是心跳磁盘和备用心跳磁盘分别采用不同的链路与数据库集群中的服务器连接;
将心跳磁盘和备用心跳磁盘配置到数据库集群不同的存储中;或者,
在双存储互备的数据库集群中,将备用心跳磁盘配置到心跳磁盘数量较少的存储上,且备用心跳磁盘的数量与心跳磁盘数量较多的存储上的心跳磁盘数量相等。
本实施例中备用心跳磁盘的数量配置原则为:可用心跳磁盘的数量大于心跳磁盘总数量的二分之一。
在数据库集群正常时,备用心跳磁盘不参加脑裂的投票,而且备用磁盘心跳故障也不会对数据库集群产生任何影响。当数据库集群中某些心跳磁盘发生故障,导致故障心跳磁盘的数量超过心跳磁盘总数量的一半时,也就是可用心跳磁盘的数量小于或等于心跳磁盘总数量的二分之一时,备用心跳磁盘开始工作,备用心跳磁盘代替故障心跳磁盘参与脑裂投票。备用心跳磁盘启用后,故障心跳磁盘的数量就不会超过心跳磁盘总数量的一半,因此,能够避免因为磁盘心跳失效而造成的数据库集群宕机情况,有利于提高数据库集群的稳定性。
由于服务器集群中心跳磁盘的数量通常为1、3、5三种奇数情形,在双存储互备的容灾环境中,备用心跳磁盘数量为:1≤备用心跳磁盘数量≤3,且备用心跳磁盘数量为自然数。
备用心跳磁盘的数量根据数据库集群的实际情况进行配置。例如:在使用ASM(Automatic Storage Management,自动存储管理)实现双存储容灾的环境中,假设双存储为A存储和B存储,那么A存储和B存储都需要配置心跳磁盘。心跳磁盘和备用心跳磁盘的数量可以如下配置:如果两个存储共配置3块心跳磁盘,那么在A存储分配1块心跳磁盘,在B存储分配2块心跳磁盘,然后再从A存储分配2块备用心跳磁盘。如果两个存储共配置5块心跳磁盘,那么在A存储分配2块心跳磁盘,在B存储分配3块心跳磁盘,然后再从A存储分配3块备用心跳磁盘。这种配置方法,才能保证备用心跳磁盘替换故障心跳磁盘后,使可用心跳磁盘数量不低于心跳磁盘总数量的一半。
S2:根据数据库集群中可用心跳磁盘的数量,设置备用心跳磁盘的工作机制。
数据库集群中增加备用心跳磁盘后,数据库集群会像对心跳磁盘的检测一样,按照设定的频率对备用心跳磁盘进行检测。当检测到备用心跳磁盘不可用时,只会将备用心跳磁盘状态标记为失效,而不会影响集群正常运行。
具体地,步骤S2又包括如下过程:
S21:当心跳磁盘发生故障时,数据库集群采集可用心跳磁盘的数量。
采集到数据库集群中当前可用心跳磁盘的数量后,根据当前可用心跳磁盘的数量分为以下S22、S23和S24三种情况。
S22:如果可用心跳磁盘的数量大于心跳磁盘总数量的二分之一,不启用备用心跳磁盘,且不触发踢除或重启服务器的动作。
S23:如果可用心跳磁盘的数量小于或等于心跳磁盘总数量的二分之一,且备用心跳磁盘处于正常状态,利用备用心跳磁盘替换故障心跳磁盘。
步骤S23又包括两种情况:
S231:如果备用磁盘的数量与可用心跳磁盘的数量之和大于心跳磁盘总数量的二分之一,不触发踢除或重启服务器的动作。
S232:如果备用磁盘的数量与可用心跳磁盘的数量之和小于或等于心跳磁盘总数量的二分之一,触发踢除或重启服务器的动作。
S24:如果可用心跳磁盘的数量小于或等于心跳磁盘总数量的二分之一,且备用心跳磁盘处于失效状态,触发踢除或重启服务器的动作。
继续参见图1可知,本实施中的方法还包括步骤S3:对备用心跳磁盘进行维护。
具体地,步骤S3包括如下过程:
S31:查询集群中备用心跳磁盘的基本信息。其中,基本信息包括:备用心跳磁盘序号、备用心跳磁盘名称、备用心跳磁盘状态以及是否已作为心跳磁盘。
可以采用命令crsctl query css baclkvotedisk查询以上基本信息。其中,备用心跳磁盘名称为磁盘的全路径名称,例如:/dev/raw/rawbak1。备用心跳磁盘状态为available、unavailable或replacing,available表示磁盘可读写,unavailable表示磁盘不可读写,replacing表示已经替换心跳磁盘。是否已做为心跳磁盘,表示当前的备用心跳磁盘是否已经用于替换心跳磁盘,该基本信息参数的值为Y/N。
S32:将备用心跳磁盘添加到数据库集群。
例如:使用命令crsctl add css backvotedisk'/dev/raw/rawbak1',能够将/dev/raw/rawbak1磁盘做为备用心跳磁盘添加到集群。添加后使用crsctl query cssbaclkvotedisk命令,可以查询到该备用心跳磁盘的基本信息。
S33:将备用心跳磁盘从数据库集群从删除。
使用命令crsctl delete css backvotedisk'/dev/raw/rawbak1',能够将/dev/raw/rawbak1磁盘从数据库集群的备用心跳磁盘中删除。本实施例中,available/unavailable/replacing三种状态的备用磁盘心跳均可以被删除。因为replacing状态的备用心跳磁盘已经替换心跳磁盘,所以在删除replacing状态的备用心跳磁盘时,需要确保备用心跳磁盘与可用心跳磁盘的数量之和大于心跳磁盘总数量的一半,否则会引数据库集群状态异常。
实施例二
在图1所示实施例的基础之上参见图2,图2为本申请实施例所提供的一种基于备用心跳磁盘的数据库集群容灾系统的结构示意图。
由图2可知,本实施例中的数据库集群容灾系统主要包括备用心跳磁盘配置模块、工作机制设置模块和维护模块。其中,备用心跳磁盘配置模块用于在数据库集群中配置备用心跳磁盘;工作机制设置模块用于根据数据库集群中可用心跳磁盘的数量,设置备用心跳磁盘的工作机制;维护模块用于对备用心跳磁盘进行维护。
本实施例中,备用心跳磁盘配置模块对备用心跳磁盘数量的配置原则为:备用心跳磁盘替换故障心跳磁盘后,可用心跳磁盘的数量大于心跳磁盘总数量的二分之一。
进一步地,工作机制设置模块包括:可用心跳磁盘数量采集单元和控制单元两部分。其中,可用心跳磁盘数量采集单元用于当心跳磁盘发生故障时,采集可用心跳磁盘的数量;控制单元根据不同的可用心跳磁盘数量设置不同给的工作机制,当可用心跳磁盘的数量大于心跳磁盘总数量的二分之一时,不启用备用心跳磁盘,且不触发踢除或重启服务器的动作;当可用心跳磁盘的数量小于或等于心跳磁盘总数量的二分之一,且备用心跳磁盘处于正常状态时,利用备用心跳磁盘替换故障心跳磁盘;以及,当可用心跳磁盘的数量小于或等于心跳磁盘总数量的二分之一,且备用心跳磁盘处于失效状态时,触发踢除或重启服务器的动作。
进一步地,维护模块包括:基本信息查询单元、添加单元和删除单元。其中,基本信息查询单元用于查询集群中备用心跳磁盘的基本信息,所述基本信息包括:备用心跳磁盘序号、备用心跳磁盘名称、备用心跳磁盘状态以及是否已作为心跳磁盘;添加单元用于将备用心跳磁盘添加到数据库集群;删除单元用于将备用心跳磁盘从数据库集群从删除。
本实施例中基于备用心跳磁盘的数据库集群容灾系统的工作原理和工作方法,在图1所示的实施例中已经详细阐述,两个实施例之间可以互相参照,在此不再赘述。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于备用心跳磁盘的数据库集群容灾方法,其特征在于,所述方法包括:
在数据库集群中配置备用心跳磁盘;
根据数据库集群中可用心跳磁盘的数量,设置所述备用心跳磁盘的工作机制;
对所述备用心跳磁盘进行维护。
2.根据权利要求1所述的一种基于备用心跳磁盘的数据库集群容灾方法,其特征在于,备用心跳磁盘的数量配置原则为:
备用心跳磁盘替换故障心跳磁盘后,可用心跳磁盘的数量大于心跳磁盘总数量的二分之一。
3.根据权利要求1所述的一种基于备用心跳磁盘的数据库集群容灾方法,其特征在于,所述根据数据库集群中可用心跳磁盘的数量,设置所述备用心跳磁盘的工作机制的方法,包括:
当心跳磁盘发生故障时,数据库集群采集可用心跳磁盘的数量;
如果可用心跳磁盘的数量大于心跳磁盘总数量的二分之一,不启用备用心跳磁盘,且不触发踢除或重启服务器的动作;
如果可用心跳磁盘的数量小于或等于心跳磁盘总数量的二分之一,且备用心跳磁盘处于正常状态,利用备用心跳磁盘替换故障心跳磁盘;
如果可用心跳磁盘的数量小于或等于心跳磁盘总数量的二分之一,且备用心跳磁盘处于失效状态,触发踢除或重启服务器的动作。
4.根据权利要求3所述的一种基于备用心跳磁盘的数据库集群容灾方法,其特征在于,如果可用心跳磁盘的数量小于或等于心跳磁盘总数量的二分之一,且备用心跳磁盘处于正常状态,利用备用心跳磁盘替换故障心跳磁盘的方法,包括:
如果备用磁盘的数量与可用心跳磁盘的数量之和大于心跳磁盘总数量的二分之一,不触发踢除或重启服务器的动作;
如果备用磁盘的数量与可用心跳磁盘的数量之和小于或等于心跳磁盘总数量的二分之一,触发踢除或重启服务器的动作。
5.根据权利要求1所述的一种基于备用心跳磁盘的数据库集群容灾方法,其特征在于,对所述备用心跳磁盘进行维护的方法,包括:
查询集群中备用心跳磁盘的基本信息,所述基本信息包括:备用心跳磁盘序号、备用心跳磁盘名称、备用心跳磁盘状态以及是否已作为心跳磁盘;
将备用心跳磁盘添加到数据库集群;
将备用心跳磁盘从数据库集群从删除。
6.根据权利要求1-5中任一所述的一种基于备用心跳磁盘的数据库集群容灾方法,其特征在于,所述在数据库集群中配置备用心跳磁盘的方法,包括:
获取第一链路的信息,所述第一链路为数据库集群中心跳磁盘与服务器之间的链路;
配置第二链路的信息,且第二链路与第一链路不同,所述第二链路为数据库集群中备用心跳磁盘与服务器之间的链路。
7.一种基于备用心跳磁盘的数据库集群容灾系统,其特征在于,所述系统包括:
备用心跳磁盘配置模块,用于在数据库集群中配置备用心跳磁盘;
工作机制设置模块,用于根据数据库集群中可用心跳磁盘的数量,设置所述备用心跳磁盘的工作机制;
维护模块,用于对所述备用心跳磁盘进行维护。
8.根据权利要求7所述的一种基于备用心跳磁盘的数据库集群容灾系统,其特征在于,所述工作机制设置模块包括:
可用心跳磁盘数量采集单元,用于当心跳磁盘发生故障时,采集可用心跳磁盘的数量;
控制单元,用于当可用心跳磁盘的数量大于心跳磁盘总数量的二分之一时,不启用备用心跳磁盘,且不触发踢除或重启服务器的动作;当可用心跳磁盘的数量小于或等于心跳磁盘总数量的二分之一,且备用心跳磁盘处于正常状态时,利用备用心跳磁盘替换故障心跳磁盘;以及,当可用心跳磁盘的数量小于或等于心跳磁盘总数量的二分之一,且备用心跳磁盘处于失效状态时,触发踢除或重启服务器的动作。
9.根据权利要求7所述的一种基于备用心跳磁盘的数据库集群容灾系统,其特征在于,所述维护模块包括:
基本信息查询单元,用于查询集群中备用心跳磁盘的基本信息,所述基本信息包括:备用心跳磁盘序号、备用心跳磁盘名称、备用心跳磁盘状态以及是否已作为心跳磁盘;
添加单元,用于将备用心跳磁盘添加到数据库集群;
删除单元,用于将备用心跳磁盘从数据库集群从删除。
10.根据权利要求7-9中任一所述的一种基于备用心跳磁盘的数据库集群容灾系统,其特征在于,备用心跳磁盘配置模块对备用心跳磁盘数量的配置原则为:
备用心跳磁盘替换故障心跳磁盘后,可用心跳磁盘的数量大于心跳磁盘总数量的二分之一。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810600194.7A CN108897645B (zh) | 2018-06-12 | 2018-06-12 | 一种基于备用心跳磁盘的数据库集群容灾方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810600194.7A CN108897645B (zh) | 2018-06-12 | 2018-06-12 | 一种基于备用心跳磁盘的数据库集群容灾方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108897645A true CN108897645A (zh) | 2018-11-27 |
CN108897645B CN108897645B (zh) | 2021-07-27 |
Family
ID=64344413
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810600194.7A Active CN108897645B (zh) | 2018-06-12 | 2018-06-12 | 一种基于备用心跳磁盘的数据库集群容灾方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108897645B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112162886A (zh) * | 2020-09-18 | 2021-01-01 | 北京浪潮数据技术有限公司 | 一种后端存储设备切换方法、装置、设备和介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050080895A1 (en) * | 2003-10-14 | 2005-04-14 | Cook Steven D. | Remote activity monitoring |
CN102799394A (zh) * | 2012-06-29 | 2012-11-28 | 华为技术有限公司 | 一种实现高可用集群的心跳服务的方法及装置 |
CN103152397A (zh) * | 2013-02-06 | 2013-06-12 | 浪潮电子信息产业股份有限公司 | 一种多控存储系统设计方法 |
CN103744743A (zh) * | 2014-01-17 | 2014-04-23 | 浪潮电子信息产业股份有限公司 | 一种基于数据库rac模式心跳信号的冗余配置的方法 |
CN105045533A (zh) * | 2015-07-09 | 2015-11-11 | 上海爱数软件有限公司 | 适用于双控高可用存储系统的磁盘心跳收发方法 |
CN105681074A (zh) * | 2015-12-29 | 2016-06-15 | 北京同有飞骥科技股份有限公司 | 一种增强双机集群可靠、可用性的方法及装置 |
-
2018
- 2018-06-12 CN CN201810600194.7A patent/CN108897645B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050080895A1 (en) * | 2003-10-14 | 2005-04-14 | Cook Steven D. | Remote activity monitoring |
CN102799394A (zh) * | 2012-06-29 | 2012-11-28 | 华为技术有限公司 | 一种实现高可用集群的心跳服务的方法及装置 |
CN103152397A (zh) * | 2013-02-06 | 2013-06-12 | 浪潮电子信息产业股份有限公司 | 一种多控存储系统设计方法 |
CN103744743A (zh) * | 2014-01-17 | 2014-04-23 | 浪潮电子信息产业股份有限公司 | 一种基于数据库rac模式心跳信号的冗余配置的方法 |
CN105045533A (zh) * | 2015-07-09 | 2015-11-11 | 上海爱数软件有限公司 | 适用于双控高可用存储系统的磁盘心跳收发方法 |
CN105681074A (zh) * | 2015-12-29 | 2016-06-15 | 北京同有飞骥科技股份有限公司 | 一种增强双机集群可靠、可用性的方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112162886A (zh) * | 2020-09-18 | 2021-01-01 | 北京浪潮数据技术有限公司 | 一种后端存储设备切换方法、装置、设备和介质 |
CN112162886B (zh) * | 2020-09-18 | 2023-12-22 | 北京浪潮数据技术有限公司 | 一种后端存储设备切换方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108897645B (zh) | 2021-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106341454B (zh) | 跨机房多活分布式数据库管理系统和方法 | |
JP4606455B2 (ja) | ストレージ管理装置、ストレージ管理プログラムおよびストレージシステム | |
WO2017177941A1 (zh) | 主备数据库切换方法和装置 | |
CN102723094B (zh) | 高可靠易扩展的录像存储、检索方法及其系统 | |
US7921325B2 (en) | Node management device and method | |
CN106933843B (zh) | 数据库心跳检测方法以及装置 | |
CN109495312A (zh) | 基于仲裁盘和双链路的高可用集群的实现方法和系统 | |
CN109308227A (zh) | 故障检测控制方法及相关设备 | |
CN104536971A (zh) | 一种具备高可用性的数据库 | |
CN111858240B (zh) | 一种分布式存储系统的监控方法、系统、设备以及介质 | |
CN102394914A (zh) | 集群脑裂处理方法和装置 | |
CN109710456B (zh) | 一种数据恢复方法及装置 | |
JP2010129024A (ja) | データ分散制御プログラム、ストレージ管理プログラム、制御ノード、およびディスクノード | |
CN106777126B (zh) | 一种支持异构时序数据库的数据在线迁移方法 | |
CN106484565A (zh) | 多数据中心间的数据同步方法及相关设备 | |
US8423776B2 (en) | Storage systems and data storage method | |
CN109446169A (zh) | 一种双控磁盘阵列共享文件系统 | |
CN109039723A (zh) | 基于数据库集群的网络维护方法及系统 | |
CN108897645A (zh) | 一种基于备用心跳磁盘的数据库集群容灾方法和系统 | |
US9443196B1 (en) | Method and apparatus for problem analysis using a causal map | |
CN115102862B (zh) | 一种用于sdn设备的自动同步方法及装置 | |
CN112486716B (zh) | 计算机io hung事件的预警方法、装置、设备和介质 | |
CN115328735A (zh) | 一种基于容器化应用管理系统的故障隔离方法和系统 | |
CN109254880A (zh) | 一种处理数据库宕机的方法及装置 | |
CN103116474B (zh) | 一种用于数据恢复及自修复的raid卡设计方法 |
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 |