一种容灾备份方法及装置与流程

文档序号:12123427阅读:205来源:国知局
一种容灾备份方法及装置与流程

本发明涉及通信技术领域,尤其涉及一种容灾备份方法及装置。



背景技术:

随着信息技术的快速发展,信息安全越来越成为各行业各领域中广受关注的问题,虽然计算机的发展已经为人们提供了比以往任何时候更实时更快捷的信息服务,实现了信息存储和管理的自动化,但是计算机的广泛应用所带来的隐患也是非常大的。一旦计算机系统遭到不可逆的破坏,将会导致巨大损失。为了在灾后快速恢复数据,现有技术中一般采用数据备份的方法,包括手动备份、自动备份等方法,NetApp SnapMirror软件具有经过验证的高效率、精简性及合理成本,因此多年来该软件一直是在各种NetApp存储环境中进行复制和灾难恢复的首选技术,虽然NetApp SnapMirror可以实现数据高效的异地复制及备份,但是需要人工手动控制数据的异地传输。



技术实现要素:

为解决上述技术问题,本发明提供了一种容灾备份方法及装置。

本发明一方面提供了一种容灾备份方法,所述容灾备份方法包括:

判断备份节点是否处于数据同步中断状态;

当所述备份节点处于数据同步中断状态时,判断主节点中最后更新数据的时间与系统时间的时间差是否小于第一时间阈值;

如果所述主节点中最后更新数据的时间与系统时间的时间差小于第一时间阈值,启动所述备份节点从所述主节点处同步数据;

轮询检测所述备份节点,当所述备份节点完成数据同步时,停止所述备份节点同步数据。

在一实施例中,当所述备份节点完成数据同步时,若无法停止所述备份节点,所述容灾备份方法还包括:轮询检测所述主节点一预设时间,如果所述主节点在所述预设时间内停止接收外部数据,则停止所述备份节点同步数据。

在一实施例中,所述容灾备份方法还包括:如果所述主节点的状态在所述预设时间内未停止接收外部数据,则发出告警信息,进行容灾报错。

在一实施例中,当所述备份节点完成数据同步时,所述容灾备份方法还包括:

判断所述备份节点中最后同步数据的时间与所述主节点中最后更新数据的时间的时间差是否小于第二时间阈值;

当所述备份节点中最后同步数据的时间与所述主节点中最后更新数据的时间的时间差小于所述第二时间阈值时,停止所述备份节点同步数据。

在一实施例中,在所述主节点中最后更新数据的时间与系统时间的时间差小于第一时间阈值,启动所述备份节点从所述主节点处同步数据后,所述容灾备份方法还包括:判断所述备份节点是否仍处于数据同步中断状态,如果所述备份节点仍处于数据同步中断状态,重新启动所述备份节点进行数据同步。

在一实施例中,所述容灾备份方法还包括:在启动所述备份节点后开始计时,并检测所述备份节点当前进行数据同步的整体时间是否大于第三时间阈值,如果是,则发出告警信息,进行容灾报错。

在一实施例中,所述容灾备份方法还包括:判断备份节点是否处于数据同步中断状态的结果为否时,发出告警信息,进行容灾报错。

在一实施例中,所述容灾备份方法还包括:当所述备份节点中最后同步数据的时间与所述主节点中最后更新数据的时间的时间差大于所述第二时间阈值时,使所述备份节点继续同步数据。

本发明实施例另一方面还提供了一种容灾备份装置,所述容灾备份装置包括:

备份节点访问单元,用于判断备份节点是否处于数据同步中断状态;

主节点访问单元,用于判断主节点中最后更新数据的时间与系统时间的时间差是否小于第一时间阈值;

备份节点启动单元,用于当所述主节点中最后更新数据的时间与系统时间的时间差小于第一时间阈值时,启动所述备份节点从所述主节点处同步数据;

轮询控制单元,用于轮询检测所述备份节点,当所述备份节点完成数据同步时,停止所述备份节点同步数据。

