The VMware Knowledge Base provides support solutions, error messages and troubleshooting guides
Changed Block Tracking (CBT) on virtual machines (1020128)
Virtual disk block changes are tracked from outside virtual machines, in the virtualization layer. When software performs a backup, it can request transmission of only the blocks that changed since the last backup, or the blocks in use. The CBT feature can be accessed by third-party applications as part of the vSphere APIs for Data Protection (VADP). Applications call VADP to request that the VMkernel return blocks of data that have changed on a virtual disk since the last backup snapshot.
For CBT to identify altered disk sectors since the last change ID, the following items are required:
- The host must be ESX/ESXi 4.0 or later.
- The virtual machine owning the disks to be tracked must be hardware version 7 or later.
- I/O operations must go through the ESX/ESXi storage stack. So NFS is supported, as is RDM in virtual compatibility mode, but not RDM in physical compatibility mode. VMFS is supported, whether backed by SAN, iSCSI, or local disk.
- CBT must be enabled for the virtual machine (see below).
- Virtual machine storage must not be (persistent or non-persistent) independent disk, meaning unaffected by snapshots.
- The virtual disk must be located on a VMFS volume, backed by SAN, iSCSI, or local disk.
- The virtual machine must have zero (0) snapshots when CBT is enabled, for a clean start.
In some cases, such as a power failure or hard shutdown while virtual machines are powered on, CBT might reset and lose track of incremental changes. In vSphere 4.1 and prior, Cold Migration (but not Storage vMotion) could reset but not disable CBT. In vSphere 5.x, Storage vMotion resets CBT.
To check if a virtual disk has CBT enabled:
- Open the vSphere Client and select a powered-off virtual machine.
- Click Edit...Settings > Options > Advanced/General > Configuration Parameters.
- The virtual machine's configuration (.vmx) file contains the entry:
ctkEnabled = "TRUE"
Note: Set the value to False to disable CBT. For more information, see Enabling Changed Block Tracking (CBT) on virtual machines (1031873).
- For each virtual disk, the .vmx file contains the entry:
scsix:x.ctkEnabled = "TRUE"
- For each virtual disk and snapshot disk there is a .ctkfile. For example:
For more information, see the section Changed Block Tracking on Virtual Disks in the Designing vSphere Backup Solutions chapter of the Virtual Disk API Programming Guide.
Request a Product Feature
To request a new product feature or to provide feedback on a VMware product, please visit the Request a Product Feature page.