Increase incremental backup speed by enabling CBT

  • VMware
  • 2 comments

In a recent VMware environment I was working in, we noticed that our incremental backups was taking a long time (like up to 7-8 hours) to complete. After digging around it was found that VMware actually has a feature built-in since version 4 called Change Block Tracking (CBT). CBT will track any blocks that were changed since the last backup and tag them and stores the information in a -CTK file. The obvious benefit is that now the third party software only backs up the changed block and not the entire VM each time, reducing the amount of data being backed thus speeding up backups and even lowers the CPU utilization on the VM host.

CBT is disabled by default though there are some backup tools that will enable it automatically or you can enable it manually which can easily be done following these steps:

Enable Change Block Tracking (CBT) on a VM

  1. Power off the VM, then right click on it and select Edit Settings… > Options Tab > General > and click on Configuration Parameters.
    vm properties
  2. Click on Add Row and add:
    ctkEnabled = True
    configuration parameters
  3. Then for each virtual disk on your VM, add the following:
    scsix:x.ctkEnabled = True
    Replacing X with the controller and disk number of each disk. On my virtual machine I have two disks attached:
    vm disk1

    vm disk2
    Entered as:
    scsi0:0.ctkEnabled = True
    scsi1:0.ctkEnabled = True

    configuration parameters adding a disk

  4. Now click on OK and power on the VM.
  5. When you browse the Datastore for the VM you will see a vmname-CTK.VMDK file for each drive

Requirements to enable Change Block Tracking

  • VM needs to be running hardware version 7.0 or newer
  • ESXi host much be version 4.0 or newer
  • Virtual Disks: Thin, Thick, Virtual RDM are compatible, RDM in physical compatibility mode is NOT supported.

Disable Change Block Tracking (CBT) on a VM

  1. Power off the VM and re-open Configuration Parameters
  2. Change ctkEnabled = True to ctkEnabled = False

After enabling CBT in the environment I spoke of above, incremental backups was now only taking 30mins to an 1 hour to complete!

Note: VMware does acknowledges that CBT could lose track of incremental changes in the event of a power failure or hard shutdown.

Was this blog post helpful? If so, please VOTE for me in the Top vBlog. Thank you!

If you’re looking to get in touch, follow me on Twitter!