在一实施例中,当所述备份节点完成数据同步时,若无法停止所述备份节点,所述轮询控制单元还用于:轮询检测所述主节点一预设时间,如果所述主节点在所述预设时间内停止接收外部数据,则停止所述备份节点同步数据。

在一实施例中,所述容灾备份装置还包括:报错单元,用于当所述主节点的状态在所述预设时间内未停止接收外部数据时发出告警信息,进行容灾报错。

在一实施例中,所述轮询控制单元还包括:

时间差判断模块,用于判断所述备份节点中最后同步数据的时间与所述主节点中最后更新数据的时间的时间差是否小于第二时间阈值;

节点中断模块,用于当所述备份节点中最后同步数据的时间与所述主节点中最后更新数据的时间的时间差小于所述第二时间阈值时,停止所述备份节点同步数据。

在一实施例中,所述轮询控制单元还包括:

判断模块,当所述备份节点启动单元启动备份节点后,用于判断所述备份节点是否仍处于数据同步中断状态;

重新启动模块,用于当所述备份节点仍处于数据同步中断状态时,重新启动所述备份节点进行数据同步。

在一实施例中,所述容灾备份装置还包括一计时单元,用于在启动所述备份节点后开始计时,并检测所述备份节点当前进行数据同步的整体时间是否大于第三时间阈值,当所述备份节点当前进行数据同步的整体时间大于所述第三时间阈值时,所述报错单元发出告警信息,进行容灾报错。

在一实施例中,所述报错单元还用于当备份节点访问单元的输出结果为否时,发出告警信息,进行容灾报错。

在一实施例中,所述轮询控制单元还包括:更新模块,用于当所述时间差判断模块的输出结果为否时,使所述备份节点继续同步数据。

在一实施例中,所述容灾备份装置设置于所述备份节点中,所述容灾备份装置通过SSH远程访问所述主节点,其中,SSH表示安全外壳协议。

在一实施例中,所述容灾备份装置设置于所述主节点中,所述容灾备份装置通过SSH远程访问所述备份节点。

在一实施例中,所述容灾备份装置于所述备份节点及主节点之外独立设置。

利用本发明实施例提供的容灾备份方法及装置,可以对各受控端节点进行远程控制,实现异地数据复制及备份的流程化和自动化。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例容灾备份方法的流程示意图;

图2为本发明实施例又一容灾备份方法的流程示意图;

图3为本发明实施例容灾备份装置的结构示意图;

图4为本发明实施例轮询控制单元4的结构示意图;

图5为本发明实施例容灾备份装置的架构图;

图6为本发明实施例又一容灾系统的控制结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明供了一容灾备份方法的实施例,如图1所示,该方法主要包括以下步骤:

步骤S1、判断备份节点是否处于数据同步中断状态。

如过备份节点当前处于数据同步中断状态,说明符合继续同步数据的要求,如果步骤S1的输出结果为否,说明备份节点不符合继续同步数据的要求,需要发出告警信息,进行容灾报错(步骤S6),不再执行以下步骤。

步骤S2、当备份节点处于数据同步中断状态时,进一步判断主节点中最后更新数据的时间与系统时间的时间差是否小于第一时间阈值。

由于在本发明实施例一开始是由主节点来接收外部数据的,而备份节点从主节点中复制数据,其数据源是主节点,通过步骤S2访问主节点,确定主节点最后更新数据的时间与系统时间的时间差是否小于一预设时间阈值,如果是的话,说明主节点中最后更新数据的时间与外部数据源基本同步,可以执行后续步骤。因此可知该步骤的主要作用是确定主节点中所获取的外部数据是否为最新的数据。

在一实施例中,上述的时间阈值通常取15分钟,即允许主节点中最后更新数据的时间与系统当前时间的时间差在15分钟内,超过15分钟则发出告警信息,进行容灾报错(步骤S6)。

