VMware数据块修改跟踪技术(Changed Block Tracking,CBT)是VMware vStorage API for Data Protection(VADP)的重要组成部分,是VMware简化和提高Vmware虚拟机备份效率的部分努力成果。
传统的虚拟机备份需要在每一个虚拟机上安装代理(agent)。这样尽管可行,却有操作困难的问题。在进行备份或者扫描的时候,每一个代理都占用物理机的资源。在一台服务器上安装一个代理问题不大。几十个虚拟机上安装几十个代理,将减少物理机上能够支持的虚拟机的数量。
更为复杂的问题在于虚拟机备份的时间把握。备份软件通常会在最短的时间段内尽可能多地执行备份作业。这样的目的是要满足本来就缩小了的备份窗口。当多个虚拟机备份作业在同一台物理机上同时进行的时候,性能就受影响。那些虚拟机都在占用诸如IO通道、总线、适配器和缓存等元素。结果,性能缓慢,导致备份作业错过备份窗口或者干脆失败。
VMware为备份软件市场提供解决虚拟机备份问题的第一个方案是VMware Consolidated Backup(VCB)。VCB并不能充分或者完全解决这个问题。VCB通过把ESX安装到一台共享SAN存储的外部的Microsoft Windows服务器上来实现其快照功能。在这台代理服务器上安装备份代理,然后备份代理服务器。VCB方式有明显的问题。这样做需要额外的服务器和网络硬件、存储、机架空间、机房空间、线缆、电源、机房制冷以及其他考虑。每台代理服务器上的虚拟机的数量受到严格的限制,而成本和性能往往也难以接受。
VMware解决这个问题的第二次尝试是早在2009年发布的vSphere 4,这个产品包含了在VADP和CBT方面优秀的成果。VADP取消了代理服务器,使得第三方数据保护和备份软件可以与VMware产品更加紧密地集成在一起。VADP实际上允许第三方软件暂停,并对一个、多个或者全部虚拟机进行快照,然后将快照数据提取或者复制到备份/媒体服务器。不需要类似VCB之类的代理服务器,VADP提供单个步骤、从源数据到目标数据的拷贝过程。VADP省略了虚拟客户机的备份过程和备份代理,因此不需要额外购买WMware软件。
有一个例外:VMware没有应用感知。它的快照不会暂停“热”备份模式下的数据库或者结构化应用。换言之,它不会刷新缓冲,按顺序写完,然后再进行快照。要想获得能够方便恢复的虚拟机应用的快照,仍然需要安装软件代理。
而且事实上,VADP与Citrix XenServer或者Microsoft Hyper-V服务器虚拟化技术并非完全不同。在这三种虚拟环境里,备份软件都是拷贝每个虚拟机的完整快照。由于是对虚拟机所有数据的完整拷贝,所以很难在指定的备份窗口内完成所有备份作业。
根据通常经验,一个典型的服务器应用的数据改变率介于每周0.5%与1%之间。当变化如此之少,每天备份100%的数据就没有什么意义了。因此,VMware选择存储系统快照厂商和常见的备份软件厂商,运用数据块修改跟踪技术来解决虚拟机数据保护问题。
概念上,数据块修改跟踪技术与差量备份、备份增量块或者增量备份类似。它判断在最近一次虚拟机快照之后是否有数据块被修改并对被修改的数据块进行标记。这样,第三方备份或者数据保护软件就能够只拷贝最近一次备份之后被修改的数据块。
这意味着这些备份软件不拷贝此前已经拷贝过的数据。数据的拷贝量通常会减少99%以上,节省了大量的备份时间。如果没有数据块修改跟踪技术,则只能先拷贝完整的快照到媒体服务器之后才可以这么做。即使备份或者数据保护软件提供增量块备份、增量备份、压缩或者重复数据删除,情况也一样。
在使用其他的数据删除技术之前,数据块修改跟踪技术就显著减少了拷贝的数据量,缩短备份和处理时间。
所有这些意味着什么?如果你打算备份VMvare vSphere虚拟服务器,那么就确保你的备份软件能有效利用VADP和数据块修改跟踪技术。这样做会更简单,可以节省时间和费用,并且减少备份数据的存储空间。