一种适用于广域网的数据容灾系统的制作方法

文档序号:7686440阅读:278来源:国知局
专利名称:一种适用于广域网的数据容灾系统的制作方法
技术领域
本发明属于计算机信息存储技术领域,具体涉及一种适用于广域网 的数据容灾系统。
背景技术
广域网下的数据存储系统必须能够容忍各种物理错误(硬件存储设 备失效,网络设备失效)和逻辑错误(用户的错误操作,各种蓄意的攻 击)。这些错误促使存储系统必须支持灾难恢复的功能。对于具有存储需 求的客户,通过具有快照、远程备份和恢复功能的软件将用户的数据存 放到存储服务器,能够不中断用户业务,提供具有高可靠性的存储服务。 远程的数据备份和数据归档能够保证所有写到本地的数据同样写到异 地,灾难发生后,将数据从异地实时恢复到本地,从而恢复保证本地应
用系统的正常工作;同时,将数据以多个副本的形式存放处在不同的地 理位置的存储服务器中,这样,处于某地存储服务器上的数据遭到灾难 时,只要处于其它某处仍然保存一份映像文件副本,用户的数据将不受 数据灾难的影响。
在广域网的数据存储系统中,目前已经在不同层次上实现了各种各 样的备份和归档系统,包括应用层(很多应用软件都集成了数据备份和 恢复的功能,如数据库),文件系统层(如window, Linux操作系统自带 有相应的备份和恢复工具实施对数据的保护;快照文件系统Tops-20、 VMS、 El印hant等采用实时拷贝的技术对数据进行保护),存储子系统层 (如独立磁盘冗余阵列,采用硬件冗余的形式实施对数据的保护;MetroMirror,是基于IBM的存储设备的同步镜像产品,采用复制技术对设备 上的数据进行保护)。然而,大部分的备份和归档系统主要考虑磁盘失效 或与磁盘失效相关的灾难,而没有考虑广域网环境中数据传输链路的影 响。而由于广域网络的不稳定性和不可控性,远程的存储和备份将带来 很多问题(安全性、可靠性、带宽的有限性等),致使现有的数据容灾系 统不能达到很好的容灾效果。同时,由于现有的容灾系统需要大量的冗 余数据存储空间,导致数据容灾系统在实施的过程中成本较高。发明内容本发明提出一种适用于广域网的数据容灾系统,解决现有数据容灾 系统未考虑广域网环境中数据传输链路的影响,以及需要大量冗余数据 存储空间的问题;以保证数据的安全传输和存放,减少数据的冗余,有 效地减少广域网环境对数据容灾的影响。本发明一种适用于广域网的数据容灾系统,包括连入广域网的M个 本地存储客户端和N个处于不同地理位置的存储服务器,所述N个存储 服务器构成存储系统,M、 N均为自然数,其特征在于所述本地存储客户端各由web管理器模块、快照模块、映像文件冗 余阵列模块、压縮模块、解压模块、加密模块、解密模块、备份分发模 块和恢复整合模块组成;本地存储客户端通过web管理器模块向用户提供web界面操作接口 , 接受用户的数据备份或数据恢复请求;快照模块在数据备份时,对上层应用系统要备份的数据进行处理, 形成快照点数据;在数据恢复时,将快照点数据恢复到上层应用系统数 据区;映像文件冗余阵列模块在数据备份时,将快照点数据使用容错编码 方式组织到多个映像文件中,组成映像文件冗余阵列,送到压縮模块或加密模块;在数据恢复时,将映像文件冗余阵列还原成快照点数据; 压缩模块在数据备份时,对单个的映像文件进行压縮; 解压模块在数据恢复时,对已压縮的单个映像文件进行解压; 加密模块在数据备份时,对单个映像文件进行加密; 解密模块在数据恢复时,对加密后的单个映像文件进行解密; 备份分发模块在数据备份时,根据用户定义的复制策略,将压縮和
加密后的映像文件传送到不同地理位置的各个存储服务器;
恢复整合模块在数据恢复时,向各存储服务器提出恢复映像文件冗
余阵列的请求,并接收存储服务器传送过来的对应的映像文件;
所述存储服务器由失效检测模块、分布式仲裁模块、修复模块、分
布式副本服务模块以及备份和恢复服务模块组成;
失效检测模块检测广域网上相邻存储服务器的运行情况,及时地提 供当前相邻各个存储服务系统的状况,发现失效的相邻存储服务器;
分布式仲裁模块用来与存储系统中各存储服务器的分布式仲裁模块 相互传递消息,选择相应的存储服务器在存储系统自我修复时,各存 储服务器上的分布式仲裁模块相互传递各自当前工作负载的消息,在存 储系统中选择一个当前工作负载最轻的有效的存储服务器作为替代存储 服务器,以替代失效的存储服务器;或者在本地存储客户端需要恢复映 像文件冗余阵列时,相互传递各自分布式副本模块上记录的信息,选择 存放了相关映像文件的存储服务器;当前工作负载二CPU占用百分比X权 值1 +内存占用百分比X权值2 +网络使用百分比X权值3,其中权值1、2、 3可由系统管理人员调整,系统的默认设置权值1为0.2、权值2默认为 0.3、权值3默认为0.5;
修复模块在失效检测模块发现某个存储服务器失效时,从其他有效存储服务器上下载与失效存储服务器所保存的映像文件副本相同的映像 文件副本,保存到分布式仲裁模块选择的替代存储服务器上,替代存储服务器完全替代失效的存储服务器;分布式副本服务模块登记存储客户端的备份信息,记载本存储服务 器和相邻存储服务器上存放的所有映像文件副本的类型和数量;备份和恢复服务模块响应存储客户端备份数据和恢复数据的请求, 在数据备份时,接收并保存存储客户端发送的备份数据;在数据恢复时, 向存储客户端发送恢复数据。所述的数据容灾系统,其特征在于所述本地存储客户端中,所述映像文件冗余阵列模块包括q个映像 文件,Q为自然数;各映像文件由多个数据块组成,各数据块是本地存储 客户端对要保护的数据使用容错编码方式构成的数据块。本发明采用容错编码和复制两种方式相结合.。容错编码是通过将数 据分成若干数据块,并根据这些数据块计算出冗余码,当数据的任意一 部分发生缺失时,能够利用冗余信息及其他数据块重新计算出缺失的部 分,实现数据的高可用性和安全性。例如,把原数据分成等大的n块, 通过编码生成m块(m〉n),其重要性质是在这m块中的任何n块就可以将原数据重构出来。这种方式提高了系统的存储资源利用率,保证数据 的持久性,同时大大减少了节点的可用带宽的占用。容错编码的实现较 复杂,是一种计算密集型的操作,需要消耗较大的CPU时间,但是能减 少需要保存的数据的冗余。复制是将数据复制后存放在多个存储服务器 结点上,数据与其存放结点之间没有任何必然的联系。复制提高了数据 的可用性,尤其是存储出现灾难时,当网络出现分裂错误或者被攻击时。复制实现起来比较简单,花费CPU的时间较少,但是,由于需要保存数 据的多个拷贝,对存储空间的开销较大。 本发明具有如下的特点-
(1) 本发明将容错编码和复制有效的结合起来,集中了这两种方式 的优点。通过在多个独立映像文件内,对数据块进行容错编码,减少了 冗余的数据量,有效地利用了高成本的存储空间。同时,使用简单的复 制方法复制这些独立的映像文件,将冗余的数据异地保存,达到了数据 容灾的目的。
(2) 对要保护的数据使用快照软件(任何第三方提供的快照软件都
可以)写入到映像文件冗余阵列,客户可以根据实际业务或网络状况选 择合适的复制策略对映像文件进行备份和归档。
(3) 多个时间点的独立映像文件冗余阵列构成了独立映像文件冗余 阵列组。通过使用快照软件,单个独立映像文件冗余阵列记录某段时间 内本地存储客户端上数据的改变,独立映像文件冗余阵列组中多个连续 的独立映像文件冗余阵列记录本地存储客户端上数据的持续改变。同时, 独立映像文件冗余阵列具有磁盘子系统的逻辑特征,将这些映像文件传 送到一个或多个存储服务器进行保存,当灾难发生时,通过从存储服务 器取回映像文件,可以将存储结点上的数据恢复到任意时间点,达到数 据容灾的目的。
(4) 将很多小的数据块组成多个大的映像文件,与传送小数据块相 比,依次传送这些大映像文件,提高了数据的传送效率;同时,在映像 文件被传送到网络上之前,使用加密算法和压縮算法对其迸行压縮和加 密,提高了数据在网络上传输的安全性和可靠性,有效的利用了有限的 网络带宽,同时也减少了存储服务器所需要的高成本的存储空间,克服 了广域网环境的不稳定性和不可控性带来的一系列问题。通过较少的数 据冗余和数据传输满足了本地存储客户端对数据高可靠性的需求,适用于广域网环境中的数据容灾。(5) 存放独立映像文件阵列的独立映像文件阵列组的存储空间可以 循环利用。独立映像文件冗余阵列组中由于多个连续的独立映像文件阵 列的建立会占用大量的存储空间,根据存储空间的使用情况,必要时可 以删掉一些已在异地存储服务器有备份的独立映像文件冗余阵列,释放出部分空间用于建立新的独立映像文件冗余阵列。(6) 根据不同的复制策略,多个副本的保存提高了数据的可靠性, 适用了多种不同用户的需求。同时,处于不同地理位置的存储服务器构 成的存储系统,能实时监控各个存储服务器对映像文件的副本的保存情 况,如果其中某一个存储服务器失效(如发生地震、海啸等灾难),存储 系统能重新部署相关映像文件,维持映像文件副本数量在系统和用户设 置的阈值,使存储系统不会因为某个存储服务器的失效而影响了数据容 灾。本发明通过将容错编码和复制结合起来,减少了冗余的数据量,有 效的利用了存储空间。同时,对要传输的数据进行了压縮和加密,提高 了数据在网络上传输的安全性和可靠性,有效的利用了有限的网络带宽, 达到了很好的容灾效果。