步骤S3、如果主节点中最后更新数据的时间与系统时间的时间差小于第一时间阈值,启动备份节点从主节点处同步数据。

如果主节点中最后更新数据的时间与系统当前时间相比的时间差不超过15分钟,则可以将主节点最后更新的的外部数据作为最新数据,启动备份节点从主节点处进行数据同步。

步骤S4、轮询检测备份节点,判断备份节点是否完成数据同步。

步骤S5、当备份节点完成数据同步完成时,停止备份节点同步数据。

本发明实施例通过SSH远程控制备份节点去主节点中获取的外部数据,来保证数据同步到备份节点上,在实施本发明实施例时,只需要对一个备份节点进行管理即可,管理对象简单,实现了异地数据复制及备份的流程化和自动化。

在一实施例中,当备份节点完成数据同步时,通常地可由步骤S5停止备份节点,使其状态变为数据同步中断状态。但是如果此时主节点正在接收外部数据,即主节点处于数据传输状态,此时即使备份节点完成了数据同步,也有可能无法将其停止,为了防止重复报错,给主节点预设了一缓冲时间,轮询检测主节点该预设缓冲时间,如果主节点的状态在该预设缓冲时间内转换为空闲状态(即停止接收外部数据),那么才有可能成功关闭备份节点。如果主节点的状态在上述预设时间内未停止接收外部数据,则发出告警信息,进行容灾报错。

图2也为本发明实施例提供的容灾备份方法的流程示意图。如图2所示,在轮询检测备份节点与停止备份节点同步数据之间还包括一判断步骤S7,用于判断备份节点是否仍处于数据同步中断状态,如果备份节点仍处于数据同步中断状态,说明步骤S3未能成功启动备份节点,此时需要重新启动备份节点进行数据同步。

如图2所示,当备份节点完成数据同步时,该容灾备份方法还包括一步骤S8,判断备份节点中最后同步数据的时间与主节点中最后更新数据的时间的时间差是否小于一时间阈值,并当备份节点中最后同步数据的时间与主节点中最后更新数据的时间的时间差小于该时间阈值时,停止备份节点同步数据。该步骤主要用于在备用节点完成数据复制后进行校验,确保备份节点最后更新的数据是主节点中的最新外部数据。当备份节点中最后同步数据的时间与主节点中最后更新数据的时间的时间差大于该时间阈值时,使备份节点继续同步数据。其中,此处的时间阈值可以取5分钟,也可以取15分钟,但一般不小于5分钟。

本发明实施例提供的容灾备份方法还包括一计时步骤(图2中未示出),当启动备份节点从主节点同步数据的时候,为了避免备份节点挂起(即hang死),本发明实施例还设定了一时间阈值,在启动备份节点的同时开始计时,检测备份节点当前进行数据同步的整体时间是否大于这一时间阈值,如果是的话就进行容灾报错。该时间阈值通常取40分钟,即,备份节点从主节点处进行数据同步的整体过程所用时间应控制在40分钟内,超出此时间阈值说明数据同步过程出现了特殊情况,某些步骤可能发生hang死情况,此阈值的检查是保障整个数据同步过程可控的兜底方案。

基于与图1及图2所示的容灾备份方法相同的发明构思,发明实施例还提供了一种容灾备份装置,如下面实施例所述。由于该容灾备份装置解决问题的原理与容灾备份方法相似,因此该容灾备份装置的实施可以参见容灾备份方法的实施,重复之处不再赘述。

图3为本发明实施例容灾备份装置的结构示意图,如图3所示,该容灾备份装置包括:备份节点访问单元1、主节点访问单元2、备份节点启动单元3及轮询控制单元4。其中,备份节点访问单元1用于判断备份节点是否处于数据同步中断状态;主节点访问单元2用于判断主节点中最后更新数据的时间与系统时间的时间差是否小于第一时间阈值;备份节点启动单元3用于当主节点中最后更新数据的时间与系统时间的时间差小于第一时间阈值时,启动备份节点从主节点处同步数据;轮询控制单元4用于轮询检测备份节点,当备份节点完成数据同步时,停止备份节点同步数据。

