CBT 简介
CBT (changed block tracking)是Vmware的一个feature,作用于vm的incremental 备份。 VDP就是使用了这项技术,同时它也可以被其他开发人员应用在备份还原软件中。
详解
在ESX/ESXi 主机上运行的虚拟机可以跟踪那些改变的磁盘扇区,这个feature就是Changed Block Tracking(CBT)。在许多文件系统中,CBT通过两个改变的ID集来确认改变的磁盘扇区。,在VMFS中,CBT同样可以识别所有正在使用的磁盘扇区。
虚拟磁盘块变化被外部的虚拟机跟踪,在虚拟层。当软件进行备份时,它可以请求传输那些从上次备份以来改变的磁盘块,或者那些正在使用的磁盘块。 CBT feature可以做为面向数据保护的Vsphere API(VADP)的一部分被第三方应用程序访问进行。应用程序调用VADP请求Vmkernel 返回那些自上次备份快照后改变的数据块。
硬件软件要求:
为了使CBT能够识别已经改变的数据磁盘,下面的要求应被满足:
1 注意必须是ESX/ESXi 4.0以及更高版本
2 拥有被跟踪的磁盘的虚拟机 硬件版本为7或更高
3 I/O操作都必须经过ESX/ESXi堆栈,因此要支持NFS,因为RDM是虚拟兼容模式,不是物理兼容模式。FMFS需要支持,无论是通过SAN、iSCSI,或者本地磁盘
4 虚拟机的CBT必须enable。
5 虚拟机存储一定不能使独立磁盘(永久的或者不永久的),独立磁盘以为战不收snapshot影响。
CBT识别change id 有*的磁盘扇区时,则需要以下:
1 虚拟磁盘必须安装在VMFS Volume上,通过SAN,iSCSI或者本地磁盘支持的均可;
2 当CBT enable时,虚拟机必须有一个具有零(0)的快照
在一些情形下,比如虚拟机运行时遭遇店里故障或者强制关机,CBT会重置和失去对增量变化的追踪。在Vsphere 4.1以及之前的版本中,cold migration(不是storage vMotion)会导致CBT重置,但是不会disable。 在vSphere5.x,Storge vMotion 会重置CBT。
检查虚拟磁盘是否enable CBT:
打开vSphere client,选择一个关机的虚拟机:
点击Edit Settings ->Options ->Advanced/general –> Configuration Parameters. -> Add Row,填写ctkEnable,设值为true。
Note:当值为 false时就disable CBT。
对每一个虚拟磁盘,添加
scsix:x.ctkEnable = “True”
对于每个虚拟磁盘和快照磁盘,都有.ctkfile,例如
Vmname.vmdk
Vmname-flat.vmdk
Vmname-ctk.vmdk
Vmname-000001.vmdk
Vmname-000001-delta.vmdk
Vmname-000001-ctk.vmdk