您的当前位置:首页正文

基于重复数据删除技术的数据容灾系统的设计与测试

来源:个人技术集锦
第33卷第3期 河北理工大学学报(自然科学版) Journal of Hebei Polytechnic University(Natural Science Edition) Vo1.33 No.3 Aug.2011 2011年8月 文章编号:1674.0262(2011)03-0073—09 基于重复数据删除技术的数据容灾系统的设计与测试 廖海生 (罗定职业技术学院,广东罗定527200) 关键词:重复数据删除;数据容灾;存储优化;性能测试 摘要:针对当今企业海量数据的增长给数据容灾系统的存储容量、处理能力 、数据传输带宽 带来巨大压力的现状,设计了一种基于重复数据删除技术的数据容灾系统。通过I/O吞吐 量、CPU利用率、响应时间、数据备份时间和重复数据删除率等指标对数据容灾系统性能进行 了测试,测试结果表明数据容灾系统对应用服务器响应时间的影响甚小,重复数据删除效果显 著。 中图分类号:TP309.3文献标志码:A 0 引 言 随着计算机技术的不断发展和信息化程度的不断提高,信息已经成为企事业最具有价值的资产,信息数 据的丢失带来的灾难将是不可估量的损失。因此建立数据容灾系统,保证数据完整性在信息社会显得极为 重要。 当前各种信息种类繁多,信息量巨大,企业和个人用户数据存储量增长迅速,而这些数据信息中有很多 都是重复冗余数据。无论是在用户的多个版本文件之间还是在企业的数据服务器上,大量数据重复存在,会 直接影响数据查询和管理的效率。在远程数据容灾系统中当对这些数据进行远程备份或还原时,如果只是 简单地对数据进行备份和还原,一方面会对存储空间造成极大的浪费;另一方面也会增加备份、还原过程中 的数据传输负载。 基于此,本文有效地利用重复数据删除技术,设计了一种基于重复数据删除技术的数据容灾系统。并对 该数据容灾系统性能测试,测试表明能有效地解决上述问题。 1 设计目标 、 建立数据容灾系统过程中,根据应用需求确定了设计基于重复数据删除技术的数据容灾系统的相关原则: (1)数据容灾系统融合重复删除技术,实现节省带宽和存储,提高数据的可靠性。 (2)构建集群的重复数据删除架构,克服单点故障,为用户提供了双倍或多倍的吞吐及处理能力,降低因 软硬件损坏造成的数据损坏与丢失的危险。 (3)数据容灾系统应具有开放性,不依赖特定硬件系统,支持使用范围最广泛的TCP/IP网络,并为通过 TCP/IP网络传输的存储数据提供安全性保护 (4)实现在线存储器优化、减少容量需求并提高整个存储效率 (5)数据容灾系统应支持远程的、异步的数据容灾方案。对于异地数据容灾,应实现本地关键应用数据 的实时同步复制,不仅要求在异地保存有一份业务数据的完全实时拷贝,而且必须保证异地数据的完整性、 可用性。 收稿日期:2OlO-12-10 74 河北理工大学学报(自然科学版) 第33卷 (6)数据容灾系统应采取实用的灾难恢复技术,建立远程网络故障切换机制。在远程的容灾系统中,既 要包含本地系统的安全机制、远程的数据复制机制,还应具有广域网范围的远程故障诊断能力和应用切换能 力。一旦故障发生,系统能够以最快的速度完成业务接管,恢复网络存储服务。 2 系统设计 2.1系统整体框架 基于重复删除技术的数据容灾系统包括五个子系统:存储优化子系统、远程备份子系统、灾难恢复子系 统和监测子系统,系统的总体架构如图2—1所示。 图2-1基于重复删除技术的数据容灾系统总体架构 (1)存储优化子系统:进行数据优化,经过压缩、去重两个优化技术,并在内存中装载索弓}表实现指纹重 定位。 (2)备份子系统:确保业务数据从客户端存储到主服务器的本地磁盘阵列中,并通过IP网络存储到远程 备份服务器的异地磁盘阵列中。确保系统在误操作或遭受恶意攻击时可以对数据进行保护,实现数据容灾。 (3)灾难恢复子系统:确保灾难发生、主服务器宕机的情况下,自动完成应用切换,由备份服务器接管业 务,实现应用容灾。当主服务器恢复正常时,自动备份服务器的数据自动覆盖主服务器的数据,主服务器正 常启动接管业务。 (4)监测子系统:监测子系统检测业务中心与容灾中心应用服务器状况,出现故障就调用容灾机制由容 灾中心应用服务器承担业务服务。当故障恢复完后,切换回业务中心应用服务器承担业务服务。 系统中的每个客户机都通过网络交换机连接到TCP/IP网络上,系统采用主从方式:也是通常所说的 PRIMARY/STANDBY方式,系统配置一个主服务器,一个备份服务器。正常情况下,主服务器通过数据存 储子系统向远程客户提供网络存储服务,把业务数据存储在本地磁盘阵列中。备份服务器通过数据备份子 系统在IP网络上远程在线复制主服务器上的数据,保证与主服务器上的数据同步。灾难发生时,主服务器 宕机,不能向客户机提供正常的存储服务,此时,灾难恢复子系统会检测到主服务器的宕机状态,自动完成备 份服务器接管主服务器的应用切换工作,使在任何时间任何地点,数据的可用性都能以真正的零停机时间得 到保证。为了避免数据存储子系统单点失败而影响整个系统的运行,使用了机群架构的重复数据删除技术 来提供冗余容错功能,提高存储数据的可靠性。 2.2系统工作流程 基于重复删除技术的数据容灾系统建立了一个异地的数据备份系统,该系统是备份服务系统关键应用 数据的一个复制,通过软件复制方式实现远程在线实时复制。[1] 基于重复删除技术的数据容灾系统工作流程如图2-2所示: 第3期 廖海生:基于重复数据删除技术的数据容灾系统的设计与测试 75 图2—2基于重复删除技术的数据容灾系统工作流程 (1)主服务器在未发生灾难的情况下处于工作状态,向远程客户提供存储服务,备份服务器处于监控状 态。 (2)主服务器与备份服务器之间通过IP网络周期地相互发送心跳信号来检测对方的状态,使双方能够 相互监控。 (3)当主服务器检测到备份服务器出现故障并己不能正常工作时,将会发出报警信息。 (4)当备份服务器的心博检测模块在规定的时间间隔内没有收到主服务器直接发送过来的心跳信号时, 可以断定本机与主服务器通信中断。它首先检查本机是否仍然在网络中,如果本机已经脱离网络,则发出报 警信息并在网络恢复后重新与主服务器建立连接。如果本机网络连接正常,则断定主服务器发生故障。此 时通过IP地址接管方式启动应用切换功能,将备份服务器的备份模式改变为工作模式。然后设置本机的网 络参数,使其与主服务器失效前一致。接着启动备份服务器上的存储模块对外提供服务。 (5)当备份服务器提供服务时,心博检测模块通过网络定期向主服务器发送心跳信号,检查主服务器是 否恢复正常运行。如果发现主服务器恢复正常,备份服务器会自动出让IP地址给主服务器,并返回备份模 式。主服务器则进入工作模式,继续提供服务。 3关键子系统实现 ’ 3.1存储优化子系统 存储优化子系统是通过对数据的识别分类、经过压缩、重复数据删除技术两个优化技术来实现优化存储 空间,在这里主要对重复数据删除技术进行分析设计。 重复数据删除就是通过重复数据检测,删除冗余文件、数据块的过程,使得只有独有的数据存储在系统 中。重复数据删除通过有效减少存储系统中的冗余数据占有,解决了存储空间的利用效率问题。 重复数据删除技术具体实现:当有新的备份数据读人时,先利用系统的智能引擎模块探测压缩数据的文 件名、文件种类、日期/时间戳记等信息,然后进行有规律的不固定分块,再通过数据压缩技术进行压缩,利用 MD5函数计算指纹,在内存里先把指纹值进行定位,然后跟内存中索引做比较,如果一旦有相似的指纹值的 时候,再去从磁盘把相关的值读出来,与新数据块做一次二进制比较,确保数据不会有误删除的现象。[。][113 具体伪代码实现如下: DDELDATA() {S—getnewdata();//获取新增加的数据 A[-N]=Discontent(S);//根据新增数据的文件名、文件种类等信息进行有规律的不固定分块 76 河北理工大学学报(自然科学版) 第33卷 BIN]=Compression(A);II对A数组中的数据块进行压缩处理写入B数组 MD5depstring(B);//计算压缩后的数据块的指纹 Findlocation(B);//把计算的指纹与索引表进行匹配,然后进行相关删除、写入操作 ) Findloeation(M)//M为新增数据块指针 { {if(M在索引表中存在) {F—BitComparison(L,get(M));//L为指针M的新增数据块,get(M)取磁盘中M指向的数 据。 if(F==0)//新增数据块与原数据块完全相同 {Delnewdata(L);//删除新数据块 Reservation();//指针重定位 ) Else{Writenewdata(L);//写入新数据块 AddIndieator(M);新增指针 )  。Else{Writenewdata(L);//写入新数据块 AddIndicator(M);新增指针 } ) 考虑到随着备份数据的不断增大,索引表也将越来越大,如果把索引表放在单台服务器上,这就会导致 重复数据删除性能下降以及更高的CPU消耗。改进的重复数据删除用两台或多台设备来完成这一工作, 每台设备都保留了自己的Hash索引,为了克服单点故障,把两台或多台重复数据删除设备被虚拟化为一 台,构建集群的重复数据删除架构。为用户提供了双倍或多倍的吞吐及处理能力。如果他们中的任意一台 出现了故障,另外的设备就会自动地接管它的工作负荷,以确保处理的连续性。由于集群仍然保留的是单个 的Hash表,因此它不仅提高了系统性能而且不会影响到重复数据删除比率。[。叫 此外为了进一步解决软硬件损坏造成的数据损坏与丢失,我们在重复数据删除技术中融合了容灾备份 的技术,对索引表以及原始数据进行实时容灾备份。[11 其重复数据删除策略示意图如图3—1所示。 I 辩圳鞭i_ 瞰日l髓_嗌 髓日l l地 I 图3-1重复数据删除策略示意图 第3期 廖海生:基于重复数据删除技术的数据容灾系统的设计与测试 77 3.2数据备份子系统 数据备份子系统可划分为两个部分:备份服务器和主服务器(存储优化服务器)通过Internet连接。系 统的体系结构见图3-2。 图3-2体系结构 ’ 客户端数据利用数据引擎模块将更新数据传送主服务器,主服务器经过存储优化后,把更新的索引表和 数据存储到本地磁盘的同时并利用卷映射拷贝服务(Volume Shadow CopyService,VSS)对须备份的数据 进行系统快照,自动完成主、备份服务器之间的数据复制,备份服务器端对数据进行存储优化重放,存储在备 份磁盘库中。这样,在每次备份完成后,客户端和备份磁盘库的文件是完全同步且一致。主、备份服务器上 具有相同的软件结构,能够在不同时间段互相复制数据。正常情况下,由主服务器向远程的客户端提供网络 存储服务,客户端把业务数据存储在主服务器上的磁盘阵列中。备份服务器处于运行状态,服务器上的备份 子系统通过TCP/IP网络从主服务器的磁盘阵列中实时复制发生改变的数据,并把数据存储到备份服务器 上的磁盘阵列中。[ 。] 。 整个子系统分为四个模块:系统快照模块、数据提取模块、数据接收和优化回放模块如图3-3所示。 广一一一一一一一一一一一一1 广一一一一一一一一一一1 l 厂 L—————————————————一_J :l  l l_厂 ——————————————————J :l  { 一 I lnt0m站涟搂 j l I lk———————————一 数器转熊骥映 l ●l{ 一_ I l {r———————————————————1 { l r———————————————————_-1 I I——————■—一 ll 拢化回蕊搂坡 l  j~i 恍化圈墩模款 l  l 。 t …………j l ……一… JI 图3-3系统模块 (1)系统快照模块:运行于主服务器之上,在某个备份时间点来临时,利用VSS对须备份的文件进行系 统快照,将该文件的卷影副本保存在本地,并将更新索引表保存在海量缓冲器中。 . (2)数据提取模块:运行于主服务器之上,负责从海量缓冲器中取出索引表,并根据索引表到本地磁盘中 取出相应的数据将其发送到备份服务器。 (3)数据接收:运行于备份服务器之上,接收主服务器端发送来的备份数据 . (4)优化回放模块:运行于主、备服务器之上,利用索引表在本地磁盘库中找到相对应的数据对其进行回 放,送到相应客户端。 3.3灾难恢复子系统 灾难恢复子系统完成心博检测和应用切换的功能,整个恢复过程中对远程客户是透明的,客户不需要重 新启动系统,就能够得到不问断的网络存储服务。 ’ 3.3.1检测和切换原理 主服务器和备份服务器使用TCP/IP网络协议进行通信,服务器上的服务进程对于B/S结构的远程客 78 河北理工大学学报(自然科学版) 第33卷 户是透明的。主服务器上的监控进程为远程用户提供一个虚拟IP地址,任一用户只要用该地址连接就能得 到相应的服务。备份服务器上的守护进程始终监控主服务器的运行状态,当主服务器处于非正常状态时,守 护进程检测不到主服务器的心跳信号,则灾难恢复子系统自动完成后援切换,备份服务器立即接管业务。后 援切换不中断信息系统的正常运行,而且检测和切换工作全部由系统自动完成,整个过程不需要人工干预。 3.3.2检测和切换功能的实现 心博检测和应用切换的功能由类Heartbeat程序来实现,在主服务器和备份服务器的Linux系统上安 装类Heartbeat程序,该程序可以实现网络的容错,避免单点故障。心跳信号是主服务器和备份服务器之间 的持续连接,它使一个服务器知道另一个服务器的工作是否正常,心跳信号通常是很短小的IP数据包,只占 用很少的系统和网络资源。备份服务器上有相应的进程对从主服务器端发来的心跳信号进行处理。如果在 规定的时间内没有收到预期的心跳信号,备份服务器上的相应进程就断定主服务器发生了故障,不能提供正 常服务。主服务器上的类Heartbeat程序通过多播或UDP协议的方式向备份服务器发送心跳信号,备份服 务器上的类Heartbeat程序对其进行实时监听,从而使备份服务器可以时刻监控提供网络服务的主服务器 节点。当主服务器发生故障时,备份服务器的监控进程在规定的时间间隔内没有收到来自主服务器的心跳 信号,则断定主服务节点提供的服务已经失效,就会启动备份服务器进入工作模式,继续向远程客户提供网 络服务。当备份服务器重新收到从主服务器节点发来的心跳信号时,则断定主服务器已经重新恢复服务,备 份服务器就会被挂起,进入备份模式,系统重新使用主服务器向远程客户提供服务。类Heartbeat程序通过 IP地址自动接管的方式来完成服务器之问的应用切换,主服务器和备份服务器对外共用同一个虚拟IP,远 程客户使用这个虚拟正地址来访问服务器。当由主服务器提供服务时,主服务器的虚拟IP地址生效,备份 服务器的虚拟IP地址被屏蔽掉;当主服务器发生故障由备份服务器提供服务时,备份服务器的监控进程会 自动进行IP地址接管,将自己的IP地址切换为虚拟IP地址,而主服务器的虚拟IP地址被屏蔽掉。在配置文 件中,可以设定灾难恢复的相关参数,如:服务器的网络接口卡的虚拟IP地址,心跳信号的发送时间间隔等。 4 测试实现 根据数据容灾系统的I/o吞吐量、CPU利用率、响应时间、数据备份时间…和重复数据删除率四个性 能指标对该数据容灾系统进行性能测试时: , (1)要求设计的测试方法能在本地应用服务器上真实地模拟出文件服务器、备份服务器、Web服务器等 多种实际的客户应用,并监控本地应用服务器加载容灾系统前后的性能变化,从而得出容灾系统对本地应用 服务器上运行的实际应用的影响程度。 . (2)要求对远程备份中心进行性能监控,以获取备份数据从本地发送到远程的起止时间,从而得出容灾 系统的数据备份效率。 (3)要求设计出的测试方法对同步远程容灾系统和异步远程容灾系统都能进行性能测试。 4.1测试实现 根据上面测试目标,笔者对本数据容灾系统进行了性能测试。系统中的主服务器起缓存数据与存储优 化的作用,用于集中缓存备份的本地应用服务器数据,对其进行压缩、重复数据删除后通过Internet将备份 数据发送到远程备份服务器。测试拓扑结构如图4—1所示。 图4-1测试拓扑图 第3期 .廖海生:基于重复数据删除技术的数据容灾系统的设计与测试 79 测试时,主服务器与本地应用服务器、测试控制主机在同一局域网内,带宽为1000 Mb/s;主服务器和远 一 表到 从受 影 贿 程备份服务器间模拟Internet连接,带宽为100 Mb/s。本地应用服务器、主服务器和远程备份服务器的操 作系统为Linux,2.6内核,2 GB内存;测试控制主机操作系统为Windows XP,1GB内存o[83 4.1.2测试工具 进行性能测试时应选取合适的测试工具和做好测试自动化工作,这样做主要有两方面的好处:一是能提 高测试的速度和效率,二是能够提高测试的准确度和精确度,并能节省测试资源。[6]在实际测试时,笔者选用 iometer-2006—07—27和NTOP3.3作为测试工具o Eg] 实际测试时,IOMETER服务器端被安装在测试控制主机上,担任测试控制器角色,客户端被安装在本 地应用服务器和主服务器上,担任负载发生器和性能监视器1的角色。NTOP被安装在远程备份服务器上 担任性能监视器2的角色。 4.1.2 测试 为测试本地应用服务器进行持续的写操作时,远程数据容灾系统对本地应用服务器性能的影响程度,使 用IOMETER在本地应用服务器上模拟备份服务器的操作,即向存储目标持续写长度不同的文件,长度为 32 KB一1 MB,磁盘访问设为100 顺序访问。L1们 测试结果见表4-I、表4-2。 M M 一跛 表4-1应用服务器CPU利用对比 一程 %}仉L 2 M u 一加 一了 . 一一向 一应 一日  图4-2本地应用服务器吞吐量对比曲线 从上图可以看出,随着写入文件的增大,本地应用服务器的I/O吞吐量受到的影响逐渐减小。CPU利 80 河北理工大学学报(自然科学版) 第33卷 用率、响应时间和I/0吞吐量对比数据表明,该远程容灾系统应用于备份服务器上时,对其性能影响不大。 为测试远程容灾系统的数据备份和存储优化效率,向本地应用服务器写入测试基底为5GB的样本数 据,每次备份均新增5 (即256MB)数据,且每次备份均执行基底数据+新增数据的全备份。-新增数据均为 与已有数据完全不同的新数据,验证重复数据删除功能在5 数据新增率环境下的数据删减效果。通过查 看本地应用服务器写人数据与远程备份服务器存储数据进行对比,对比表如表4—3。 文件大d',/KB 32 64 128 256 512 1024 加载容灾系统前/ms 0.85 1.75’ 3.14 5.78 11.14 25.26 加载容灾系统后/ms 0.86 175 .‘ 3.14 5.67 11.14 25.26 通过监视器记录远程备份服务器收到这些文件的起止时间。测试结果如图4-3所示。 图4—3数据备份时间曲线 根据图4-3中的数据可以计算出,备份数据在本地服务器和远程备份服务器间进行传输时,速度稳定在 8 MB/s左右,较好地利用了两者间的100 Mb/s带宽,数据备份效率较高。 ’ 5 结束语 , 本文设计并实现了一种基于重复数据删除技术的数据容灾系统,实现了数据备份和灾难恢复,并具有良 好的重复数据删除能力,有效地缓解了企业数据不断增长对远程数据容灾系统带来的各种压力。 本文仅从理论设计角度给出了分析与实现,对于一些技术细节并未详细了阐述,该构件的开发已经初 见成效,并在实际系统中有所应用。但其使用性还有待考验。 参考文献: [1-1李立松.基于IP存储的网络容灾技术研究与系统实现[D].中国优秀博硕士学位论文全文数据库(硕士),2005。(04). [z]崔兴华,杜晓黎,赵晓容.重复数据检测在多版本数据备份中的应用[J].计算机应用研究,2009(1)t206 220. [3]DENEHY T E,HSU W W.Dup licate management for reference data[R].[S.1.]:IBM,2004:1240. Technologles(FAST).Monterey,California:[s.n.],2002:892101. ・ [4]Qu INLAN S,DORWARD S.Venti l a new app roach to archival storage[C]//Proe of the 2002 Conference on File and Storage [5]James M.Deba ̄an S,Tripathi,Satish K.ProtectI/On,RestoratI/On,and Disaster Recovery[J].IEEE Network,2004,18(2); 3~4. [6]Qian Cunhua,Syouji N,ToshI/O N.Optimal Backup Policies for a Database System with Incremental Backup[J].Fundamental E— le ̄tronic Science。2002,85(4)i 1~9. [7] 国务院信息化工作办公室.重要信息系统灾难恢复指南[z].2005 ̄04. [8]Patton R.软件测试[M].张小松,译.北京:机械工业出版社,2006 ̄04. [9]易著梁,邓志龙.Linux操作系统教程与实-gli[M].北京:北京大学出版社,8008 ̄01. [10]张灿,刘晓洁等.远程容灾系统的性能测试[J].上海;计算机工程,2008—061149 ̄151]. [11]廖海生.基于MD5算法的重复数据删除技术的研究与改进[J].北京;计算机测量与控制,2010—03159 ̄63]. 第3期 廖海生:基于重复数据删除技术的数据容灾系统的设计与测试 81 The Design and Test of Data Disaster Tolerance System Based on Data De-duplication LIA0 Hai—sheng (Luoding Polytechnic。Luoding Guangdong 527200。China) Key word:data de—duplication;data disaster tolerance;Storage Optimization;Performance Testing Abstrac:Nowadays,the growth of the magnanimity data brings enormous pressure to memory capacity, handling capacity,bandwidth of data transmission.In order to solve the problem,the paper designa data disaster tolerance system based on data de-duplication.It tests the function of data disaster tolerance sys— tern through I/O throughput,CPU utilization ratio,back up time,response time and data de—duplication. The result indicates that it has little effect on response time of application service,results of data de-dupli- cation iS remarkable. (上接第68页) 参考文献: [1]安海生,张为革.建筑钢材理论重量交货与产品质量控制[J].现代质量,2001,(6)。35 ̄36. [2]丑纪岳,唐杰民.负偏差生产优化[J].钢铁,1999,34(1)t 74 ̄77. 、 [33郁有文,常健,程继红.传感器原理及工程应用EM].西安电子科技大学出版社.2003,7. [4]宋强,徐科,徐金梧,等.基于图像处理的棒材自动计数技术[J].钢铁,2004,39(5):34 ̄37. [53王卫勇,朱玉泉.一种基于多模板覆盖的钢筋计数方法[J].计算机与现代化,2005,(5). One New Mathd Of Bar Counting On Line MA Wei—guo,REN Ji-tang (College of Metallurgy and Energy,Hebei United University,Tangshan Hebei 063009,China) Key words:bar counting machine;Bundled set pieces;Photoelectric countning Abstract:Reinforced bar(bar type)of the automatic counting isnot only an important issue that has not been fully resolved,but also a difficult problem which need to be solved urgently in steel production prae— lfee.In order to achieve the fixed-line support bundled rods,this paper presents a new program.The bar counter will count into the pretreatment before counting,counting and separation of the three steps to a— chieve the custom Strapping bar. 

因篇幅问题不能全部显示,请点此查看更多更全内容