在一实施例中,当备份节点完成数据同步时,若无法停止备份节点,那么上述轮询控制单元4还可以用于轮询检测主节点一预设时间,如果主节点在该预设时间内停止接收外部数据,则可以停止备份节点同步数据。

在一实施例中,上述的容灾备份装置还包括报错单元5用于当主节点的状态在上述预设时间内未停止接收外部数据时发出告警信息,进行容灾报错。

如图4所示,上述的轮询控制单元4包括一时间差判断模块41及节点中断模块42。时间差判断模块41用于判断备份节点中最后同步数据的时间与主节点中最后更新数据的时间的时间差是否小于第二时间阈值;节点中断模块42用于当备份节点中最后同步数据的时间与主节点中最后更新数据的时间的时间差小于上述第二时间阈值时,停止备份节点同步数据。上述的第二时间阈值可以取不小于5分钟。

在一实施例中,轮询控制单元4还包括一判断模块43和一重新启动模块44,判断模块43用于当备份节点启动单元3启动备份节点后,用于判断备份节点是否仍处于数据同步中断状态;重新启动模块44用于当备份节点仍处于数据同步中断状态时,重新启动备份节点进行数据同步。在备份节点启动单元3启动备份节点后,如果判断模块43的判断结果为备份节点仍然为数据同步中断状态,说明备份节点未能成功启动,需要重新启动模块44去重启备份节点进行数据同步。

在一实施例中,上述的灾备份装置还包括一计时单元6,计时单元6用于在启动备份节点后开始计时,并检测备份节点当前进行数据同步的整体时间是否大于第三时间阈值,当备份节点当前进行数据同步的整体时间大于第二时间阈值时,报错单元5发出告警信息,进行容灾报错。

在一实施例中,当备份节点访问单元1的输出结果为否时(即备份节点初始的状态并非为数据同步中断状态),报错单元6会发出告警信息,进行容灾报错。

在一实施例中,轮询控制单元4还包括一更新模块45,用于当时间差判断模块41的输出结果为否时,跳转到备份节点启动单元3,启动备份节点使其继续从主节点处同步数据。

利用本发明实施例提供的容灾备份方法及装置,可以对各受控端节点进行远程控制,实现异地数据复制及备份的流程化和自动化。

上述的容灾备份装置可以设置在备份节点中,也可以设置在主节点中,或者也可以独立设置于主节点与备份节点之外。当容灾备份装置设置在备份节点中时,容灾备份装置可以通过SSH(Secure Shell,安全外壳协议)远程访问所述主节点。容灾备份装置设置于主节点中时,可以通过SSH远程访问备份节点。当容灾备份装置于备份节点及主节点之外独立设置时,可以通过SSH远程访问主节点及备份节点。

图5为本发明实施例提供的容灾备份装置的其中一种配置结构图。本发明仅以容灾备份装置独立于主节点、备份节点之外设置为例进行说明,并非对本发明进行限制。如图5所示,主节点用于获取外部源数据,备份节点用于从主节点处复制数据以进行数据同步,容灾备份装置独立于主节点、备份节点之外设置,与备份节点及主节点分别通过网络连接,可以通过SSH对主、备份节点分别进行访问,用于控制备份节点从主节点处复制数据。

为了更好地理解本发明实施例提供的容灾备份方法、服务器及系统,下面结合具体的例子进行说明。

NetApp SnapMirror软件具有经过验证的高效率、精简性及合理成本,因此多年来该软件一直是在各种NetApp存储环境中进行复制和灾难恢复的首选技术。可以利用Network Appliance建立在Data ONTAPP操作系统基础上的NetApp SnapMirror软件来搭建容灾备份系统中的备份节点和主节点,利用容灾备份装置监控并远程控制NetApp SnapMirror软件中的备份节点及主节点,按照图6所示控制结构图实现远程数据同步。在本发明实施例中,分别将NetApp SnapMirror软件部署在北京的两个节点:A节点和B节点分别作为主节点和备份节点。