图1为本发明的组成结构示意图;图2为本发明中本地存储客户端的功能模块结构示意图;图3为本地存储客户端中的映像文件冗余阵列模块组成结构示意图;图4为本发明中存储系统的组成结构示意图;图5为存储系统中存储服务器的功能模块结构示意图;图6为本发明的用户数据备份流程示意图;图7为本发明的用户数据恢复流程示意图;图8为本发明中存储系统的修复流程示意图; 图9为本发明的失效检测流程示意图。
具体实施例方式
如图l所示,本发明包括M个需将本地数据存放到异地的本地存储 客户端400. 1、 400.2、…、400.m和N个处于不同地理位置的存储服务 器500. 1、 500. 2、…、500. n,连入广域网络100。本地存储客户端400. 1、 400.2、、 400.m的数据通过广域网络100备份或归档到存储服务器 500. 1、 500. 2、、 500. n。同理,当灾难发生时,存放在存储服务器500. 1、 500.2、…、500.n的映像文件副本通过广域网络100,恢复到本地存储 客户端400. 1、 400.2、…、400. m。
作为一个具体实施例,3个本地存储客户端和2个处于不同地理位置
的存储服务器通过广域网连接;其中每个本地存储客户端上配有赛扬 2.66G的CPU, 512M的DDR内存,加载内核为2.6.18的Linux操作系 统;本地存储客户端上的所有模块都嵌入Linux操作系统内核中;存储 服务器上配有Intel Xeon 3210的CPU, 2G的DDR内存,SCSI磁盘阵列, 加载内核为2.6.18的Linux操作系统,存储服务器上的所有模块嵌入 Linux操作系统内核中。
图2为本地存储客户端400中的模块结构示意图。本地存储客户端 400由web管理器模块410、快照模块420、映像文件冗余阵列模块430、 压縮模块440、解压模块450、加密模块460、解密模块470、备份分发 模块480和恢复整合模块490组成。
图3是映像文件冗余阵列模块430的组成结构示意图。由q个映像 文件430. 1、 430.2、 430.3、…、430.q组成。各映像文件由多个数据块 431组成,各数据块是本地存储客户端对要保护的数据使用容错编码方式
ii组织到多个固定的映像文件中的数据块。'如图4所示,N个处于不同地理位置的存储服务器500. 1、 500. 2、…、 500. t、 500. t+l、 500. t+2、…、500. n连入广域网络100,组成本发明 容灾系统中的存储系统800。图5为存储服务器500中的功能模块结构示意图。存储服务器500 由失效检测模块511、分布式仲裁模块512、修复模块513、分布式副本 服务模块514以及备份和恢复服务模块515组成。存储系统800具有自我管理和修复的功能,能够根据存储系统的运 行状态自动调整映像文件副本的放置地,保证映像文件副本不受灾难的 影响。例如,如果某一个映像文件副本存放在存储服务器500.1、 500.2、、 500. t、 500. t+l、 500. t+2、…、500. n中的任意j (j《n) 个存储服务器上.如果这j个服务器中某一个存储服务器500. k失效,则 分布式仲裁模块512、修复模块513、分布式副本服务模块514共同完成 选择一个当前工作负载最轻的新存储服务器500. p (500. p不属于上述j 个存储服务器)代替失效存储服务器500. k,并选择存储服务器j中任意 一个存储服务器500. h(h^k且h《j),从存储服务器500. h下载映像文 件副本到新选择的存储服务器500.p,此时,j个映像文件副本的存储位 置发生了变化,其中一个映像文件副本的放置地由存储服务器500. k转 移到了存储服务器500.p,映像文件副本的总数量没有改变,保证了映像 文件副本不受灾难的影响。图6为本发明的用户数据备份流程示意图(1) 本地存储客户端初始化;(2) web管理器模块410接受用户备份任务的请求;(3) web管理器模块410对用户请求进行身份验证,通过验证的合法 请求,进行下一步骤,否则作为非法用户请求处理;(4) 快照模块420对上层应用系统要备份的数据使用快照软件进行处理,形成快照点数据;
(5 )映像文件冗余阵列模块430将快照点数据使用容错编码方式(如 采用Reed-Solomon、 Evenodd编码)组织到多个映像文件中,将要备份
的数据以文件的形式呈现;
(6) 压縮模块440分别压縮各映像文件;
(7) 加密模块460分别加密各映像文件;
(8) 备份分发模块480根据用户定义的复制策略,将压縮和加密后 的映像文件传送给对应的 一个或多个存储服务器;
(9) 对应的存储服务器通过备份和恢复服务模块515接收本地存储 客户端传送过来的映像文件副本,对映像文件副本进行保存。
(10) 对应的存储服务器将其接收保存的映像文件副本类型和数量, 通过分布式副本服务模块514向本存储服务器和广域网上相邻的存储服 务器的分布式副本服务模块进行登记。
图7为本发明的用户数据恢复流程示意图-
(1) 本地存储客户端初始化;
(2) web管理器模块410接受用户恢复冗余阵列的请求;
(3) web管理器模块410对用户请求进行身份验证,通过验证的合法 请求,进行下一步骤,否则作为非法用户请求处理;
(4) 恢复整合模块490向各存储服务器提出恢复对应的映像文件冗 余阵列的请求,等待接收存储服务器发送的映像文件;
(5) 各存储服务器通过自身的分布式副本服务模块514査询本存储 服务器和相邻存储服务器是否保存有对应映像文件冗余阵列的映像文 件;
(6) 各存储服务器通过自身的分布式仲裁模块512相互合作,选择 某些存储服务器,以发送对应的映像文件;(7) 所选择的存储服务器通过它们的备份和恢复服务模块515发送 客户端所需的映像文件;(8) 发出请求的本地存储客户端,其恢复整合模块490接收相应存 储服务器发送过来的映像文件;(9) 解密模块470分别对各映像文件解密;(10) 解压模块450分别对各映像文件解压縮;(11) 本地存储客户端的映像文件冗余阵列模块430将各映像文件 形成的映像文件冗余阵列还原成快照点数据;(12) 快照模块420将快照点数据恢复到上层应用系统数据区。图8为本发明的存储系统修复流程示意图(1) 各存储服务器由失效检测模块511实时检测广域网上与其相邻 的存储服务器的运行情况,检测到失效的相邻存储服务器则进行下一步 骤,否则继续检测;(2) 分布式仲裁模块512相互协作选择一个当前工作负载最轻的有 效存储服务器作为替代存储服务器,以替代失效的存储服务器;(3) 选择了替代存储服务器后,各存储服务器的分布式副本模块514 相互协作,修复模块513从其他有效存储服务器上下载与失效存储服务 器所保存的映像文件副本相同的映像文件副本,保存到替代存储服务器 上,替代存储服务器器完全替代失效的存储服务器;(4) 替代存储服务器将其接收保存的映像文件副本类型和数量通过 分布式副本服务模块514向广域网上相邻的存储服务器进行登记;图9为本发明的单个失效存储服务器的检测流程示意图(其中存储 服务器B为存储服务器A的一个相邻存储服务器)(1)存储服务器A接收来自存储服务器B的存活数据包消息;(2) 若在规定的时间内(可以根据需要进行设定,系统默认为
150ms)没有收到存储服务器B的存活数据包消息(这时并不认为该存储 服务器B失效),则进行步骤(3);否则转步骤(1);
(3) 存储服务器A主动请求存储服务器B发送存活数据包消息;
(4) 在存储服务器A发送主动请求消息后,如果在规定的时间内(可 以根据需要进行设定,系统默认为150ms)仍然没有接收到存储服务器B 的消息,就认定该存储服务器B失效;否则,表明存储服务器B没有失 效,转步骤(1)。
权利要求
1.一种适用于广域网的数据容灾系统,包括连入广域网的M个本地存储客户端和N个处于不同地理位置的存储服务器,所述N个存储服务器构成存储系统,M、N均为自然数,其特征在于所述本地存储客户端各由web管理器模块(410)、快照模块(420)、映像文件冗余阵列模块(430)、压缩模块(440)、解压模块(450)、加密模块(460)、解密模块(470)、备份分发模块(480)和恢复整合模块(490)组成;本地存储客户端通过web管理器模块(410)向用户提供web界面操作接口,接受用户的数据备份或数据恢复请求;快照模块(420)在数据备份时,对上层应用系统要备份的数据进行处理,形成快照点数据;在数据恢复时,将快照点数据恢复到上层应用系统数据区;映像文件冗余阵列模块(430)在数据备份时,将快照点数据使用容错编码方式组织到多个映像文件中,组成映像文件冗余阵列,送到压缩模块或加密模块;在数据恢复时,将映像文件冗余阵列还原成快照点数据;压缩模块(440)在数据备份时,对单个的映像文件进行压缩;解压模块(450)在数据恢复时,对已压缩的单个映像文件进行解压;加密模块(460)在数据备份时,对单个映像文件进行加密;解密模块(470)在数据恢复时,对加密后的单个映像文件进行解密;备份分发模块(480)在数据备份时,根据用户定义的复制策略,将压缩和加密后的映像文件传送到不同地理位置的各个存储服务器;恢复整合模块(490)在数据恢复时,向各存储服务器提出恢复映像文件冗余阵列的请求,并接收存储服务器传送过来的对应的映像文件;所述存储服务器由失效检测模块(511)、分布式仲裁模块(512)、修复模块(513)、分布式副本服务模块(514)以及备份和恢复服务模块(515)组成;失效检测模块(511)检测广域网上相邻存储服务器的运行情况,及时地提供当前相邻各个存储服务系统的状况,发现失效的相邻存储服务器;分布式仲裁模块(512)用来与存储系统中各存储服务器的分布式仲裁模块相互传递消息,选择相应的存储服务器在存储系统自我修复时,各存储服务器上的分布式仲裁模块相互传递各自当前工作负载的消息,在存储系统中选择一个当前工作负载最轻的有效的存储服务器作为替代存储服务器,以替代失效的存储服务器;或者在本地存储客户端需要恢复映像文件冗余阵列时,相互传递各自分布式副本模块(514)上记录的信息,选择存放了相关映像文件的存储服务器;当前工作负载=CPU占用百分比×权值1+内存占用百分比×权值2+网络使用百分比×权值3,其中权值1、2、3可由系统管理人员调整,系统的默认设置权值1为0.2、权值2默认为0.3、权值3默认为0.5;修复模块(513)在失效检测模块(511)发现某个存储服务器失效时,从其他有效存储服务器上下载与失效存储服务器所保存的映像文件副本相同的映像文件副本,保存到分布式仲裁模块(512)选择的替代存储服务器上,替代存储服务器完全替代失效的存储服务器;分布式副本服务模块(514)登记存储客户端的备份信息,记载本存储服务器和相邻存储服务器上存放的所有映像文件副本的类型和数量;备份和恢复服务模块(515)响应存储客户端备份数据和恢复数据的请求,在数据备份时,接收并保存存储客户端发送的备份数据;在数据恢复时,向存储客户端发送恢复数据。
2.如权利要求1所述的数据容灾系统,其特征在于 所述本地存储客户端中,所述映像文件冗余阵列模块(430)包括q个 映像文件,q为自然数;各映像文件由多个数据块组成,各数据块是本地 存储客户端对要保护的数据使用容错编码方式构成的数据块。
全文摘要
一种适用于广域网的数据容灾系统,属于计算机信息存储技术领域,解决现有数据容灾系统未考虑广域网环境中数据传输链路的影响、需要大量冗余数据存储空间的问题;本发明包括连入广域网的M个本地存储客户端和N个处于不同地理位置的存储服务器,所述本地存储客户端各由web管理器、快照、映像文件冗余阵列、压缩、解压、加密、解密、备份分发和恢复整合模块组成;所述存储服务器由失效检测、分布式仲裁、修复、分布式副本服务以及备份和恢复服务模块组成。本发明将容错编码和复制结合,减少冗余的数据量,有效利用存储空间。同时,对要传输的数据进行压缩和加密,提高了数据在网络上传输的安全性和可靠性,有效利用了网络带宽,达到很好的容灾效果。
文档编号H04L29/08GK101316274SQ200810047680
公开日2008年12月3日 申请日期2008年5月12日 优先权日2008年5月12日
发明者玥 代, 丹 冯, 曾令仿, 李祚衡, 杨天明, 珊 范, 谭玉娟 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1