Changed Block Tracking (CBT)

From SEPsesam
Jump to: navigation, search
Other languages:
Deutsch • ‎English

Copyright © SEP AG 1999-2021. All rights reserved.

Any form of reproduction of the contents or parts of this manual is allowed only with the express written permission from SEP AG. When compiling and designing user documentation SEP AG uses great diligence and attempts to deliver accurate and correct information. However, SEP AG cannot issue a guarantee for the contents of this manual.

Docs latest icon.png Welcome to the latest SEP sesam documentation version 4.4.3 Tigon/4.4.3 Beefalo V2. For previous documentation version(s), check Documentation archive.


The Changed Block Tracking (CBT) feature is an incremental backup technology for VMware and Citrix XenServer that identifies changes on block level and backs up only disk blocks of a VM’s virtual disk that have changed since the last backup; in case of VMware it also backs up the blocks that are in use (on VMFS partitions). SEP sesam uses CBT to perform block level incremental (INC) and differential (DIFF) backups of VMDKs (VMware) or VDIs (Citrix XenServer) after a full (FULL) backup has been successfully executed.

SEP sesam enables CBT automatically by default to optimize backups of VMs. This way the amount of copied data is reduced, which results in reduced amount of time for the backups, reduced network bandwidth required for transferring data, and reduced required storage capacity.

CBT tracks changes of the corresponding VMDK/VDI file in special log file (CTK on VMware, log file on Citrix XenServer). These files are permanent and must not be deleted after the backups.

> CBT on VMware

> CBT on Citrix XenServer

CBT on VMware

SEP sesam provides efficient data protection for virtual machines (VMs) running on VMware ESXi servers by using VMware vSphere Storage APIs – Data Protection (VADP). Part of the VADP is also Changed Block Tracking (CBT). CBT can identify the disk sectors altered between two change set IDs on many file systems and, on VMFS partitions, can also identify all the disk sectors that are in use.

Prerequisites for using CBT

SEP sesam enables CBT globally by default if the following prerequisites are met:

  • The host must be ESX/ESXi 4.0 or later.
  • VMs must be using hardware version 7 or newer.
  • I/O operations must go through the ESX/ESXi storage stack. NFS is supported, RDM is also supported in virtual compatibility mode, but not in physical compatibility mode (rdmp). VMFS is supported, backed by SAN, iSCSI, or local disk.
  • Virtual machine storage must not be (persistent or non-persistent) independent disk – unaffected by snapshots.
  • If there are any existing snapshots of VM, CBT cannot be enabled.

CBT restrictions

SEP sesam uses CBT for performing incremental backups and calls VMware QueryChangedDiskAreas("*") for the list of changed areas from the last given snapshot that should be included in backup. QueryChangedDiskAreas("*") is done in full backups; it returns information about areas of a virtual disk that are in use (allocated). The first time QueryChangedDiskAreas("*") is called, it returns allocated areas of virtual disk. All subsequent calls then return changed areas rather than allocated areas. Note that what CBT does depends on the disk type; it would return used space only for thin and thick lazy zeroed disks.

VMware states the following restriction: Be aware that entire disks are allocated, and are therefore returned when QueryChangedDiskAreas("*") is used in the following scenarios:

  • When a cloned thick disk is created.
  • Disks are formatted by using the long format setting.
  • Disks are created with vmkfstools using the eagerZeroedThick format option – eager zeroed thick disks.
  • VMDK is stored on the storage which does not support VMFS, such as NFS or iSCSI devices.

Additionally, the following restrictions apply for CBT:

  • VMware does not support enabling CBT on a VM that already has some existing snapshots. As specified by VMware, for CBT to work "the virtual machine must have zero (0) snapshots when CBT is enabled, for a clean start".
  • Prior to vSphere 6.5, the QueryChangedDiskAreas("*") returns an error if the CBT data is corrupt. This would lead to an inflated (but correct) incremental/differential backup. However, as of vSphere 6.5, the QueryChangedDiskAreas("*") no longer returns an error for corrupt CBT data, which may lead to corrupt or incomplete incremental/differential backup.

