This is an archive version of the document. To get the most up-to-date information, see the current version.

Changed Block Tracking

In this article

    When Veeam Backup & Replication performs incremental backup, it needs to know what data blocks have changed since the previous job run. To keep track of changing data blocks, Veeam & Backup & Replication uses its proprietary Hyper-V changed block tracking mechanism (CBT).

    The CBT mechanism is implemented as a file system filter driver. Veeam CBT driver is installed on every Hyper-V host that is added to the list of managed servers in Veeam Backup & Replication. The driver is activated when the host is first addressed by a job with enabled CBT.

    The Veeam CBT driver keeps track of changing data blocks in virtual disks. Information on data blocks that have changed is registered in special .ctp files. When a job is run, Veeam Backup & Replication uses .ctp files to learn what blocks of data have changed since the last run of this particular job, and copies only changed data blocks from the disk image.

    Changed Block Tracking 

    .ctp files are stored in the C:\ProgramData\Veeam\CtpStore folder on standalone Hyper-V hosts or on every node of the Hyper-V cluster. The CtpStore folder contains a set of subfolders — one for every processed VM, in which the following files are stored:

    • .ctp files. These files are used by the Veeam CBT driver to keep track of changed data blocks. For every VHD/VHDX or AVHD/AVHDX file of a VM, there is a separate .ctp file.
    • notes.txt file. This file contains basic information about the VM such as VM name and ID, and describes for which .vhd files changed block tracking is enabled.

    If a Hyper-V VM is registered as a cluster resource, the Veeam CBT driver operates on all cluster nodes that have access to the VM disks on the CSV. When a backup job is run, Veeam Backup & Replication copies .ctp files to the temporary folder on the backup proxy used by the backup job:

    • If backup is performed in the on-host backup mode, .ctp files are copied to the Hyper-V host performing the role of the on-host backup proxy. For more information, see On-Host Backup.
    • If backup is performed in the off-host backup mode, .ctp files are copied to the off-host backup proxy.

    Use of CBT increases the speed and efficiency of block-level incremental backups. CBT is enabled by default. You can disable it either at the host level or at the job level for troubleshooting purposes. Note that if you choose to run incremental jobs with CBT disabled, the backup window may increase dramatically, as Veeam Backup & Replication will read all of VM data to detect what blocks have changed since the last job run.

    Changed Block Tracking Important!

    If you process VMs on a Microsoft Hyper-V cluster, make sure that the cluster nodes are online. If cluster nodes are in the maintenance mode, have the cluster service stopped, are powered off or not accessible, CBT will not work. To learn about other requirements for VMs on clusters and SMB3 storage, see https://www.veeam.com/kb1934.

    CBT Reset

    In some cases, CBT data may get corrupted. As a result, Veeam Backup & Replication will fail to process VMs with changed block tracking. In such situation, you can reset CBT data. For more information, refer to the Veeam support article KB1934.

    Keep in mind that CBT data is reset when you perform product upgrade. When you run a backup job for the first time after upgrade, Veeam Backup & Replication will not use changed block tracking. Instead, it will scan the VM image to learn what data blocks have changed.