一种基于分布式存储的企业级容灾系统及容灾控制方法与流程

文档序号:11215956阅读:397来源:国知局
一种基于分布式存储的企业级容灾系统及容灾控制方法与流程

本发明涉及系统容灾相关技术领域,特别是指一种基于分布式存储的企业级容灾系统及容灾控制方法。



背景技术:

分布式存储系统广泛应用于交互式网络电视、视频监控、搜索等需要用到海量存储的领域。针对云计算和大数据趋势下企业数据存储和虚拟化应用需求海量增长,基于业界标准,采用全分布式架构,提供高性能、高可靠、高扩展、容灾的分布式存储系统,能够有效解决复杂环境下的it业务需求。

分布式存储系统通常由机柜组成,每个机柜内放置有多个机框,每个放置有作为存储节点的存储服务器。现有技术中,为确保数据存储的安全性,通常会采用一定的数据存储策略对分布式存储系统中同一数据进行备份存储.但是当系统发生容灾是这些措施难以保证数据的安全性。尤其是针对于企业级容灾系统,通常需要上千万的投资,并且仅能保护少量核心数据。而目前常见的云数据中心环境不再适用企业级容灾系统,难以保证企业数据的安全。

在实现本申请的过程中,发明人发现现有技术中至少存在以下问题:当前的容灾系统尤其是企业级容灾系统难以有效实现系统数据在灾难发生过程中的安全性以及保证系统服务的有效性。



技术实现要素:

有鉴于此,本发明的目的在于提出一种基于分布式存储的企业级容灾系统及容灾控制方法,能够提高系统数据的安全性并且能够维持系统有效运行。

基于上述目的本发明提供的一种基于分布式存储的企业级容灾系统,包括:

主数据中心,用于在正常情况下实现数据的存储及查询服务;

异地数据中心,用于作为主数据中心对应的远程镜像,所述异地数据中心中具有与主数据中心完全相同的数据;

数据库异步复制模块,用于通过异步复制的方式使得主数据中心与异地数据中心两者的数据库数据保持一致;

分布式存储镜像模块,用于通过镜像机制实现主数据中心与异地数据中心内分布式存储数据的异步复制,通过日志机制保证异步复制时数据的一致性;

灾难监测模块,用于监测主数据中心的相关信息,并且在灾难发生后向灾难恢复模块发送灾难信息;

灾难恢复模块,用于接收灾难监测模块发送的灾难信息,利用异地数据中心在网络层对主数据中心进行数据恢复。

可选的,所述主数据中心与异地数据中心之间采用专用数据线进行数据传输。

可选的,所述灾难监测模块还用于根据预设的规则和算法对主数据中心的相关信息进行处理,在灾难发生之前对用户或管理员发出警告或提示信息。

可选的,所述灾难监测模块还用于当灾难发生后,检测并判断主数据中心内的相关信息是否可用,若不可用才向灾难恢复模块发送灾难信息;

所述灾难恢复模块还用于向灾难监测模块发送灾难恢复状况信息;

所述灾难监测模块还用于根据灾难恢复模块发送的灾难恢复状况信息,将相关状态反馈给用户或者维护人员。

可选的,所述系统还包括网络切换模块,用于在灾难发生后将应用和服务的访问地址切换到异地数据中心。

本申请还提供了一种基于分布式存储的企业级容灾控制方法,包括:

监控主数据中心内的相关数据和信息并判断主数据中心数据是否异常;

若监测到数据异常,则调用灾难恢复模块使其处于激活可用状态;

校验异地数据中心与主数据中心分布式存储数据的一致性,以及异地数据中心与主数据中心数据库的一致性;

进行网络切换,将应用和服务的访问地址切换到异地数据中心;

利用灾难恢复模块对主数据中心进行数据恢复,恢复成功后返回信息给用户或维护人员;

根据用户指令或者恢复成功反馈信息,将网络地址再次切换到主数据中心。

可选的,所述判断主数据中心数据是否异常的步骤还包括:

按照预设策略或算法,判断数据是否异常;

若数据异常,进一步判断是否导致数据或者服务不可用,若是,则调用灾难恢复模块;否则,将异常信息反馈给用户或者维护人员。

