持续数据保护技术是对传统数据保护技术的一个重大突破。系统管理者无须关注数据的备份过程,而是仅仅当灾难发生后,简单地选择需要恢复到的数据备份时间点即可实现数据的快速恢复。
灾难恢复的对象主要有两个,其一是应用的业务数据,其二是应用的运行状态。通常的灾难恢复技术包括数据的备份、复制、应用的远程集群等。现在,一种新的灾难恢复技术――持续数据保护(Continuous Data Protection,CDP)又成为我们实现灾难恢复的新选择。
SNIA数据保护论坛(DMF)的持续数据保护特别兴趣小组(CDP SIG)对CDP的定义是: “持续数据保护是一套方法,它可以捕获或跟踪数据的变化,并将其在生产数据之外独立存放,以确保数据可以恢复到过去的任意时间点。持续数据保护系统可以基于块、文件或应用实现,可以为恢复对象提供足够细的恢复粒度,实现几乎无限多的恢复时间点。”
持续数据保护技术是对传统数据保护技术的一个重大突破。传统的数据保护解决方案专注在对数据的周期性备份上,因此一直伴随有备份窗口、数据一致性以及对生产系统的影响等问题。现在,CDP为用户提供了新的数据保护手段,系统管理者无须关注数据的备份过程(因为CDP系统会不断监测关键数据的变化,从而不断地自动实现数据的保护),而是仅仅当灾难发生后,简单地选择需要恢复到的数据备份时间点即可实现数据的快速恢复。
持续数据保护的技术特点
和传统的灾难恢复技术相比,持续数据保护具有如下明显的特点:
首先是可以大大提高数据恢复时间点目标。由图1可以看出,备份技术实现的数据保护间隔一般为24小时,因此用户会面临数据丢失多达24小时的风险,采用快照技术,可以将数据的丢失量风险降低到几个小时之内,而CDP能够实现的数据丢失量可以降低到几秒(当然,不同的CDP产品和解决方案提供的时间精度也不尽相同)。实际上,在传统数据保护技术中采用的是对“单时间点(SPIT,Single Point-In-Time)”的数据拷贝进行管理的模式,而持续数据保护可以实现对“任意时间点(APIT,Any Point-In-Time)”的数据访问。
由图1还可以看出,虽然复制技术可以通过与生产数据的同步获得数据的最新状态,但其无法规避由人为的逻辑错误或病毒攻击所造成的数据丢失。当生产数据由于以上原因导致数据遭到破坏时(例如数据被误删除),复制技术会将遭到破坏的数据状态同步到后备数据存储系统,使后备数据也受到破坏。CDP系统可以使数据状态恢复到数据遭到破坏之前的任意一个时间点,也就可以消除前者具有的风险。
另外,由于恢复时间和恢复对象的粒度更细,所以持续数据保护的数据恢复也更加灵活。目前的部分产品和解决方案允许最终用户(而不仅仅是系统管理员)直接对数据进行恢复操作,这在很大程度上方便了使用者。根据这个特性,有业内人士指出,CDP技术甚至有可能取代某些(例如软件开发或制图等应用)系统的版本控制功能,使开发人员把精力专注于开发和设计。
持续数据保护的关键技术
持续数据保护实现的关键技术是对数据变化的记录和保存,以便实现任意时间点的快速恢复。一般来讲,有三种实现方式:
1. 基准参考数据模式,如图2所示。
2. 复制参考数据模式,如图3所示。
3. 合成参考数据模式,如图4所示。
基准参考数据模式原理简单,实现起来比较容易,但由于数据恢复时需要从最原始的参考数据开始,逐步进行数据恢复,因此恢复时间比较长,尤其是恢复时间点越靠近当前的时间,恢复所需要的时间就越长。
复制参考数据模式和基准参考数据模式在实现原理上恰好相反。复制参考数据模式在数据恢复时,恢复的时间点越靠近当前,所需要的恢复时间越短。但在数据的保存过程中,需要同时进行数据和日志记录的同步,需要较多的系统资源。
合成参考数据模式是以上两种模式的折衷,较好地实现了以上两种模式的妥协,因此可以得到较好的资源占用和恢复时间效果。但需要复杂的软件管理和数据处理功能,实现起来比较复杂。
持续数据保护的实现模式
持续数据保护技术或解决方案的实现有多种模式。不同的厂商建立了不同的持续数据保护模型,参考SNIA的存储共享模型, 可以将实现持续数据保护的产品或解决方案分为如下几类:
● 基于应用的持续数据保护
● 基于文件的持续数据保护
● 基于数据块的持续数据保护
1.基于应用实现持续数据保护
对需要保护的关键应用程序,可以在其中直接嵌入和运行CDP功能。这种实现CDP的方式首先能够和应用进行深度整合,确保应用数据在持续保护中的一致性。CDP功能可以由软件厂商将其直接嵌入在软件产品中,也可以是软件厂商提供API接口,由第三方软件开发商来开发完成。
基于应用的CDP最大好处是与应用程序结合紧密,管理也比较灵活,易于用户部署和实施。
目前基于应用程序的CDP解决方案大部分是针对成熟的应用开发的。已经有某些产品可以支持微软公司的Office、Exchange、IBM的DB2,以及Oracle数据库等。
2.基于文件实现持续数据保护
基于文件的CDP,其功能作用在文件系统上。它可以捕捉文件系统数据或者元数据的变化事件(例如创建、修改、删除等),并及时将文件的变动进行记录,以便将来实现任意时间点的文件恢复。
IBM公司的VitalFile、Storactive公司的LiveBackup for Desktop/Laptops、TimeSpring公司的TimeData等产品,都能提供基于文件的CDP功能。VSS是微软公司基于Windows操作系统的一项CDP功能实现模块,VSS提供了实现CDP(尽管其备份时间粒度比较大)的API,第三方软件可以在其基础上进行开发,目前基于VSS的产品有微软的DPM和Symantec的Backup Exec 10D等。
3.基于数据块实现持续数据保护
基于块的CDP功能直接运行在物理的存储设备或逻辑的卷管理器上,甚至也可以运行在数据传输层上。当数据块写入生产数据的存储设备时,CDP系统可以捕获数据的拷贝并将其存放在另外一个存储设备中。
基于数据块的数据保护又有基于主机层、基于传输层和基于存储层三类实现方式。
一般来讲,基于块的持续数据保护除在主机层实现以外,相关的产品和技术比较复杂,实施成本也相应地比较高,因此适合于有持续数据保护需求的大中型企业。
由于CDP技术在数据保护和灾难恢复中具有的特点和优势,越来越多的用户会将目光投放在这一灾难恢复的新技术上。相信随着时间的推移,技术的不断发展和成熟,会有越来越多的持续数据保护解决方案和产品出现,在实现持续数据保护的需求上,用户将会有越来越多的选择。