二、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实现方式的代表。