一、CDP与备份、复制的不同
通常的灾难恢复技术包括数据的备份、复制、应用的远程集群等。目前,一种新的灾难恢复技术----持续数据保护(ContinuousDataProtection,CDP)开始进入应用成熟期。过去几年来,所有主要的厂商都开始进入CDP市场,从而推动CDP成为主流技术。如今,市场上已经有很多CDP厂商,比如Atempo、BakBone、DataCore、EMC、FalconStor、IBM、InMage等等,浪潮也在新推出的海量存储平台中,融合了CDP的功能,帮助用户实现对数据的高效保护。
如何给CDP下个准确的定义呢?SNIA数据保护论坛(DMF)的持续数据保护特别兴趣小组(CDPSIG)是这样定义CDP的:“持续数据保护是一套方法,它可以捕获或跟踪数据的变化,并将其独立存放在生产数据之外,以确保数据可以恢复到过去的任意时间点。持续数据保护系统可以基于块、文件或应用实现,可以为恢复对象提供足够细的恢复粒度,实现几乎无限多的恢复时间点。”
传统的数据保护解决方案专注在对数据的周期性备份上,因此一直伴随有备份窗口、数据一致性和对生产系统的影响等问题。实际上,传统数据保护技术中采用的是对“单一时间点(SinglePoint-In-Time)”的数据拷贝进行管理的模式,而CDP可以实现对“任意时间点(AnyPoint-In-Time)”的数据访问,因此可以大大提高数据恢复点目标(RPO)。由于用户的备份策略通常是设定在每天的固定时刻启动备份任务,因此备份技术实现的数据保护间隔一般为24小时,导致用户会面临数据丢失多达24小时的风险;而采用快照技术,无论是基于文件系统的快照还是基于数据卷的快照,根据快照执行的间隔,一般可以将数据的丢失量风险降低到小时级;最新的CDP技术由于采用了更精细的数据保护方法,能够实现将数据丢失量降低到秒级。
另外一种在数据容灾中常见的数据保护技术是复制技术,它可以通过与生产数据的同步获得数据的最新状态,但其无法规避有人为的逻辑错误或病毒攻击所造成的数据丢失。当生产数据由于以上原因导致数据遭到破坏时(例如数据被误删除),复制技术会将遭到破坏的数据状态同步到容灾数据存储系统,使容灾数据也受到破坏。而CDP系统可以使数据状态恢复到数据遭到破坏之前的任意一个时间点,因而消除了复制技术所含的风险。
不同的数据保护技术对于数据保护在时间间隔上的比较效果如下图所示:
二、CDP的实现模式探讨
持续数据保护实现的关键技术是对数据变化的记录和保存,以便实现任意时间点的快速恢复。持续数据保护技术有多种实现模式,不同的厂商建立了不同的CDP模型,从目前市场主流厂商的CDP产品的实现模式来分析,主要有两种:基于文件系统实现CDP和基于数据块实现CDP。
1、基于文件系统实现CDP
基于文件系统的CDP,其功能作用在文件系统上,它可以捕捉文件系统数据或者元数据的变化事件(比如创建、修改、删除等),并及时将文件的变动记录下来,以便将来实现任意时间点的文件恢复。Storactive公司的LiveBackupforDesktop/Laptops、TimeSpring公司的TimeData、浪潮公司的NearCDP等产品,都能提供基于文件的CDP功能。
2、基于数据块实现CDP
基于块的CDP功能直接运行在物理的存储设备或逻辑的卷管理器上,甚至也可以运行在数据传输层上。当数据块写入生产数据的存储设备时,CDP系统可以捕获数据的拷贝并将其存放在另外一个存储设备中。
基于数据块的数据保护又有基于主机层、基于传输层和基于存储层三类实现方式。
(1)基于主机端卷管理软件或客户端代理软件Agent实现目前常见的主机端卷管理软件有VeritasVxVM、LinuxLVM、Microsoft动态磁盘等,也有厂商针对Linux和Windows平台开发了客户端代理软件Agent,它们的功能是通过卷镜像的方式获取生产数据的动态副本,并以此副本为基准进行数据持续保护。SymantecStorageFoundation、FalconStorCDP、浪潮CDP属于此类。
(2)基于传输层实现通过含有DataSplitter功能的FCSAN交换机来获取同写入生产卷相同的I/O数据块,这种FCSAN交换机有BrocadeAP-7420B、CISCOMDS9000配置SANTAPSSM模块等,价格比较高。EMCRecoverpoint、LSIStoragAge等属于这种方式。
(3)基于存储层实现某些厂商的存储阵列本身支持WriteSplitter功能,比如EMCClariiON磁盘阵列,这种实现方式比较受限于厂商。
通过上面介绍的三种方式可以获取动态变化的生产数据的副本,下一步的任务是如何将数据的每一次的数据变化跟踪保存下来,从而实现持续数据保护。不同的厂商大多采取了以下两种实现方式:
(1)通过记录数据差异事件日志的方式首先需要建立供数据恢复时参考用的数据拷贝,但CDP开始运行时,实时在已建立的数据拷贝基础上开始顺序向前记录数据差异事件日志。但需要恢复数据时,从最原始的参考数据拷贝开始,依据数据差异日志进行数据恢复。但恢复时间点越靠近当前的时间,恢复所需要的时间就越长。
还有另外一种记录数据差异事件日志的模式,即供恢复用的参考数据实时与生产数据同步;在同步的同时,在当前数据的基础上记录时间的回退事件;需要恢复时,在当前数据的基础上,依据数据回退差异记录日志将数据回退到过去的任意时间点。这种方式恢复的时间点越靠近当前,所需要的恢复时间越短。但在数据的保存过程中,需要同时进行数据和日志记录的同步,需要比较多的系统资源。
(2)通过对数据卷持续快照的方式通过对获取的生产卷的实时镜像副本进行持续快照的方式来保存历史数据,可以实现细粒度到秒级的持续数据保护。通过相应应用程序的Agent,可以做到精确的相关数据卷组的数据一致性,从而可以在极短时间内实现应用级的灾难恢复。快照技术的实现包括写时拷贝(Copy-on-Write)和写时重定向(Redirect-on-Write)等不同的方式。浪潮CDP功能正是这种CDP实现方式的代表。
三、CDP的商业价值
“持续数据保护”的关键词是持续。就给定的数据集来说,CDP可以提供一个数据恢复点的连续体,能够根据需要提取任何时间点上的数据,这一点区别于由快照流程预先确定的特殊时刻。我们知道快照也可以保存过去时间点的数据集状态,它的特点是在时间轴上的一个离散时间点上创建的静态映像副本,即使有的存储厂商的产品可以创建时间点非常密集的数据快照,它也是离散的,而不是连续的。而CDP可以提供粒度无限的恢复点(RPO),有些情况下可以提供接近即时的恢复时间目标(RTO)。这是因为,通常一有写操作就触发CDP数据保护,每一次的数据改变都通过日志记录,恢复可以发生在任何时间点,时间点的划分可以细化到单个写操作。CDP技术的这个特性,可以实现非常巨大的商业价值。
1、备份窗口
CDP技术去除了备份窗口,而且是自动实现,无需应用交互。由于数据保护的细粒度特性,对于应用写操作的影响可以忽略不计。
2、恢复窗口
CDP技术有两种数据恢复方式。一种是虚拟化恢复,也就是说CDP允许在应用数据可用后,由客户端系统直接利用CDP保护数据重新上线和运行,然后再进行数据的移动恢复操作。这种恢复方式可以实现最小的RTO目标。
还有一种方式就是前面介绍的利用记录数据差异事件日志的方式,通过重新运行日志中记录的写操作向前或向后滚动恢复及时将应用数据恢复到动态选择的时间点状态。这种恢复的恢复时间取决于恢复操作要回溯的时间长短,一般情况下,要比快照恢复时间快得多。
3、多个恢复点目标
CDP可以提供无数个恢复点RPO,而且允许用户动态重建以前的任意时间点数据,因此恢复点可以选择在故障发生前的那一刻,从而可以实现零数据损失。相对的,有的厂商通过建立多个快照的方法来获得类似CDP的RPO能力,则需要付出多得多的资源来创建、管理、维持这些快照。
总之,如果你要实现接近于零的宕机时间和零数据损失的目标,那么CDP是目前最好的选择。
CDP的出现使得用户拥有了一个连续备份的梦想,而如何利用好CDP,让CDP更好的产品化,更好的为用户服务,将是浪潮存储不懈追求的目标。