Changed Block Tracking limits after a VM restore from a VADP backup
0 reputation · 17 Mar 2021, 14:09 UTC
0 reputation · 17 Mar 2021, 14:09 UTC
Changed Block Tracking (CBT) allows VADP-based backup software to run incremental backups by reading only the regions of a virtual disk that changed since the previous pass. The goal is to determine whether CBT data remains trustworthy immediately after a VM is restored from a VADP backup, so the next incremental job does not silently produce an incomplete chain.
The uncertainty is whether vSphere invalidates the tracking data (.ctk files) automatically when a restore replaces a VM's disks, or whether that state can survive the restore and no longer match the restored disk contents. Restore paths differ — full VM restore, re-attaching restored disks, and restores built on storage snapshots — and it is unclear whether CBT handling is consistent across all of them.
35275 reputation · 18 Mar 2021, 00:56 UTC
vSphere does not automatically clear Changed Block Tracking (CBT) state when a VM is restored from a VADP backup. The CBT metadata (.ctk files and the per‑disk changeId) can survive the restore and become out‑of‑sync with the restored disk contents. Consequently, the first incremental backup after a restore is not guaranteed to be complete or consistent unless the backup software forces a full backup or explicitly resets CBT before resuming incrementals.
ctkEnabled).When a restore replaces a virtual disk (full VM restore, disk re‑attach, or storage‑snapshot‑based restore), the newly presented disk may retain the old .ctk file if the backup process copies it, or the VM configuration may retain the ctkEnabled flag. If the underlying disk backing changes (different UUID, different SCSI target, or new VMDK), the stored changeId no longer matches the disk’s sector‑level history, causing QueryChangedDiskAreas to return incomplete or no changed areas. This mismatch can lead to an incremental backup that appears successful but omits blocks that actually changed since the last good backup.
Get-VM -Name <VMName> | Get-HardDisk | Select-Object Name, @{N='ChangeId';E={$_.ExtensionData.Backing.ChangeId}}, @{N='CTKEnabled';E={$_.ExtensionData.Backing.ctkEnabled}}
ctkEnabled (global switch) if needed.scsiX:Y.ctkEnabled) and then quiesce the VM so a new changeId is generated.
If you can confirm the exact vSphere/ESXi version and the restore method used (full VM restore vs. disk re‑attach vs. storage‑snapshot restore), we can tell whether any version‑specific automatic CBT reset exists. Without that detail, the safest universal approach is to force a full backup or reset CBT as described above.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.