Changed Block Tracking for VMware Backups

Changed Block Tracking is a feature that allows reading only blocks of a virtual machine disk that have changed since a certain point in time.

Changed Block Tracking for VMware

For modern VMware backup solutions, VMware introduced in ESXi 4.0 a technology called Changed Block Tracking or CBT to facilitate taking incremental backups of virtual machines. This technology is derived from the VMware Data Protection API which allows third-party backup applications to take advantage of CBT to perform backups. The absence of Changed Block Tracking caused a significant load on the ESX 3.x servers since there was no built-in mechanism for tracking changed blocks.

The main advantage of Changed Block Tracking is a significant saving of backup time for incremental backups. CBT mechanism tracks changes in a special Changed Block Tracking log file.

Now Changed Block Tracking in VMware vSphere is part of the vStorage APIs for Data Protection (VADP), which consists of two components VDDK (Virtual Disk Development Kit) and vSphere SDK.

Changed Block Tracking works at the level of the storage stack in the VMkernel module and allows third-party backup products to return a list of changed blocks since the last backup.

CBT can be used for any type of virtual disks, including VMFS/FS/iSCSI and NAS/NFS volumes, except for Raw Device Mapping (RDM) volumes in physical compatibility mode and disks mapped to a shared virtual SCSI bus.

By default, the Changed Block Tracking feature is disabled on VMware ESX servers. This is due to some load that CBT puts on the server CPU.

System Requirements

Note that the Changed Block Tracking feature requires the following hardware and software installed:

  • vSphere Version 7 virtual hardware or higher VM hardware compatibility: ESXi
  • NFS or iSCSI datastores
  • Thick or thin provisioning
  • No RAW disk mappings

How It Works

In case the Change Block Tracking feature is enabled on the ESXi server and is enabled by the user in a VMware backup plan, Backup for Windows attempts to enable it on every backup plan run.

If any of the previous snapshots are detected, the Changed Block Tracking is disabled and the incremental backup reads the whole backup plan dataset.

The same happens if the Changed Block Tracking feature is not supported. At this point, information received from the ESXi server is fully trusted, and the CBT feature is disabled or enabled according to the server replies.

Enable Changed Block Tracking

To enable the Changed Block Tracking feature, create a new VMware backup plan or edit the existing one.

  1. Follow the backup wizard steps to the Select Virtual Machines step.
  2. Click Advanced Settings.
  3. Select the Use Changed Block Tracking check box.

  1. Follow the backup wizard steps to save the backup plan configuration.