可选的,所述调用灾难恢复模块的步骤还包括:

按照预设次数持续调用灾难恢复模块,直到调用成功,否则,反馈调用失败信息。

可选的,在校验一致性或者进行网络切换的过程中,若是发现不符合一致性或者网络切换失败,则返回相应的失败信息给用户或者维护人员。

从上面所述可以看出,本发明提供的基于分布式存储的企业级容灾系统及容灾控制方法通过设置一个主数据中心的远程镜像数据中心,即异地数据中心,使得即使本地数据中心发生灾难,异地数据也能够保证足够安全。通过数据库异步复制模块以及分布式存储镜像模块使得两个数据中心内的数据库数据以及分布式存储数据均保持实时更新,也即数据保持一致性。通过灾难监测模块监测主数据中心是否发生灾难并在灾难发生后及时通知灾难恢复模块,使得灾难恢复模块能够基于异地数据中心内的数据对主数据中心进行数据恢复。这样,使得整个系统具有较高的容灾能力,能够保障数据的安全和完整性。此外,所述系统还通过在灾难发生后以及数据恢复之前将主数据中心对应的应用和服务的访问地址切换到异地数据中心,使得系统能够立刻基于异地数据中心实现系统的正常应用访问和相关数据服务。因此,本申请所述基于分布式存储的企业级容灾系统及容灾控制方法能够提高系统数据的安全性并且能够维持系统有效运行。

附图说明

图1为本发明提供的基于分布式存储的企业级容灾系统的一个实施例的结构示意图;

图2为本发明提供的基于分布式存储的企业级容灾系统的另一个实施例的结构示意图;

图3为本发明提供的基于分布式存储的企业级容灾系统的一个实施例的设计原理示意图;

图4为本发明提供的分布式存储异地镜像复制原理示意图;

图5为本发明提供的正常数据访问原理示意图;

图6为本发明提供的灾难恢复期间数据访问原理示意图;

图7为本发明提供的基于分布式存储的企业级容灾控制方法的一个实施例的流程图;

图8为本发明提供的分布式存储数据副本读写原理设计示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。

基于当前企业级容灾系统存在的问题,本申请基于分布式存储的企业级容灾技术设计了一种全新的思路。在数据存储中,对分布式存储系统的数据进行远程镜像,以保证数据的实时性。同时在业务层,通过远程数据复制保证业务数据的实时同步。当发生数据中心异常时,灾难监测系统可以自动化的根据业务数据的情况,将主数据中心的业务系统快速在灾备数据中心拉起,并在网络层完成切换。

具体的,本申请所述企业级容灾系统一般分为主数据中心和异地数据中心,即备灾数据中心或者远程镜像数据中心。两个数据中心之间通过专线进行数据传输。本申请底层分布式存储通过镜像(mirroring)机制来保证两个数据中心之间分布式存储数据的一致性;数据库通过异步方式来保证两个数据中心之间数据库数据的一致性。通过灾难监测模块来监控数据中心的所有情况,确保在发生灾难时,第一时间让用户知道,并且通知灾难恢复模块,进行灾难恢复,在用户无感知的情况下,在网络层进行切换;保证了业务的连续性。

参照图1和图2所示,为本发明提供的基于分布式存储的企业级容灾系统的两个个实施例的结构示意图。所述基于分布式存储的企业级容灾系统包括:

主数据中心1,用于在正常情况下实现数据的存储及查询服务;也即,主数据中心为本地数据服务中心,是本地系统中的重要组成部分,在没有灾难发生时,所有的数据存储、服务均在主数据中心1实现。

异地数据中心2,用于作为主数据中心1对应的远程镜像,所述异地数据中心2中具有与主数据中心1完全相同的数据;为了灾难发生时不会同时影响到两个数据中心,通常将异地数据中心2设置在异地,保证两个数据中心具有一定的独立性。

