CN107547306A - 一种数据同步恢复方法、装置及服务器 - Google Patents
一种数据同步恢复方法、装置及服务器 Download PDFInfo
- Publication number
- CN107547306A CN107547306A CN201710599793.7A CN201710599793A CN107547306A CN 107547306 A CN107547306 A CN 107547306A CN 201710599793 A CN201710599793 A CN 201710599793A CN 107547306 A CN107547306 A CN 107547306A
- Authority
- CN
- China
- Prior art keywords
- drbd
- server
- book server
- opposite end
- networks
- 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
Links
Abstract
本发明实施例提供了一种数据同步恢复方法、装置及服务器。该方法应用于分布式块设备复制DRBD双机集群中的任一服务器,包括:检测本服务器与对端服务器间的DRBD网络是否可用;若为否,停止与对端服务器间的DRBD数据同步;按照设定的时间间隔,检测DRBD网络是否连通,直至检测到DRBD网络连通;在检测到DRBD网络连通之后,调用本服务器的DRBD重连模块,将本服务器置于DRBD connected状态,以便本服务器恢复与对端服务器间的DRBD数据同步。可见,在DRBD网络恢复正常后,本方案以一种简便易行的方式实现了DRBD双机集群中的两个服务器间的DRBD数据同步。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种数据同步恢复方法、装置及服务器。
背景技术
在通信技术领域中,DRBD(Distributed Replicated Block Device,分布式块设备复制)双机集群的应用非常广泛。实际工作时,DRBD双机集群中的两个服务器间通过DRBD网络同步DRBD数据。
如果该DRBD网络断开,则两个服务器均会进入StandAlone(即独立的,这表示网络配置不可用,资源还没有被连接或是被管理断开)状态。之后,若该DRBD网络恢复正常,服务器间也没有感测的机制使得两个服务器间重新进行DRBD数据的同步。
发明内容
本发明实施例的目的在于提供一种数据同步恢复方法、装置及服务器,从而在DRBD网络恢复正常后,以一种简便易行的方式实现DRBD双机集群中的两个服务器间的DRBD数据同步。
第一方面,本发明实施例提供了一种数据同步恢复方法,应用于分布式块设备复制DRBD双机集群中的任一服务器,所述方法包括:
检测本服务器与对端服务器间的DRBD网络是否可用;
若为否,停止与对端服务器间的DRBD数据同步;
按照设定的时间间隔,检测所述DRBD网络是否连通,直至检测到所述DRBD网络连通;
在检测到所述DRBD网络连通之后,调用本服务器的DRBD重连模块,将本服务器置于DRBD connected状态,以便本服务器恢复与对端服务器间的DRBD数据同步。
第二方面,本发明实施例提供了一种数据同步恢复装置,应用于分布式块设备复制DRBD双机集群中的任一服务器,所述装置包括:
第一检测模块,用于检测本服务器与对端服务器间的DRBD网络是否可用;
停止模块,用于在所述检测模块的检测结果为否的情况下,停止与对端服务器间的DRBD数据同步;
第二检测模块,用于按照设定的时间间隔,检测所述DRBD网络是否连通,直至检测到所述DRBD网络连通;
恢复模块,用于在检测到所述DRBD网络连通之后,调用本服务器的DRBD重连模块,将本服务器置于DRBD connected状态,以便本服务器恢复与对端服务器间的DRBD数据同步。
第三方面,本发明实施例提供了一种服务器,其特征在于,处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述方法步骤。
本方案中,在检测到DRBD网络不可用(例如DRBD网络的底层断开)后,本服务器停止与对端服务器间的DRBD数据同步。之后,本服务器自动检测DRBD网络是否连通,直至检测到DRBD网络连通。在检测到DRBD网络连通后,本服务器自动调用自身的DRBD重连模块,将自身置于DRBD connected状态,以恢复与对端服务器间的DRBD数据同步。可以看出,本方案中,在DRBD网络恢复正常后,本服务器自动恢复与对端服务器间的DRBD数据同步,即该过程是由本服务器自动处理的,无需人工手动干预,这样可以较好地保证DRBD双机集群长久安全的运行。
可见,在DRBD网络恢复正常后,本方案以一种非常简便易行的方式实现了DRBD双机集群中的两个服务器间的DRBD数据同步。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为DRBD双机集群的系统构架示意图;
图2为本发明实施例所提供的一种数据同步恢复方法的流程图;
图3为本发明实施例所提供的一种数据同步恢复方法的又一流程图;
图4为本发明实施例所提供的一种数据同步恢复装置的结构框图;
图5为本发明实施例所提供的一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术存在的问题,本发明实施例提供了一种数据同步恢复方法、装置及服务器。
下面首先对本发明实施例所提供的一种数据同步恢复方法进行说明。
需要说明的是,本发明实施例所提供的一种数据同步恢复方法应用于DRBD双机集群中的任一服务器。
为了便于本领域技术人员更好地理解本方案,下面结合图1,对DRBD双机集群的系统构架进行说明。
如图1所示,DRBD双机集群中包括两个或两个以上的服务器,服务器间通过三类网络保持通信连接。服务器中具体包括主服务器和从服务器,从服务器可以为一个,也可以为多个。本实施例中仅以图1中的从服务器为一个服务器的情况为例进行说明,可见,这种情况下,DRBD双机集群中包括两个服务器。
其中,两个服务器分别为服务器A和服务器B,在正常工作状态下,服务器A和服务器B中的一者为主服务器,另一者为从服务器,从服务器一般作为主服务器的备用服务器,用于在主服务器断电或者故障的情况下接管主服务器的业务。并且,服务器A和服务器B的角色还会根据实际情况进行切换。
三类网络分别是DRBD网络、集群网络和业务网络。
DRBD网络位于服务器A的数据端口(数据端口1)和服务器B的数据端口(数据端口2)之间,其用于实现服务器A和服务器B间的DRBD数据同步。
集群网络位于服务器A的心跳端口(心跳端口1)和服务器B的心跳端口(心跳端口2)之间,其用于实现服务器A和服务器B间互通心跳信息。
业务网络位于服务器A的业务端口(业务端口1)与业务网络交换机,以及服务器B的业务端口(业务端口2)与业务网络交换机之间,以实现服务器A、服务器B分别与业务网络交换机之间的报文交互。
可选的,本方案中,服务器A和服务器B还可以通过业务网络与对端互通心跳信息,以实现心跳的冗余。
参见图2,图中示出了本发明实施例所提供的一种数据同步恢复方法的流程图。如图2所示,该方法可以包括如下步骤:
步骤S201,检测本服务器与对端服务器间的DRBD网络是否可用;若检测到本服务器与对端服务器间的DRBD网络不可用,执行步骤S202。
需要说明的是,步骤S201的具体实现形式多样,下面进行举例介绍。
在本发明实施例的一种具体实施方式中,步骤S201,包括:
步骤S2011,确定本服务器是否处于DRBD connected状态,并Ping对端服务器的IP地址;
步骤S2012,若本服务器未处于DRBD connected状态,或者无法Ping通对端服务器的IP地址,确定本服务器与对端服务器间的DRBD网络不可用。
对于DRBD双机集群中的任一服务器而言,若其要正常实施DRBD数据同步操作,通常需要同时满足以下两个条件:
第一,DRBD网络在底层(物理层)是连通的;
第二,本服务器处于DRBD connected状态(这表示DRBD已经建立连接,数据镜像现在可用),即DRBD网络在上层处于正常状态。
这样,本服务器可以确定自身是否处于DRBD connected状态,并Ping对端服务器的IP地址,并根据确定出的状态及Ping IP地址的结果来确定本服务器与对端服务器间的DRBD网络是否可用。
需要指出的是,如果本服务器能够Ping通对端服务器的IP地址,这说明本服务器与对端服务器间能够进行正常的报文交互,由此确定DRBD网络在物理层是连通的。相反,如果本服务器无法Ping通对端服务器的IP地址,那么,DRBD网络在物理层是不连通的。
因此,如果本服务器确定出自身处于DRBD connected状态,并且,本服务器能够Ping通对端服务器的IP地址,这说明DRBD网络不仅在上层处于正常状态,其在底层也是连通的。这样,本服务器与对端服务器间能够正常地进行DRBD数据同步,因此,本服务器能够确定出自身与对端服务器间的DRBD网络是可用的,本服务器无需执行后续的步骤S202。
如果本服务器确定出自身未处于DRBD connected状态,或者,本服务器无法Ping通对端服务器的IP地址,这说明DRBD网络要么在上层未处于正常状态,要么在底层是不连通的。这样,本服务器与对端服务器间根本不能正常地进行DRBD数据同步,因此,本服务器能够确定出自身与对端服务器间的DRBD网络是不可用的,本服务器会执行后续的步骤S202。
步骤S202,停止与对端服务器间的DRBD数据同步。
在执行步骤S202时,如果本服务器为主服务器,那么,本服务器停止与对端服务器间的DRBD数据同步是指:本服务器停止通过自身的数据端口发出DRBD数据;如果本服务器为从服务器,那么,本服务器停止与对端服务器间的DRBD数据同步是指:本服务器停止通过自身的数据端口准备接收DRBD数据并存储接收到的DRBD数据。
步骤S203,按照设定的时间间隔,检测DRBD网络是否连通,直至检测到DRBD网络连通。
其中,设定的时间间隔可以为1秒、10秒、30秒或者1分钟,当然,设定的时间间隔的取值并不局限于此,具体可以根据实际情况来确定,本实施例对此不做任何限定。
在步骤S203中,本服务器也可以Ping对端服务器的IP地址,并根据Ping IP地址的结果来确定DRBD网络是否连通,具体判断过程参照步骤S201中的说明即可,在此不再赘述。
步骤S204,在检测到DRBD网络连通之后,调用本服务器的DRBD重连模块,将本服务器置于DRBD connected状态,以便本服务器恢复与对端服务器间的DRBD数据同步。当本服务器调用自身的DRBD重连模块,将自身置于DRBD connected状态之后,DRBD网络在上层恢复为正常状态。这时,DRBD网络在上层处于正常状态,DRBD网络在底层也是连通的,因此,DRBD网络当前是可用的,本服务器可以恢复与对端服务器间的DRBD数据同步。具体地,如果本服务器为主服务器,那么,本服务器恢复通过自身的数据端口发出DRBD数据;如果本服务器为从服务器,那么,本服务器恢复通过自身的数据端口接收DRBD数据并存储接收到的DRBD数据。
本方案中,在检测到DRBD网络不可用(例如DRBD网络的底层断开)后,本服务器停止与对端服务器间的DRBD数据同步。之后,本服务器自动检测DRBD网络是否连通,直至检测到DRBD网络连通。在检测到DRBD网络连通后,本服务器自动调用自身的DRBD重连模块,将自身置于DRBD connected状态,以恢复与对端服务器间的DRBD数据同步。可以看出,本方案中,在DRBD网络恢复正常后,本服务器自动恢复与对端服务器间的DRBD数据同步,即该过程是由本服务器自动处理的,无需人工手动干预,这样可以较好地保证DRBD双机集群长久安全的运行。
可见,在DRBD网络恢复正常后,本方案以一种非常简便易行的方式实现了DRBD双机集群中的两个服务器间的DRBD数据同步。
一般而言,DRBD双机集群中的两个服务器间的DRBD网络断开后,DRBD会存在脑裂现象,即两个服务器均成为主角色并同时进行数据读写,这样会导致两个服务器均存在部分新的DRBD数据,这种情况下DRBD网络恢复,只能选择一台服务器上的DRBD数据对外提供服务,然而两个服务器发生了DRBD数据分裂,导致两个服务器中的DRBD数据均不完整。
因此,基于上述问题,在本发明实施例的一种具体实施方式中,检测本服务器与对端服务器间的DRBD网络是否可用之后,该方法还包括:
步骤S301,若本服务器与对端服务器间的DRBD网络不可用,在本服务器为从服务器的情况下,将本服务器中的DRBD数据置于过期状态;
步骤S302,当接收到主从切换通知时,若检测到DRBD网络不可用,且本服务器中的DRBD数据为过期状态时,拒绝主从切换。
对于本服务器而言,若其检测到自身与对端服务器间的DRBD网络不可用,这说明DRBD双机集群中的两个服务器间无法继续进行正常的DRBD数据同步了。这时,本服务器可以确定自身的角色(即确定自身是主服务器还是从服务器)。如果本服务器确定出自身为从服务器,此时,其可以将本服务器中的DRBD数据置于过期状态。可以看出,只有作为备用服务器的从服务器中的DRBD数据才可能置于过期状态。
本实施例中,当从服务器接收到主从切换通知时,若检测到DRBD网络不可用且自身的DRBD数据为过期状态,会拒绝主从切换,从而防止两个服务器均成为主角色,导致其中一个服务器采用过期的DRBD数据对外提供服务。
可选地,在从服务器将自身的DRBD数据置于过期状态后,当从服务器接收到对端服务器(即主服务器)同步的DRBD数据时,则确定DRBD网络恢复,则从服务器可以令自身的DRBD数据退出过期状态。这样,如果从服务器后续切换为主服务器,其可以利用自身的DRBD数据正常对外提供服务。
可以看出,本实施例可以较好地避免两个服务器均成为主服务器,从而有效地避免了脑裂现象的出现,此外,本实施例还有效地避免了DRBD双机集群采用过期的DRBD数据对外提供服务。
在本发明实施例的一种具体实施方式中,检测本服务器与对端服务器间的DRBD网络是否可用之前,该方法还包括:
步骤S401,Ping DRBD双机集群对应的网关设备的IP地址;若Ping通网关设备的IP地址,则执行步骤S201,即检测本服务器与对端服务器间的DRBD网络是否可用;
否则,即若无法Ping通网关设备的IP地址,执行步骤S402。
步骤S402,在本服务器为主服务器的情况下,通过本服务器的心跳端口发出主从切换通知。
主从切换通知用于指示对端服务器执行主从切换操作。其中,主从切换操作可以为主服务器切换为从服务器,也可以为从服务器切换为主服务器。
本实施例中,在检测本服务器与对端服务器间的DRBD网络是否可用之前,本服务器可以Ping DRBD双机集群对应的网关设备的IP地址。
如果本服务器能够Ping通网关设备的IP地址,这说明本服务器与网关设备间可以正常进行报文交互,那么,本服务器与业务网络交换机间的业务网络是可用的。这种情况下,若本服务器当前为主服务器,或者,本服务器后续切换为主服务器,本服务器上的DRBD数据均可对外提供服务,也就是说,整个DRBD双机集群能够正常对外提供服务。因此,本服务器可以执行后续检测本服务器与对端服务器间的DRBD网络是否可用的步骤。
如果本服务器无法Ping通网关设备的IP地址,这说明本服务器与网关设备间无法正常进行报文交互,那么,本服务器与业务网络交换机间的业务网络是不可用的。这种情况下,一旦本服务器为主服务器,整个DRBD双机集群将无法正常对外提供服务。有鉴于此,在本服务器与业务网络交换机间的业务网络不可用的情况下,本服务器可以首先确定自身的角色(即确定自身是主服务器还是从服务器)。
如果本服务器确定出自身为主服务器,本服务器可以通过自身的心跳端口发出用于指示对端服务器执行主从切换操作的主从切换通知。当对端服务器接收到该主从切换通知后,对端服务器会将自身由从服务器切换为主服务器,这样,作为当前的主服务器的对端服务器上的DRBD数据能够对外提供服务,整个DRBD双机集群能够正常对外提供服务。
如果本服务器确定出自身为从服务器,此时,本服务器与业务网络交换机间的业务网络不可用并不会影响到对端服务器上的DRBD数据对外提供服务。这样,整个DRBD双机集群仍能够正常对外提供服务。
可以看出,本实施例能够保证DRBD双机集群正常对外提供服务。
在本发明实施例的一种具体实施方式中,该方法还可以包括:
在检测到DRBD网络不可用或者无法ping通网关设备的IP地址时,通过本服务器的业务端口发出用于表征相应网络不可用的告警信号。
本实施例中,当本服务器检测到DRBD网络不可用时,其可以通过自身的业务端口发出用于表征DRBD网络不可用的告警信息。具体地,该用于表征DRBD网络不可用的告警信号可以通过邮件方式发送至管理员的邮箱、通过短信方式发送至管理员的信箱,或者以应用消息方式推送至管理员持有的终端上的应用。当管理员接收到该告警信号后,管理员可以及时采取相应措施,以使该DRBD网络恢复正常。
类似地,当本服务器无法Ping通网关设备的IP地址时,其可以通过自身的业务端口发出应用于表征自身与业务网络交换机间的业务网络不可用的告警信号。具体地,该用于表征该业务网络不可用的告警信号也可以通过邮件方式发送至管理员的邮箱、通过短信方式发送至管理员的信箱,或者以应用消息方式推送至管理员持有的终端上的应用。当管理员接收到该告警信号后,管理员也可以及时采用相应措施,以使该业务网络恢复正常。
本实施例中,在业务网络或者DRBD网络出现故障时,本服务器会发出相应的告警信号,以便于管理员根据该告警信号采取相应措施,从而较好地保证整个DRBD双机集群的可靠运行。
参见图3,图中示出了本发明实施例所提供的一种数据同步恢复方法的又一流程图。如图3所示,该方法可以包括如下步骤:
步骤S31,确定本服务器是否能够Ping通网关设备的IP地址;若为否,执行步骤S32,若为是,执行步骤S34。
步骤S32,确定本服务器失效。
步骤S33,在本服务器为主服务器时,通过心跳端口发出主从切换通知,并向管理员发送用于表征相应业务网络不可用的告警邮件。
其中,该主从切换通知用于指示对端服务器执行主从切换操作。
步骤S34,确定本服务器是否处于DRBD connected状态,并确定是否能够Ping通对端服务器的IP地址。
步骤S35,若步骤S34中的任一确定结果为否,在自身为从服务器时,将本地的DRBD数据置于过期状态。
步骤S36,若步骤S34中的任一确定结果为否,向管理员发送用于表征DRBD网络不可用的告警邮件。
步骤S37,若步骤S34中的任一确定结果为否,停止与对端服务器间的DRBD数据同步。
步骤S38,按照设定的时间间隔,检测DRBD网络是否连通;若为是,执行步骤S39。
步骤S39,调用DRBD重连模块,将本服务器置于DRBD connected状态,以恢复与对端服务器间的DRBD数据同步。
以图1中的服务器A为例,在执行本实施例所提供的一种数据同步恢复方法时,其可以确定自身是否能够Ping通DRBD双机集群对应的网关设备的IP地址。
如果服务器A无法Ping通网关设备的IP地址,其可以确定自身无法对外提供服务。这时,服务器A可以确定自身是否为主服务器,若为是,其可以通过心跳端口1发出主从切换通知,以使得服务器B通过心跳端口2接收到该通知信息后执行主从切换操作,从而保证DRBD双机集群正常对外提供服务。在确定出自身无法对外提供服务时,服务器A还可以向管理员发送用于表征服务器A与业务网络交换机间的业务网络不可用的告警邮件,以使得管理员在接收到该告警邮件后及时采取相应措施,从而恢复该业务网络。
如果服务器A能够Ping通网关设备的IP地址,其可以确定自身是否处于DRBDconnected状态,并确定是否能够Ping通对端服务器的IP地址。如果任一确定结果为否,这说明服务器A和服务器B间的DRBD网络不可用,服务器A和服务器B无法正常进行DRBD数据同步,此时服务器A可以执行三种应对措施。
第一种应对措施中,服务器A可以在自身为从服务器时,将本地的DRBD数据置于过期状态。当服务器A接收到主从切换通知时,若其检测到自身和服务器B间的DRBD网络不可用,且本地的DRBD数据为过期状态,此时,服务器A会拒绝执行主从切换,即不执行主从切换操作,这样一方面可以避免DRBD双机集群中出现脑裂现象,另一方面也可以避免DRBD双机集群采用过期的DRBD数据对外提供服务。
第二种应对措施中,服务器A可以向管理员发送用于表征DRBD网络不可用的告警邮件,以使得管理员在接收到该告警邮件后及时采取相应措施,从而恢复DRBD网络。
第三种应对措施中,服务器A可以停止与对端服务器间的数据同步。接下来,服务器A可以按照设定的时间间隔,检测DRBD网络是否连通,直至检测到DRBD网络恢复连通。在检测到DRBD网络恢复连通后,服务器A可以调用自身的DRBD重连模块,将自身置于DRBDconnected状态,以恢复与服务器B间的DRBD数据同步。
本实施例中,如果DRBD双机集群中的三类网络中仅有DRBD网络不可用,那么,服务器A和服务器B均会按照设定的时间间隔,检测DRBD网络是否可用,并在DRBD网络恢复后,自动恢复与对端间的DRBD数据同步。可见,本实施例可以在DRBD网络恢复正常后,以一种非常简便易行的方式实现DRBD双机集群中的两个服务器间的DRBD数据同步。
如果三类网络中仅有集群网络不可用,由于DRBD双机集群配置了心跳冗余,这时,服务器A和服务器B间还可以通过业务网络正常地互通心跳信息,这样可以较好地避免DRBD双机集群中出现脑裂现象。
如果三类网络中有至少一类网络不可用,且该至少一类不可用的网络中包括业务网络,那么,在该不可用的业务网络位于从服务器与业务网络交换机之间时,主服务器的工作不会受到影响,DRBD双机集群能够正常对外提供服务;在该不可用的业务网络位于主服务器与业务网络交换机之间时,从服务器会由于接收到来自主服务器的主从切换通知或者由于一段时间内未接收到来自主服务器的心跳信息而执行主从切换操作,从而保证DRBD双机集群能够正常对外提供服务。
容易看出,本实施例中,DRBD双机集群可以较为稳定地运行,DRBD双机集群可以最大限度地对外提供服务。
综上,在DRBD网络恢复正常后,本实施例以一种非常简便易行的方式实现了DRBD双机集群中的两个服务器间的DRBD数据同步。
下面对本发明实施例所提供的一种数据同步恢复装置进行说明。
需要说明的是,本发明实施例所提供的一种数据同步恢复装置应用于分布式块设备复制DRBD双机集群中的任一服务器。
参见图4,图中示出了本发明实施例所提供的一种数据同步恢复装置的结构框图。如图4所示,该装置包括:
第一检测模块41,用于检测本服务器与对端服务器间的DRBD网络是否可用;
停止模块42,用于在第一检测模块41的检测结果为否的情况下,停止与对端服务器间的DRBD数据同步;
第二检测模块43,用于按照设定的时间间隔,检测DRBD网络是否连通,直至检测到DRBD网络连通;
恢复模块44,用于在检测到DRBD网络连通之后,调用本服务器的DRBD重连模块,将本服务器置于DRBD connected状态,以便本服务器恢复与对端服务器间的DRBD数据同步。
本方案中,在检测到DRBD网络不可用(例如DRBD网络的底层断开)后,本服务器停止与对端服务器间的DRBD数据同步。之后,本服务器自动检测DRBD网络是否连通,直至检测到DRBD网络连通。在检测到DRBD网络连通后,本服务器自动调用自身的DRBD重连模块,将自身置于DRBD connected状态,以恢复与对端服务器间的DRBD数据同步。可以看出,本方案中,在DRBD网络恢复正常后,本服务器自动恢复与对端服务器间的DRBD数据同步,即该过程是由本服务器自动处理的,无需人工手动干预,这样可以较好地保证DRBD双机集群长久安全的运行。
可见,在DRBD网络恢复正常后,本方案以一种非常简便易行的方式实现了DRBD双机集群中的两个服务器间的DRBD数据同步。
在本发明实施例的一种具体实施方式中,该装置还包括:
重置模块,用于在检测本服务器与对端服务器间的DRBD网络是否可用之后,检测结果为否时,在本服务器为从服务器的情况下,将本服务器中的DRBD数据置于过期状态;
切换模块,用于当接收到主从切换通知时,若检测到DRBD网络不可用,且本服务器中的DRBD数据为过期状态时,拒绝主从切换。
在本发明实施例的一种具体实施方式中,第一检测模块,包括:
第一确定子模块,用于确定本服务器是否处于DRBD connected状态,并Ping对端服务器的IP地址;
第二确定子模块,用于若本服务器未处于DRBD connected状态,或者无法Ping通对端服务器的IP地址,确定本服务器与对端服务器间的DRBD网络不可用。
在本发明实施例的一种具体实施方式中,该装置还包括:
Ping地址模块,用于在检测本服务器与对端服务器间的DRBD网络是否可用之前,PingDRBD双机集群对应的网关设备的IP地址;
触发模块,用于若Ping通网关设备的IP地址,触发第一检测模块检测本服务器与对端服务器间的DRBD网络是否可用;
第一发送模块,用于若无法Ping通网关设备的IP地址,在本服务器为主服务器的情况下,通过本服务器的心跳端口发出主从切换通知。
在本发明实施例的一种具体实施方式中,该装置还包括:
第二发送模块,用于在检测到DRBD网络不可用或者无法ping通网关设备的IP地址时,通过本服务器的业务端口发出用于表征相应网络不可用的告警信号。
综上,在DRBD网络恢复正常后,本实施例以一种非常简便易行的方式实现了DRBD双机集群中的两个服务器间的DRBD数据同步。
下面对本发明实施例所提供的一种服务器进行说明。
参见图5,图中示出了本发明实施例所提供的一种服务器的结构示意图。如图5所示,该服务器可以包括:处理器51、存储有机器可执行指令的机器可读存储介质52。处理器51与机器可读存储介质52可经由系统总线53通信。并且,通过读取并执行机器可读存储介质52中与数据同步恢复控制逻辑对应的机器可执行指令,处理器51可执行上文描述的方法步骤。
具体地,如图2所示,处理器51执行的方法步骤可以包括:
步骤S201,检测本服务器与对端服务器间的DRBD网络是否可用;若检测到本服务器与对端服务器间的DRBD网络不可用,执行步骤S202。
步骤S202,停止与对端服务器间的DRBD数据同步。
步骤S203,按照设定的时间间隔,检测DRBD网络是否连通,直至检测到DRBD网络连通。
步骤S204,在检测到DRBD网络连通之后,调用本服务器的DRBD重连模块,将本服务器置于DRBD connected状态,以便本服务器恢复与对端服务器间的DRBD数据同步。
需要说明的是,对于DRBD双机集群中的任一服务器而言,其可以具有三块网卡。其中,第一块网卡与DRBD网络对应,服务器间的DRBD数据同步需要依赖于该网卡实现;第二块网卡与集群网络对应,服务器间的心跳信息同步需要依赖于该网卡实现;第三块网卡与业务网络对应,服务器与业务网络交换机之间的报文交互需要依赖于该网卡实现。
在本发明实施例的一种具体实施方式中,在步骤S201,即检测本服务器与对端服务器间的DRBD网络是否可用之后,处理器51执行的方法步骤还可以包括:
步骤S301,若本服务器与对端服务器间的DRBD网络不可用,在本服务器为从服务器的情况下,将本服务器中的DRBD数据置于过期状态;
步骤S302,当接收到主从切换通知时,若检测到DRBD网络不可用,且本服务器中的DRBD数据为过期状态时,拒绝主从切换。
在本发明实施例的一种具体实施方式中,在执行步骤S201时,处理器51执行的方法步骤具体可以包括:
步骤S2011,确定本服务器是否处于DRBD connected状态,并Ping对端服务器的IP地址;
步骤S2012,若本服务器未处于DRBD connected状态,或者无法Ping通对端服务器的IP地址,确定本服务器与对端服务器间的DRBD网络不可用。
在本发明实施例的一种具体实施方式中,在执行步骤S201之前,处理器51执行的方法步骤还可以包括:
步骤S401,Ping DRBD双机集群对应的网关设备的IP地址;若Ping通网关设备的IP地址,则执行步骤S201,即检测本服务器与对端服务器间的DRBD网络是否可用;
否则,即若无法Ping通网关设备的IP地址,执行步骤S402。
步骤S402,在本服务器为主服务器的情况下,通过本服务器的心跳端口发出主从切换通知。
在本发明实施例的一种具体实施方式中,处理器51执行的方法步骤还可以包括:
在检测到DRBD网络不可用或者无法ping通网关设备的IP地址时,通过本服务器的业务端口发出用于表征相应网络不可用的告警信号。
本方案中,在检测到DRBD网络不可用(例如DRBD网络的底层断开)后,本服务器停止与对端服务器间的DRBD数据同步。之后,本服务器自动检测DRBD网络是否连通,直至检测到DRBD网络连通。在检测到DRBD网络连通后,本服务器自动调用自身的DRBD重连模块,将自身置于DRBD connected状态,以恢复与对端服务器间的DRBD数据同步。可以看出,本方案中,在DRBD网络恢复正常后,本服务器自动恢复与对端服务器间的DRBD数据同步,即该过程是由本服务器自动处理的,无需人工手动干预,这样可以较好地保证DRBD双机集群长久安全的运行。
可见,在DRBD网络恢复正常后,本方案以一种非常简便易行的方式实现了DRBD双机集群中的两个服务器间的DRBD数据同步。
需要说明的是,本文中提到的机器可读存储介质可以是任何电子、磁性、光学或其他物理存储装置,可以包括或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Acess Memory随机存取存储器)、易失存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (11)
1.一种数据同步恢复方法,其特征在于,应用于分布式块设备复制DRBD双机集群中的任一服务器,所述方法包括:
检测本服务器与对端服务器间的DRBD网络是否可用;
若为否,停止与对端服务器间的DRBD数据同步;
按照设定的时间间隔,检测所述DRBD网络是否连通,直至检测到所述DRBD网络连通;
在检测到所述DRBD网络连通之后,调用本服务器的DRBD重连模块,将本服务器置于DRBD connected状态,以便本服务器恢复与对端服务器间的DRBD数据同步。
2.根据权利要求1所述的方法,其特征在于,所述检测本服务器与对端服务器间的DRBD网络是否可用之后,所述方法还包括:
若为否,在本服务器为从服务器的情况下,将本服务器中的DRBD数据置于过期状态;
当接收到主从切换通知时,若检测到所述DRBD网络不可用,且本服务器中的DRBD数据为过期状态时,拒绝主从切换。
3.根据权利要求1所述的方法,其特征在于,所述检测本服务器与对端服务器间的DRBD网络是否可用,包括:
确定本服务器是否处于DRBD connected状态,并Ping对端服务器的IP地址;
若本服务器未处于DRBD connected状态,或者无法Ping通对端服务器的IP地址,确定本服务器与对端服务器间的DRBD网络不可用。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述检测本服务器与对端服务器间的DRBD网络是否可用之前,所述方法还包括:
Ping所述DRBD双机集群对应的网关设备的IP地址;
若Ping通所述网关设备的IP地址,执行所述检测本服务器与对端服务器间的DRBD网络是否可用的步骤;
若无法Ping通所述网关设备的IP地址,在本服务器为主服务器的情况下,通过本服务器的心跳端口发出主从切换通知。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在检测到所述DRBD网络不可用或者无法ping通所述网关设备的IP地址时,通过本服务器的业务端口发出用于表征相应网络不可用的告警信号。
6.一种数据同步恢复装置,其特征在于,应用于分布式块设备复制DRBD双机集群中的任一服务器,所述装置包括:
第一检测模块,用于检测本服务器与对端服务器间的DRBD网络是否可用;
停止模块,用于在所述检测模块的检测结果为否的情况下,停止与对端服务器间的DRBD数据同步;
第二检测模块,用于按照设定的时间间隔,检测所述DRBD网络是否连通,直至检测到所述DRBD网络连通;
恢复模块,用于在检测到所述DRBD网络连通之后,调用本服务器的DRBD重连模块,将本服务器置于DRBD connected状态,以便本服务器恢复与对端服务器间的DRBD数据同步。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
重置模块,用于在检测本服务器与对端服务器间的DRBD网络是否可用之后,检测结果为否时,在本服务器为从服务器的情况下,将本服务器中的DRBD数据置于过期状态;
切换模块,当接收到主从切换通知时,若检测到所述DRBD网络不可用,且本服务器中的DRBD数据为过期状态时,拒绝主从切换。
8.根据权利要求6所述的装置,其特征在于,所述第一检测模块,具体用于:
第一确定子模块,用于确定本服务器是否处于DRBD connected状态,并Ping对端服务器的IP地址;
第二确定子模块,用于若本服务器未处于DRBD connected状态,或者无法Ping通对端服务器的IP地址,确定本服务器与对端服务器间的DRBD网络不可用。
9.根据权利要求6-8中任一项所述的装置,其特征在于,所述装置还包括:
Ping地址模块,用于在检测本服务器与对端服务器间的DRBD网络是否可用之前,Ping所述DRBD双机集群对应的网关设备的IP地址;
触发模块,用于若Ping通所述网关设备的IP地址,触发所述第一检测模块;
第一发送模块,用于若无法Ping通所述网关设备的IP地址,在本服务器为主服务器的情况下,通过本服务器的心跳端口发出主从切换通知。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第二发送模块,用于在检测到所述DRBD网络不可用或者无法ping通所述网关设备的IP地址时,通过本服务器的业务端口发出用于表征相应网络不可用的告警信号。
11.一种服务器,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求1-5任一的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710599793.7A CN107547306A (zh) | 2017-07-21 | 2017-07-21 | 一种数据同步恢复方法、装置及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710599793.7A CN107547306A (zh) | 2017-07-21 | 2017-07-21 | 一种数据同步恢复方法、装置及服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107547306A true CN107547306A (zh) | 2018-01-05 |
Family
ID=60971138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710599793.7A Pending CN107547306A (zh) | 2017-07-21 | 2017-07-21 | 一种数据同步恢复方法、装置及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107547306A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109743313A (zh) * | 2018-12-28 | 2019-05-10 | 广东中兴新支点技术有限公司 | 防止伪节点加入的方法、系统、服务器及计算机可读介质 |
CN111262941A (zh) * | 2020-01-17 | 2020-06-09 | 杭州涂鸦信息技术有限公司 | 重连云端服务器的方法及电子设备 |
CN114416885A (zh) * | 2022-04-01 | 2022-04-29 | 广东睿江云计算股份有限公司 | 基于drbd的数据同步方法、装置、计算机设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770408A (zh) * | 2008-12-30 | 2010-07-07 | 赛门铁克公司 | 使用基于对象的存储设备在文件系统上使用覆盖对象进行故障处理 |
WO2011053595A1 (en) * | 2009-10-26 | 2011-05-05 | Amazon Technologies, Inc. | Monitoring of replicated data instances |
CN102081721A (zh) * | 2009-11-30 | 2011-06-01 | 株式会社Ntt都科摩 | 数据控制设备和数据控制方法 |
CN102457400A (zh) * | 2011-06-09 | 2012-05-16 | 中标软件有限公司 | 一种防止磁盘镜像资源发生脑裂的方法 |
CN102761615A (zh) * | 2012-06-29 | 2012-10-31 | 浪潮(北京)电子信息产业有限公司 | 一种实现远程复制系统数据同步的方法及装置 |
-
2017
- 2017-07-21 CN CN201710599793.7A patent/CN107547306A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770408A (zh) * | 2008-12-30 | 2010-07-07 | 赛门铁克公司 | 使用基于对象的存储设备在文件系统上使用覆盖对象进行故障处理 |
WO2011053595A1 (en) * | 2009-10-26 | 2011-05-05 | Amazon Technologies, Inc. | Monitoring of replicated data instances |
CN102081721A (zh) * | 2009-11-30 | 2011-06-01 | 株式会社Ntt都科摩 | 数据控制设备和数据控制方法 |
CN102457400A (zh) * | 2011-06-09 | 2012-05-16 | 中标软件有限公司 | 一种防止磁盘镜像资源发生脑裂的方法 |
CN102761615A (zh) * | 2012-06-29 | 2012-10-31 | 浪潮(北京)电子信息产业有限公司 | 一种实现远程复制系统数据同步的方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109743313A (zh) * | 2018-12-28 | 2019-05-10 | 广东中兴新支点技术有限公司 | 防止伪节点加入的方法、系统、服务器及计算机可读介质 |
CN111262941A (zh) * | 2020-01-17 | 2020-06-09 | 杭州涂鸦信息技术有限公司 | 重连云端服务器的方法及电子设备 |
WO2021143533A1 (zh) * | 2020-01-17 | 2021-07-22 | 杭州涂鸦信息技术有限公司 | 重连云端服务器的方法及电子设备 |
CN111262941B (zh) * | 2020-01-17 | 2021-08-20 | 杭州涂鸦信息技术有限公司 | 重连云端服务器的方法及电子设备 |
CN114416885A (zh) * | 2022-04-01 | 2022-04-29 | 广东睿江云计算股份有限公司 | 基于drbd的数据同步方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106330475B (zh) | 一种通信系统中管理主备节点的方法和装置及高可用集群 | |
CN102710457B (zh) | 一种跨网段的n+1备份方法及装置 | |
CN111158962B (zh) | 一种异地容灾方法、装置、系统、电子设备及存储介质 | |
CN107547306A (zh) | 一种数据同步恢复方法、装置及服务器 | |
US8880703B2 (en) | Address distribution method, device and system thereof | |
CN105187249A (zh) | 一种故障恢复方法及装置 | |
CN108073540A (zh) | I2c总线系统、异常设备排查方法 | |
CN115269248B (zh) | 双节点集群下防止脑裂方法和装置、电子设备和存储介质 | |
CN108804260B (zh) | 一种srio系统倒换的方法和装置 | |
CN106533736A (zh) | 一种网络设备重启方法和装置 | |
CN103944750A (zh) | 一种绑定网卡故障处理方法及装置 | |
CN111581287A (zh) | 一种数据库管理的控制方法、系统和存储介质 | |
CN105490847B (zh) | 一种私有云存储系统中节点故障实时检测及处理方法 | |
CN107547550A (zh) | 认证方法和装置 | |
CN101110608B (zh) | 一种主备板数据检测的方法、系统和装置 | |
CN113794597A (zh) | 告警信息处理方法、系统、电子设备及存储介质 | |
CN207992997U (zh) | I2c总线系统 | |
CN105790995B (zh) | 一种业务自动切换方法和装置 | |
CN101098217A (zh) | 一种同异步串口备份的系统、装置及切换方法 | |
CN103560913A (zh) | 一种容灾切换方法、设备及系统 | |
CN106682040A (zh) | 数据管理方法及装置 | |
CN114301763A (zh) | 分布式集群故障的处理方法及系统、电子设备及存储介质 | |
CN110569303B (zh) | 一种适用于多种云环境的MySQL应用层高可用系统及方法 | |
CN101202658A (zh) | 多主机系统的服务接管系统及方法 | |
CN100508627C (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180105 |