变更数据块追踪
针对数据保护的vStorage API接口对于备份和复制应用最为有益,厂商们对其中新推出的变更数据块追踪技术尤为感兴趣。这个新特性允许第三方应用通过直接查询虚拟机内核来判断上次备份后虚拟机磁盘上的哪些数据块做出了更改。在没有这种特性的时候,应用则需要自己来判断,这样就会耗费更多的时间。而今有了变更数据块追踪(CBT)技术,就可以立即找出被改动的数据块,从而能确定需要备份的数据有哪些。这个特性使得增量备份可以更快的完成,同时也允许在将虚拟机文件复制到其它地点时可以实现快速的连续数据保护(CDP)。此外,基于时间点的恢复操作也随之变得更为便利,原因是变更数据块追踪(CBT)能够准确的告诉哪些数据块需要被恢复到虚拟机上。
任何在vSphere上的存储设备以及数据仓储除了物理方式的裸设备映射之外都能支持变更数据块追踪功能,这也包括了iSCSI,VMFS,NFS以及本地磁盘。变更数据块追踪是vSphere的新特性,所以需要虚拟机硬件版本必须为版本7,这也是vSphere中默认的。由于考虑到对性能上的微弱影响,变更数据块追踪功能是默认关闭的。可以通过在修改在虚拟机上的配置文件中选择特定的参数来开启这个特性(ctkEnabled=true and scsi#:#.ctkEnabled=true),备份软件也可以通过相应的SDK来开启这个功能。一旦开启之后,虚拟机需要通过一个被称为stun/unstun的操作使得更改生效。这个操作可以在虚拟机的开机/关机,暂停/恢复以及创建或者删除快照中完成。在这个操作中,将会打开一个虚拟机的磁盘,然后允许为该虚拟机在存储堆栈中插入一条变更追踪过滤器。
变更数据块追踪特性将关于变更的数据块信息存放在每个虚拟机主目录下的一个特殊的“-ctk.vmdk”文件中。这个文件的长度是特定的,并根据虚拟磁盘的大小而不同(每10GB大小的虚拟机磁盘文件对于0.5MB的文件大小)。在这个特殊的文件中,每个数据块的的状态将会有序的存放起来,这样就可以方便告诉应用程序相应的数据块是否有被更改。每个开启变更数据块追踪功能的虚拟磁盘上都会存在这样的一个特殊文件。
用于数据保护的vStorage API接口以及变更数据块追踪特性使vSphere中的备份更为容易和方便,同时也是VCB备份架构的一个大改进。在vSphere中,VMware提供给第三方厂商一个更加友好的接口,这样厂商们就可以将他们的产品更好的和vSphere结合在一起。