数据库异步复制模块3,用于通过异步复制的方式使得主数据中心1与异地数据中心2两者的数据库数据保持一致;其中,异步复制采用集群复制方式,基于二进制日志(binlog)和全局唯一编号(gtid,globaltransactionid),只有成功的transaction才会写入binlog,而slave节点的复制不会影响master节点的事务处理;master和slave节点之间维护心跳信息,在master节点有更新时,会向slave节点发送通知,给出最新的binlog和gtid,slave节点进程根据最新消息对本地数据库进行更新。

分布式存储镜像模块4,用于通过镜像机制实现主数据中心与异地数据中心内分布式存储数据的异步复制,通过日志机制保证异步复制时数据的一致性;参照图4所示,为本发明提供的分布式存储异地镜像复制原理示意图。镜像(mirroring)机制可以使rbdimages在两个集群(cluster)之间被异步复制,使用rbdimage的日志(journaling)机制来保证异步复制时的数据一致性。

灾难监测模块5,用于监测主数据中心的相关信息,并且在灾难发生后向灾难恢复模块发送灾难信息;其中,灾难监测模块5可以设置为灾难监控客户端,可以监控主数据中心1的应用信息、数据库信息、分布式存储信息、网络信息、物理环境信息、操作系统信息等,根据预先设置的规则和相应的算法,在灾难发生前进行警告或者提示,在灾难发生确认后,若主数据中心不可用,则将灾难信息发送到灾难恢复模块6。并接受灾难恢复模块6返回的消息并且将相关消息返回给用户或者维护人员。

灾难恢复模块6,用于接收灾难监测模块5发送的灾难信息,利用异地数据中心2在网络层对主数据中心1进行数据恢复。其中,所述灾难恢复模块6可以设置为当发生灾难时,灾难监控客户端将发送灾难恢复指令,以及监控数据,灾难恢复客户端根据监控数据和灾难恢复策略进行恢复,包括切换分布式存储、切换数据库、切换应用层,这些恢复都是在网络层完成。

参照图3所示,为本发明提供的基于分布式存储的企业级容灾系统的一个实施例的设计原理示意图。由图可知,两个数据中心内的数据通过异步复制以及镜像机制实现了数据库以及分布数据两个方面的一致性。其中,osd(object-basedstoragedevice)为基于对象存储技术的对象存储设备。

由上述实施例可知,本申请所述基于分布式存储的企业级容灾系统通过设置一个主数据中心的远程镜像数据中心,即异地数据中心,使得即使本地数据中心发生灾难,异地数据也能够保证足够安全。通过数据库异步复制模块以及分布式存储镜像模块使得两个数据中心内的数据库数据以及分布式存储数据均保持实时更新,也即数据保持一致性。通过灾难监测模块监测主数据中心是否发生灾难并在灾难发生后及时通知灾难恢复模块,使得灾难恢复模块能够基于异地数据中心内的数据对主数据中心进行数据恢复。这样,使得整个系统具有较高的容灾能力,能够保障数据的安全和完整性。此外,所述系统还通过在灾难发生后以及数据恢复之前将主数据中心对应的应用和服务的访问地址切换到异地数据中心,使得系统能够立刻基于异地数据中心实现系统的正常应用访问和相关数据服务。因此,本申请所述基于分布式存储的企业级容灾系统能够提高系统数据的安全性并且能够维持系统有效运行。

在本申请一些可选的实施例中,所述主数据中心1与异地数据中心2之间采用专用数据线进行数据传输。这样,能够保证数据传输的稳定性和安全性。

在本申请一些可选的实施例中,所述灾难监测模块还用于根据预设的规则和算法对主数据中心的相关信息进行处理,在灾难发生之前对用户或管理员发出警告或提示信息。也即,可以通过一些灾难相关信息或信号的预测,提前感知可能发生的灾难,从而提示用户或维护人员提前准备。

在本申请一些可选的实施例中,所述灾难监测模块5还用于当灾难发生后,检测并判断主数据中心1内的相关信息是否可用,若不可用才向灾难恢复模块发送灾难信息;也即,当有一些灾难发生后并没有影响到主数据中心内的数据或者相关服务的使用时,可以不需要灾难恢复。

所述灾难恢复模块还用于向灾难监测模块发送灾难恢复状况信息;

