CDP技术剖析、详解与应用实战

一、 CDP与备份、复制的不同

通常的灾难恢复技术包括数据的备份、复制、应用的远程集群等。目前,一种新的灾难恢复技术—-持续数据保护(Continuous Data Protection,CDP)开始进入应用成熟期。过去几年来,所有主要的厂商都开始进入CDP市场,从而推动CDP成为主流技术。如今,市场上已经有很多CDP厂商,比如Atempo、BakBone、DataCore、EMC、FalconStor、IBM、InMage等等,浪潮也在新推出的海量存储平台中,融合了CDP的功能,帮助用户实现对数据的高效保护。

如何给CDP下个准确的定义呢?SNIA数据保护论坛(DMF)的持续数据保护特别兴趣小组(CDP SIG)是这样定义CDP的:"持续数据保护是一套方法,它可以捕获或跟踪数据的变化,并将其独立存放在生产数据之外,以确保数据可以恢复到过去的任意时间点。持续数据保护系统可以基于块、文件或应用实现,可以为恢复对象提供足够细的恢复粒度,实现几乎无限多的恢复时间点。"

传统的数据保护解决方案专注在对数据的周期性备份上,因此一直伴随有备份窗口、数据一致性和对生产系统的影响等问题。实际上,传统数据保护技术中采用的是对"单一时间点(Single Point-In-Time)"的数据拷贝进行管理的模式,而CDP可以实现对"任意时间点(Any Point-In-Time)"的数据访问,因此可以大大提高数据恢复点目标(RPO)。备份技术实现的数据保护间隔一般为24小时,因此用户会面临数据丢失多达24小时的风险,采用快照技术,可以将数据的丢失量风险降低到几个小时之内,而CDP能够实现的数据丢失量可以降低到秒级。

另外一种在数据容灾中常见的数据保护技术是复制技术,它可以通过与生产数据的同步获得数据的最新状态,但其无法规避有人为的逻辑错误或病毒攻击所造成的数据丢失。当生产数据由于以上原因导致数据遭到破坏时(例如数据被误删除),复制技术会将遭到破坏的数据状态同步到容灾数据存储系统,使容灾数据也受到破坏。而CDP系统可以使数据状态恢复到数据遭到破坏之前的任意一个时间点,因而消除了复制技术所含的风险。

二、 CDP的实现模式探讨

持续数据保护实现的关键技术是对数据变化的记录和保存,以便实现任意时间点的快速恢复。持续数据保护技术有多种实现模式,不同的厂商建立了不同的CDP模型,从目前市场主流厂商的CDP产品的实现模式来分析,主要有两种:基于文件实现CDP和基于数据块实现CDP。

1、 基于文件实现CDP

基于文件的CDP,其功能作用在文件系统上,它可以捕捉文件系统数据或者元数据的变化事件(比如创建、修改、删除等),并及时将文件的变动记录下来,以便将来实现任意时间点的文件恢复。Storactive公司的LiveBackup for Desktop/Laptops、TimeSpring公司的TimeData、浪潮公司的NearCDP等产品,都能提供基于文件的CDP功能。

2、 基于数据块实现CDP

基于块的CDP功能直接运行在物理的存储设备或逻辑的卷管理器上,甚至也可以运行在数据传输层上。当数据块写入生产数据的存储设备时,CDP系统可以捕获数据的拷贝并将其存放在另外一个存储设备中。

基于数据块的数据保护又有基于主机层、基于传输层和基于存储层三类实现方式。

(1) 基于主机端卷管理软件或客户端代理软件Agent实现

目前常见的主机端卷管理软件有Veritas VxVM、Linux LVM、Microsoft动态磁盘等,也有厂商针对Linux和Windows平台开发了客户端代理软件Agent,它们的功能是通过卷镜像的方式获取生产数据的动态副本,并以此副本为基准进行数据持续保护。Symantec Storage Foundation、FalconStor CDP、浪潮CDP属于此类。

(2) 基于传输层实现

通过含有Data Splitter功能的FC SAN交换机来获取同写入生产卷相同的I/O数据块,这种FC SAN交换机有Brocade AP-7420B、CISCO MDS9000配置SANTAP SSM模块等,价格比较高。EMC Recoverpoint、LSI StoragAge等属于这种方式。

(3) 基于存储层实现

某些厂商的存储阵列本身支持Write Splitter功能,比如EMC ClariiON磁盘阵列,这种实现方式比较受限于厂商。

通过上面介绍的三种方式可以获取动态变化的生产数据的副本,下一步的任务是如何将数据的每一次的数据变化跟踪保存下来,从而实现持续数据保护。不同的厂商大多采取了以下两种实现方式:

(1) 通过记录数据差异事件日志的方式

首先需要建立供数据恢复时参考用的数据拷贝,但CDP开始运行时,实时在已建立的数据拷贝基础上开始顺序向前记录数据差异事件日志。但需要恢复数据时,从最原始的参考数据拷贝开始,依据数据差异日志进行数据恢复。但恢复时间点越靠近当前的时间,恢复所需要的时间就越长。

还有另外一种记录数据差异事件日志的模式,即供恢复用的参考数据实时与生产数据同步;在同步的同时,在当前数据的基础上记录时间的回退事件;需要恢复时,在当前数据的基础上,依据数据回退差异记录日志将数据回退到过去的任意时间点。这种方式恢复的时间点越靠近当前,所需要的恢复时间越短。但在数据的保存过程中,需要同时进行数据和日志记录的同步,需要比较多的系统资源。

(2) 通过对数据卷持续快照的方式

通过对获取的生产卷的实时镜像副本进行持续快照的方式来保存历史数据,可以实现细粒度到秒级的持续数据保护。通过相应应用程序的Agent,可以做到精确的相关数据卷组的数据一致性,从而可以在极短时间内实现应用级的灾难恢复。快照技术的实现包括写时拷贝(Copy-on-Write)和写时重定向(Redirect-on-Write)等不同的方式。浪潮CDP功能正是这种CDP实现方式的代表。

CDP的出现使得用户拥有了一个连续备份的梦想,而如何利用好CDP,让CDP更好的产品化,更好的为用户服务,将是浪潮存储不懈追求的目标。