For more details on CBT, see the VMware article Changed Block Tracking (CBT) on virtual machines.

Disabling and enabling CBT for VMware globally

By default, SEP sesam enables the CBT functionality globally. CBT is enabled per virtual disk. In SEP sesam v. ≤ 4.4.3 Grolar, it was possible to disable/enable CBT in the backup task properties, as described in the section below Disabling and enabling CBT in backup task. This is no longer supported in v. ≥ 4.4.3 Beefalo.

Information sign.png Note
Typically, there is no need to disable CBT. By disabling CBT, the respective VM's FULL/DIFF/INC backup chain is aborted without the possibility to perform subsequent DIFF and INC backups. Only COPY backups are possible which means that the whole VMDK including empty blocks (provisioned size means that the size of a backup and the size of VMDK equals) will be backed up each time.
  1. In the SEP sesam GUI, from the menu bar select Configuration -> Defaults, and then switch to tab Extras.
  2. Under the Extras options, select or deselect the check box Globally activate changed block tracking (CBT).
  3. CBT global Beefalo V2.jpg

Disabling and enabling CBT in backup task (v. ≤ Grolar)

In v. ≤ 4.4.3 Grolar, you can also disable/enable the CBT functionality in the backup tasks properties. This change takes effect when the next backup is run and is applied to all backup tasks related to the respective VM.

Information sign.png Note
Typically, there is no need to disable CBT. By disabling CBT, the respective VM's FULL/DIFF/INC backup chain is aborted without the possibility to perform subsequent DIFF and INC backups. Only COPY backups are possible which means that the whole VMDK including empty blocks (provisioned size means that the size of a backup and the size of VMDK equals) will be backed up each time.
  1. From Main Selection -> Tasks -> By Clients, select the vCenter client and click New Backup Task, or double-click an already existing backup task.
  2. If you are creating a new backup task, specify the Source. Browse for the VM that you want to include in the backup and select it. Note that you can only configure one VM per backup task. By selecting the source, the task type and task name are set automatically.
  3. If you are changing only the CBT option, move to the next step.

  4. Use the following options carefully.
  5. Backup as image-CBT default.png

    • By default, Backup as Image option is enabled and performs a FULL raw backup of VMDK without CBT, even though the CBT is selected. However, CBT is applied for subsequent differential and incremental backups. If Backup as image option is deselected while the CBT stays enabled, the CBT is fully utilized. For details on how the combination of these options affects the size of your backed up data, check VMware single file restore & instant recovery support matrix.
    • If you want to exclude a dedicated virtual disk (VMDK) from snapshot operations and backup only VM configuration, select the Backup only the VM configuration check box. In this case, only Open Virtualization Format (OVF) file and VM configuration are backed up.
    • By default, Changed Block Tracking option is enabled. Disabling it will break a CBT backup chain (full, differential, incremental) for all backup tasks related to the same VM! If enabled again, you must run a full backup to start a new backup chain.
      Information sign.png Note
      Resetting CBT requires administrator privileges.
  6. Click OK to save the task.

CBT on Citrix XenServer

CBT support for for Citrix XenServer ≥ 7.3 was introduced with v. 4.4.3 Grolar. It is available for clients with XenServer Enterprise Edition by default.

CBT provides incremental backup capabilities; hence, all backup levels (FULL, INC and DIFF) can be used for Citrix XenServer backups. Since CBT for Citrix XenServer ≥ 7.3 is enabled by default, it can be skipped only by performing a copy backup. For details, see Citrix XenServer Backup.

There are some considerations to take into account when restoring a differential or incremental backup from Citrix Xen VM. For details, see Citrix XenServer Restore.

See also

VMware requirements & restrictionsVMware BackupVMware RestoreVMware Single File RestoreVMware Instant RecoveryCitrix XenServer BackupCitrix XenServer Restore