Changed Block Tracking for Hyper-V and 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.
This chapter covers the following topics:
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.
- Follow the backup wizard steps to the Select Virtual Machines step.
- Click Advanced Settings.
- Select the Use Changed Block Tracking check box.
- Follow the backup wizard steps to save the backup plan configuration.
Changed Block Tracking for Hyper-V
Changed block tracking (Resilient Change Tracking in Hyper-V terminology) is a feature that implements changed block tracking for Hyper-V VM disks. Changed Block tracking can be enabled by users to optimize the backup procedure and save backup data reading time. Once the Changed Block Tracking option is enabled, only changed blocks of a virtual machine disk (vhdx) between two backup operations are read.
How It Works
Backup for Windows supports now the Changed Block tracking for Hyper-V virtual machines.
Changed Block Tracking is supported for the following Windows versions:
- Windows Server 2016 and later
- Windows 10 (Enterprise, Pro, Education editions) and later
Note that in order to apply the Changed Block Tracking, VM configuration version must be 6.2 or later
On a virtual machine incremental backup with enabled Back up Current Hyper-V Checkpoint only and Use Changed Block Tracking options, a new checkpoint is created of the VM disk, and the snapshot contents are uploaded to the backup storage. The checkpoint is deleted automatically on Hyper-V after the backup plan is completed.
After the backup plan is completed, the checkpoint differencing file (.avhdx) is frozen. This is a difference compared to VSS snapshot processing on Windows Server 2012 and 2012 R2 operating systems, in which the snapshot difference file is retained on the virtual to keep incremental changes.
On the next backup plan run, a new checkpoint is created and compared against the change-tracking information from the previous backup operation to determine the data that has changed. Then, only the changed blocks are backed up.
Changed Block Tracking block IDs are unique, so no block interference problems occur in case of simultaneous use of another backup software.
Enable Changed Block Tracking for Hyper-V
To enable Changed Block Tracking, proceed as follows:
- Create or edit the Hyper-V backup plan. If you create a new Hyper-V backup plan, you will be prompted to enable the Changed Block Tracking feature in the beginning.
- Follow the backup wizard step to the Select Virtual Machines step.
- Select virtual machines to back up.
- Click Advanced Settings.
- Select the Back up current Hyper-V checkpoint only check box.
- Select the Use Changed Block Tracking (BETA) check box, then click Next.
- Follow the backup wizard steps to save the backup plan configuration.