Changed Block Tracking (CBT) is a feature of VMWare that keeps track of virtual disk blocks that have changed between backups or replications. It can identify the disk sectors that have been altered between two change set identifiers. Enabling CBT on your VMs will substantially speed up your incremental backup and replication times. Most backup solutions now support incremental backups of virtual machines with CBT enabled.
With CBT enabled, block changes on the virtual disk are tracked in the virtualization layer. Your backup software or appliance can request only the disk blocks that have changed and the blocks in use since the last backup. Here’s how you enable it:
1. Ensure that your host is ESX/ESXi 4.0 or later and that your VM is hardware version 7 or greater.
2. Make sure your virtual disk is located on a SAN, iSCSI, or local disk VMFS volume.
3. Remove all snapshots prior to enabling CBT. CBT may work without removing snapshots, but VMWare recommends clearing them for a clean start.
4. Open vSphere Client and power off the virtual machine.
5. Right-click and select Edit Settings.
6. Select the Options tab, Advanced,General and Click Configuration Parameters.
7. In the VM’s configuration file (.vmx), add the following entries:
ctkEnabled = true scsix:x.ctkEnabled = true
(where “x:x” is the identifier of your virtual disk)
8. Your VM must go through a stun/unstun cycle (power on/power off, suspend/resume, create/delete snapshot) before CBT is enabled. If you followed these instructions, your VM is already powered off, so simply powering it on will complete the process. Power on the virtual machine and verify that your backup or replication software recognizes that the VM has CBT enabled.
You can also verify that CBT is enabled on a VM by ensuring that your virtual machine’s home directory contains a “hostname-ctk.vmdk” file. On a final note, I have seen VMs that take a few minutes to boot back up after enabling CBT. Don’t panic – go grab a coffee.