首先,检查容灾备份装置的相关参数,如果参数检查正常,则进一步检查B节点的状态是否为数据同步中断(即broken_off)状态。如果B节点不是broken_off状态,则报错退出,不再执行以下操作。

如果B节点处于broken_off状态,则符合继续同步数据的要求,进一步检查A节点最后更新数据的时间与系统时间的时间差是否小于15分钟。如果A节点最后更新数据的时间比系统时间慢超过15分钟,则继续轮询A节点20次,每次间隔30秒,如果十分钟后A节点最后更新数据的时间还是未同步到当前时间15分钟以内,则报错退出。

如果A节点最后更新数据的时间与系统时间的时间差小于15分钟,或者对A节点轮询多次后发现A节点中最后更新数据的时间与系统时间的时间差已小于15分钟,则说明A节点已获得最新的外部数据,继续执行后续步骤,启动B节点,开始从A节点进行数据同步(即启动snapmirrior复制)。

在启动B节点的同时开始计时,检测B节点进行数据同步的整体时间是否小于40分钟,如果超过40分钟说明系统在数据同步过程中某些模块可能发生hang死,则报错退出。

如果B节点进行数据同步的整体时间不超过40分钟,则继续进行后续步骤,轮询检查B节点和A节点的状态。判断B节点和A节点是否为“snapmirrored&transferring”状态(即B节点处于数据同步完成(snapmirrored)状态并且A节点处于数据传输(transferring)状态),如果是,则等待1分钟再去检查A节点和B节点的状态,此处在检查B节点和A节点状态之前,需要再次对B节点的数据同步的整体时间是否小于40分钟再进行一次判断,只有当B节点的整体数据同步时间仍小于40分钟时才再次检查B节点和A节点的状态。A节点处于transferring状态是指A节点当前正在接收外部数据,若此时停止B节点,有可能不会成功,为了保证成功停止B节点,该实施例中添加了对A节点检查的步骤,这种方式是对本发明方法和装置相关实施例的进一步补充,并非作为本发明的限制。

如果B节点和A节点不是“snapmirrored&transferring”状态,则进一步判断B节点和A节点是否为“snapmirrored&idle”状态(即B节点处于snapmirrored状态并且A节点处于空闲(idle)状态)。A节点处于idle状态是指A节点既不接收外部数据,同时也不向B节点传输数据,若此时停止B节点,则不会发生停止不了的情况。

如果B节点和A节点的状态不是“snapmirrored&idle”状态,则进一步判断B节点及A节点是否为“broken_off&idle”状态(即B节点处于数据同步中断状态并且A节点处于空闲状态),如果B节点及A节点为“broken_off&idle”状态,说明B节点未启动成功,需要重新启动B节点来进行数据同步。在具体实施时,也可以仅对B节点做进一步判断,当B节点为数据同步中断状态时,说明B节点未能成功启动,需要重新启动B节点来同步数据。

如果B节点和A节点的状态为“snapmirrored&idle”状态,则说明数据同步完毕,进一步检查B节点上最后同步数据的时间与A节点最后更新数据的时间的时间差是否小于5分钟,如果小于5分钟,则说明数据同步成功,如果大于5分钟则执行更新(update)命令,使B节点继续从A节点同步数据。当B节点中最后同步数据的时间与A节点中最后更新数据的时间的差小于5分钟时,通常认为B节点已经成功同步A节点中最新的数据。

本发明实施例通过将容灾应用服务器和NetApp SnapMirror软件进行结合,实现了管理中心对各受控端节点的远程控制,并且实现了流程化和自动化,并且自动化监控NetApp SnapMirror软件的数据同步状态,实现了高效自动化的远程数据同步,使远程SSH数据交互成为可控,实现了远程命令的自动化执行。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1