所述灾难监测模块还用于根据灾难恢复模块发送的灾难恢复状况信息,将相关状态反馈给用户或者维护人员。这样,可以使得用户或者维护人员知道数据恢复状况,有利于后续相关操作。

在本申请一些可选的实施例中,系统还包括网络切换模块,用于在灾难发生后将应用和服务的访问地址切换到异地数据中心。这样,使得即使在灾难恢复期间,用户也可以进行正常的数据访问服务。

参照图5所示,为本发明提供的正常数据访问原理示意图。在未发生灾难前,应用和服务正常访问路径如下:用户通过网络访问应用或者服务,此应用或者服务在主数据中心部署。然后应用访问数据库,取得用户需要访问的所有数据,此数据库部署在主数据中心。应用访问分布式存储数据,如块存储、对象存储,次分布式存储也是部署在主数据中心。所有主数据中心的服务全部正常可用。

参照图6所示,为本发明提供的灾难恢复期间数据访问原理示意图。在灾难发生后,应用和服务正常访问路径已经切换到异地数据中心,访问路径如下:用户通过网络访问应用或者服务,此应用或者服务在异地数据中心部署。然后应用访问数据库,取得用户需要访问的所有数据,此数据库部署在异地数据中心。此应用访问分布式存储数据,如块存储、对象存储,次分布式存储也是部署在异地数据中心。所有异地数据中心的数据与主数据中心的数据一致。

参照图7所示,为本发明提供的基于分布式存储的企业级容灾控制方法的一个实施例的流程图。所述基于分布式存储的企业级容灾控制方法包括:

监控主数据中心内的相关数据和信息并判断主数据中心数据是否异常;

若监测到数据异常,则调用灾难恢复模块使其处于激活可用状态;

校验异地数据中心与主数据中心分布式存储数据的一致性,以及异地数据中心与主数据中心数据库的一致性;

进行网络切换,将应用和服务的访问地址切换到异地数据中心;

利用灾难恢复模块对主数据中心进行数据恢复,恢复成功后返回信息给用户或维护人员;

根据用户指令或者恢复成功反馈信息,将网络地址再次切换到主数据中心。

可选的,所述判断主数据中心数据是否异常的步骤还包括:

按照预设策略或算法,判断数据是否异常;

若数据异常,进一步判断是否导致数据或者服务不可用,若是,则调用灾难恢复模块;否则,将异常信息反馈给用户或者维护人员。

可选的,所述调用灾难恢复模块的步骤还包括:按照预设次数持续调用灾难恢复模块,直到调用成功,否则,反馈调用失败信息。

可选的,在校验一致性或者进行网络切换的过程中,若是发现不符合一致性或者网络切换失败,则返回相应的失败信息给用户或者维护人员。

在本申请另一些可选的实施例中,所述灾难控制方法或者处理流程如下:

(1)用户或者维护人员调用监控客户端,实时监控主数据中心服务。

(2)监控客户端对主数据中心进行实时监控,监控内容包括网络、存储、应用、物理环境等信息。

(3)根据相应的策略或者算法,监测数据是否发生异常,如果未发生异常,则继续监控,如果数据发生异常,导致环境或者服务不可用,则触发下一步流程,调用灾难恢复模块。

(4)如果调用灾难恢复模块失败,则进行重新调用灾难恢复模块,如果调用成功,则进入下一步流程。

(5)调用灾难恢复模块成功后,灾难恢复模块进行灾难恢复前准备。

(6)校验异地分布式存储一致性,如果校验失败,则返回失败信息到客户端或者用户,如果校验成功,则进入下一步。

(7)校验数据库一致性,如果校验失败,则返回失败信息到客户端或者用户,如果校验成功,则进入下一步。

(8)网络切换,当分布式存储和数据库一致性校验成功,则进行网络层切换,包括应用的访问地址、数据库地址、分布式存储地址。如果切换失败,则返回失败信息到客户端或者用户,如果切换成功,用户访问应用无感知的已经转移到了异地数据中心。

(9)灾难恢复成功后,返回成功信息到监控客户端或者用户。

最后根据用户控制或者自动将异地数据中心切换回到主数据中心。

通过上述控制或者流程,使得灾难发生后主数据中心不仅可以及时得到恢复,而且在恢复期间也可以基于异地数据中心数显数据的正常访问。

