DELL灾难恢复解决方案分析1引言随着企业的信息化进程不断深化,IT系统成为支撑企业业务运行的重要平台,企业的大部分业务都依赖于IT系统运作。如何备份和保护关键数据,保证IT系统的持续运行,已经成为信息化时代每个公司都必须解决的重要问题。本文首先解释了灾难恢复的定义、灾难恢复的技术指标和灾难恢复恢复的等级,接着重点讨论了灾难恢复的三种实现方式和技术原理。并在相同的应用场景下,对这三种灾难恢复方案进行了多次测试,记录了每次测试的RPO和RTO。最后对这三种灾难恢复方案的特点进行了多方面的比较。本文的目的是通过详细讨论灾难恢复方式的技术细节,从理论上论证了每种灾难恢复方式能达到的灾难恢复等级。DELL公司针对不同的灾难恢复实现方式分别有对应的产品和成熟的解决方案,客户可根据自身业务的实际需求选择相关的灾难恢复方案。2概述2.1灾难恢复定义灾难恢复是指系统具有在严重灾难发生后的恢复能力。灾难恢复是通过在一定距离的异地,建设一套功能和处理能力与正常生产系统相当的备用系统,以确保当主系统发生意外灾难或有计划的长时间停机的情况下,备用系统能够在短时间内接替、延续主系统的生产任务。2.2灾难恢复技术指标衡量灾难恢复系统的技术指标主要有两个:RPO(恢复点目标)和RTO(恢复时间目标),RPO表示灾难发生时允许丢失的数据量,RTO表示灾难发生后系统的恢复时间。RPO针对的是数据丢失,RTO针对的是业务中断时间,RPO与RTO越小,系统的可用性就越高。RPO和RTO的合理制定,需要以风险分析和业务影响分析为前提,同时结合实际业务需求来完成。2.3灾难恢复等级根据中国国家标准《信息系统灾难恢复规范》(GB/T20988—2007),按照七个关键要素(数据备份系统、备用基础设施、备用数据处理系统、备用网络系统、技术支持能力、运行维护管理能力、灾难恢复预案),并根据信息系统对灾难恢复RPO与RTO要求的不同,灾难恢复可以划分为下表的六个等级。灾难恢复等级等级描述恢复点目标(RPO)恢复时间目标(RTO)0没有灾难恢复计划。无法预计可能全部丢失1用交通工具将备份磁带放在异地。48小时48小时2用交通工具将备份磁带放在异地,并在异地建立备用系统。24~48小时24小时3备份数据通过网络传输到异地灾难恢复中心。24小时24小时4热备份数据通过网络传输到异地灾难恢复中心,灾难恢复中心的所有设备处于就绪状态。1小时2小时,24小时5少量数据丢失,利用网络将数据实时复制到灾难恢复中心。分钟级2小时6零数据丢失,实时备份所有数据和业务,灾难发生时可立即切换接管。无1小时2.4灾难恢复实现方式灾难恢复的核心是进行数据复制和数据保护,利用数据复制技术实时地将数据从一个站点复制到另一个站点,生成一份数据副本。通常根据操作系统的I/O(读写操作)路径以及复制的对象的不同,灾难恢复的实现主要有下面三种方式。存储灾难恢复:利用磁盘阵列厂商的数据复制技术,将主站点磁盘阵列上的数据通过FC或IP网络发送到备份系统。其特点是:对上层应用程序和主机基本透明,无须对应用软件作较大的改造,便可以实现灾难恢复。但由于各存储厂家的技术差异,存储灾难恢复只能在同一厂家的存储内进行。逻辑卷灾难恢复:基于逻辑卷的复制,一般采用同步或异步复制机制,复制对象为逻辑卷发生变化的数据块,其过程为:捕获变化数据块,同步或异步写入目标系统,逻辑卷复制功能可靠、高效、一致地将数据通过IP网络复制到远程的灾难恢复中心,最大的保证了业务的连续性,与存储灾难恢复相比,不需要在每一个地点都购买完全一样的存储阵列。数据库灾难恢复:是基于数据库软件的灾难恢复方式。根据数据库系统本身的特点,选择将主系统中的事务信息,通过网络传输到备份系统,备份系统根据收到的数据进行处理,从而产生与主系统相同的处理结果,达到主、备系统的一致性。数据库级灾难恢复的优点是可根据实际业务需要,有选择性的复制部分事务;所需网络带宽较小,对主、备系统距离没有限制。但其缺点是需要对数据库系统进行适当改造和维护工作量较大。3存储灾难恢复技术3.1存储灾难恢复的实现机制存储灾难恢复是将原数据从生产站点的磁盘阵列复制到灾难恢复站点的磁盘阵列中。根据内部实现机制的不同,又分为同步和异步复制两种方式。同步复制:将本地数据以完全同步的方式复制到异地,每个本地IO操作均需等待远程复制完成,才能确认操作结束。该方式没有数据丢失,能确保两份数据完全一致。但对主机系统的IO性能影响较大,同时对于传输带宽的要求也较高。对于主、备系统的距离也有一定限制,当两地距离超过一定长度后,由于信号的延时会对主系统的性能造成较大的影响。同步复制的主、备站点间一般采用裸光纤的传输方式,主要适用于同城短距离灾难恢复。同步复制的机制:1)主机向存储系统A发出一个IO请求,待写的数据进入到存储系统A的控制器缓存中,但此时存储系统A还不会给主机发送写入成功的应答。2)存储系统A将数据块从控制器的缓存写入到磁盘(根据控制器写策略的不同,写入一般会有延迟),同时存储系统A将数据块传输到存储系统B。3)存储系统B接受到数据块后,返回应答给存储系统A。4)存储系统A收到存储系统B的应答后,再返回应答给主机,表示写入操作成功。异步复制:数据复制在后台以异步的方式进行,对主机系统的影响较小。传输距离长(可达1000公里以上),对网络带宽要求比同步复制小,但数据同步有延迟。由于远程的存储系统的写没有得到确认,当某种因素造成数据传输失败时,可能出现数据一致性问题。异步复制机制:1)主机向存储系统A发出一个IO请求,待写的数据块进入到存储系统A的控制器缓存中。2)存储系统A将数据块从控制器的缓存写入到磁盘(根据控制器写策略的不同,写入一般会有延迟),返回应答给主机,表示写入操作成功。3)存储系统A将数据块传输到存储系统B。4)存储系统B接受到数据块后,返回应答给存储系统A。存储异步数据复制保证了服务器的响应速度,但主站点的数据和备份站点的数据会有一个间隙(GAP),根据存储系统间传输带宽的大小和主站点存储数据变化量的大小,这个间隔可能从数秒到数小时不等。一旦发生灾难,这部分数据将会永久丢失。3.2数据一致性保证的实现方式在异步复制方式下,特别是在存储系统之间的网络中断一段时间后,本地站点有数据积压需要续传时,本地存储不能完全按当初IO发生的顺序将数据传输到备份存储,可能先发生修改的数据块没有被传送到备份存储,而后发生IO修改的数据块已经传送到目标存储,导致备份存储中的数据是一份逻辑错乱的不一致影像,上层应用程序如数据库不能使用这份备份数据,导致灾难恢复失败。要使上层应用程序能使用备份存储中的数据,该数据必须是一致的,即使是几分钟或几小时前的数据,只要是某个时间点一致的数据,这份数据也是可用的。在异步复制模式下,一个最重要的问题是保证数据的一致性,目前有两种常用技术可以实现备份存储中的数据一致性。IO队列复制技术:生产端的存储在接收到一个写入数据块的同时,将其复制一份暂存在一个FIFO(先进先出)队列中,完全按照IO进入存储的先后顺序进入该队列。然后按照FIFO的方式将队列中的数据块传输到远程阵列中,这种方式完全保证了数据的一致性。但由于使用队列存放待传输的数据块,这种方式需要占用一定的控制器缓存或磁盘空间。快照复制技术:使用快照技术来进行异步复制,首先在生产存储的源卷上做快照,然后将这份快照对应的数据块全部复制到远程站点的目标卷上。等复制完成后,在远程站点上对目标卷做一次快照,这样这份快照的内容与源卷的快照内容完全相同。一段间隔后,源卷再做一次快照,然后对比本次源卷快照和上次源卷快照之间变化的数据块,将这些变化的数据块再复制到目标卷,完成复制后对目标卷再做一次快照。经过一段时间后,再重复相同的过程。如下图,每隔5分钟对生产卷产生一个快照,然后将对应的快照数据传输到灾难恢复站点。3.3DELLCompellent存储灾难恢复测试DellCompellent存储提供了一个企业级的灾难恢复解决方案,同时提供了数据同步复制和数据异步复制技术。测试环境系统架构图:系统配置信息:组件详细信息服务器R910CPU:IntelXeonCPUE7-4807@1.87GHz*2Memory:64GBOS:Windows2008R2SP1Database:OracleEnterpriseEdition11.2.0.3服务器R710CPU:IntelXeonCPUX5550@2.67GHz*2Memory:24GBOS:Windows2008R2SP1Database:OracleEnterpriseEdition11.2.0.3存储SC40-1OneControllerTwo3.5’’SASenclosureswith24*450GB15KRPMDisks存储SC40-2OneControllerOne3.5’’SASenclosureswith12*450GB15KRPMDisks测试环境准备:1)在R910/R710上安装Widows2008R2SP1操作系统。2)在R910/R710上安装Oracle11.2.0.3数据库软件。3)在SC40-1上划分一个200GB的测试卷,分配给R910作为数据库的数据卷。4)在两台COMPELLENT存储之间配置传输线路和复制关系。5)在EnterpriseManager中对数据库卷配置异步复制关系。6)将传输带宽限制到100Mbps测试步骤:1)在生产站点的数据库服务器上启动程序,以10MB/秒的速度往数据库中写入数据。2)在生产站点CML存储上对数据库卷每隔1分钟自动创建一个Replay。3)等待几分钟,然后断开2台CML存储之间通信连接,模拟生产站点出现灾难。4)在灾难恢复站点上从最近的Replay生成一个数据卷,并分配给灾难恢复端的数据库服务器。5)在灾难恢复端的数据库服务器上启动数据库,验证数据,如果数据库能正常启动,表示测试成功,同时记录RPO和RTO数据。6)关闭数据库,卸载数据库卷。7)在灾难恢复端存储上删除第4步产生的卷。8)恢复存储之间的通信连接,等待数据同步完成。9)重复上面1~8步,将结果记录到下表中。测试结果:经过多次测试,灾难恢复端的数据库都能正常启动,而且其中的数据为产生快照时间点的数据,说明异步复制的数据是一致的。CML存储灾难恢复测试记录表测试次数测试结果RPO(秒)RTO(秒)1成功961322成功981113成功75984成功821275成功1031056成功87997成功811088成功961219成功9211810成功99106平均911133.4DELLCompellent灾难恢复成功案例(邢台银行)客户面临的挑战:(1)核心应用,为提升系统安全性,建立“两地三中心”模式灾难恢复系统(2)邢台本地建立A&B数据中心为业务及应用集中监控中心(3)异地C中心运行部分业务,作为备份中心确保RTO和RPO范围内的业务持续运行,防御非区域性灾难DELL提供的灾难恢复解决方案:根据客户的需求,DELL提供了基于Compellent存储的容灾解决方案,其中AB两个本地数据中心进行数据同步复制。AC之间使用远程容灾技术。利用Compellent的Replay实现连续数据保护的功效。中国邢台银行灾难恢复系统架构图实施的效果:DellCompellent提供的RemoteInstantReplay工具可对数据快照实施远程复制,一旦主站点出现问题,辅助站点可以迅速加载数据到备用服务器,然后启用应用程序,满足客户的灾难恢复需求。4逻辑卷灾难恢复技术逻辑卷复制是在操作系统底层的磁盘逻辑卷管理层来实现的。它以逻辑数据块为单位进行,当本地生产中心逻辑卷中的某个数据块被更新时,需要把这个更新后的数据块复制到远程灾难恢复中心所对应的逻辑卷中去。这种方式一般通过专用的逻辑卷复制软件来实现。与存储阵列复制相比,在操作系统逻辑卷层实现的远程数据复制会占用生产中心主机系统的资源,影响主机上应用软件的运行效率。4.1逻辑卷复制的实现机制逻辑卷复制一般有下面三