To perform incremental backup, Veeam Backup & Replication needs to know what data blocks have changed since the previous job session.
For VMware VMs with hardware version 7 and later, Veeam Backup & Replication employs a native VMware vSphere feature — VMware vSphere Changed Block Tracking (CBT). Instead of scanning VMFS, Veeam Backup & Replication queries CBT through VADP and gets the list of blocks that have changed since the last job session. Use of CBT increases the speed and efficiency of block‑level incremental backups.
Veeam Backup & Replication uses CBT for the following operations:
- Entire VM restore
- VM disk restore
CBT is enabled by default. If necessary, you can disable it in job settings.
For VMs with virtual disks in thin format, Veeam Backup & Replication also uses CBT during active full backup sessions to detect unallocated regions of virtual disks and skip them.
In some situations, Veeam Backup & Replication cannot leverage VMware vSphere CBT, for example, if VMs run an earlier version of virtual hardware or CBT is disabled at the ESX host level. If Veeam Backup & Replication cannot leverage VMware vSphere CBT, it fails over to Veeam’s proprietary filtering mechanism. Instead of tracking changed blocks of data, Veeam Backup & Replication filters out unchanged data blocks.
During VM processing, Veeam Backup & Replication consolidates virtual disk content, scans through the VM image and calculates a checksum for every data block. Checksums are stored as metadata to backup files next to VM data. When incremental backup is run, Veeam Backup & Replication opens all backup files in the chain of previous full and incremental backups, reads metadata from these files and compares it with checksums calculated for a VM in its current state. If a match is found (which means the block already exists in the backup), the corresponding block is filtered out.