由上述实施例可知,本申请至少包括以下内容:(1)分布式存储的企业级存储多副本机制设计(2)分布式存储的企业级容灾技术数据复制网络的专有化设计(3)分布式存储的企业级容灾技术数据复制中断之后的续传设计(4)分布式存储的企业级容灾技术日志特性,为作用在存储卷上的每一个事务启用日志(5)分布式存储的企业级容灾技术日志特性存储卷,通过存储复制组进程复制该存储卷。

在本申请一些可选的实施例中,分布式存储异地镜像过程如下:(1)io进入块存储的存储卷的日志;(2)存储复制组服务进行同步,将本地分布式存储中存储卷日志信息同步到远程(异地)分布式存储集群的存储卷中。(3)存储复制组服务支持断点续传、支持多组复制,保证了数据的完整性和高效性。

在本申请一些可选的实施例中,参照图8所示,为本发明提供的分布式存储数据副本读写原理设计示意图。通过分布式存储的企业级存储多副本机制,开发完成针对保证可靠性对其存储的数据无差错地保存能力,对数据存储获得高可靠性,通过多副本技术将用户的数据在存储体中存放多份。这种情况下,只要在数据不是全部丢失,用户的数据就不会丢失。

在用户接口端计算出三个数据盘后,直接和主数据盘通信,发起写入操作。主数据盘收到请求后,分别向从数据盘发起写入操作。当从数据盘各自完成写入操作后,将分别向主数据盘发送确认信息。当主数据盘收到其他两个从数据盘的写入确认后,并自己也完成数据写入,则向用户接口确认数据写入操作完成。

此外本申请所述系统还包括:

存储复制组:设置对应高可用组站点的存储复制组的pools选择、设置存储复制组的复制方向、设置相关的存储复制组复制的参数,例如:复制块大小,断点续传、网络带宽参数设置等。可设置多存储复制组。

远程集群管理:存储复制组功能需要在同伴集群(peerclusters)中的每一个对应的pool上进行配置,可设定自动容灾某个存储池内的所有存储卷也支持指定容灾单一存储卷的一个特定子集。

存储复制组的强一致性:采用一致性哈希算法或者数据同步算法,保证两端集群数据的一致性,保证数据可用性和安全性。其中,一致性哈希算法给系统中每个节点分配一个随机token,这些token构成一个哈希环。执行数据存放操作时,先计算key的哈希值,然后存放到顺时针方向第一个大于或者等于该哈希值的token所在的节点。

存储复制组监控:存储复制的过程进程中的状态、流量、进度、时间的信息进行监控保证数据的可靠性。

断点续传:在实现断点续传的整个过程中,保证整个分布式存储灾备系统的安全稳定,同时保证数据的一致性和完整性。等待网络恢复后。无需重新开始原始量数据的传输,而是从断网时刻起,继续传输剩余数据,全过程无数据溢出,无数据丢失。

主存储站点服务器根据生产站点及容灾站点中的存储系统的状态信息生产数据安全分布式的信息保证,将信息互相同步。

当主站点故障时,主站点存储服务器将原数据安全分布信息中的n分区分别对应从存储盘同步状态信息进行更新,生成新的数据按期分布信息。

当从站故障时,从站点存储服务器将原数据安全分布信息中的n分区分别对应主站点存储盘同步状态信息进行更新,记录同步信息,待从站点恢复后,根据最后同步信息,继续更主站点进行数据同步。

复制网络优化,对带宽进行优化,支持站点间的组播,减少多余复制,优化数据传输,提高传输效率,优化复制网络策略,提供多种复制策略,对不同要求可以灵活变更,提高网络利用率,降低传输时延。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明它们没有在细节中提供。

另外,为简化说明和讨论,并且为了不会使本发明难以理解,在所提供的附图中可以示出或可以不示出与集成电路(ic)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本发明难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本发明的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本发明的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本发明。因此,这些描述应被认为是说明性的而不是限制性的。

尽管已经结合了本发明的具体实施例对本发明进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态ram(dram))可以使用所讨论的实施例。

本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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