If a Veeam backup job gets interrupted part way through it, you can generally can retry with success.
However, depending on the reason for the backup job interruption, additional issues can arise, one of these being topic of this post, which is change block tracking (CBT) no longer working.
This could be due to a number of reasons, such as a snapshot being removed during a backup, network or storage outage, to a host becoming inaccessible.
You will notice within the backup job's action log the following warning:
"CBT data is invalid, failing over to legacy incremental backup. No action is required, next job run should start using CBT again.
If CBT data remains invalid follow KB1113 to perform CBT reset. Usual cause is power loss."
Note: This CBT issue is not Veeam specific and can affect any backup solution that makes use of change block tracking (CBT).
If after re-running the job you continue to receive the error stating "CBT data is invalid", it's time to take steps to remediate the issue.
The eagle eyed amongst you will notice Veeam KB 1113 referenced in the error.
Which in turn references VMware KB 2139574
https://kb.vmware.com/kb/2139574
This gives you two options;
1. Power off the VM and reset CBT
2. Run a script to reset CBT on all VMs, which uses a snapshot method to save having to power the VMs off.
However, what you may prefer is a method to perform this for one or two affected VMs without having to power off the VM or shutdown the guest OS.
Slightly tweaking the PowerCLI script VMware provide allows you to do just that.
I have modified the script into a simple code block so you can paste it into a PowerCLI session. Just amend the VM Name.
####################################################################
$vm = Get-VM GBLONDC01
$spec = New-Object VMware.Vim.VirtualMachineConfigSpec
$spec.ChangeTrackingEnabled = $false
$vm.ExtensionData.ReconfigVM($spec)
$SnapName = New-Snapshot -vm $vm -Name "CBT-Rest-Snapshot"
$SnapRemove = Remove-Snapshot -Snapshot $SnapName -Confirm:$false
$spec = New-Object VMware.Vim.VirtualMachineConfigSpec
$spec.ChangeTrackingEnabled = $true
$vm.ExtensionData.ReconfigVM($spec)
$SnapName1 = New-Snapshot -vm $vm -Name "CBT-Verify-Snapshot"
$SnapRemove1 = Remove-Snapshot -Snapshot $SnapName1 -Confirm:$false
####################################################################
It will take around 1 minute to complete the script actions, which in the process creates and deletes two snapshots to apply the CBT disable/enable change.
If you now attempt to run your Veeam backup you will notice CBT is now being used and the error has cleared.
Share this blog post on social media:
TweetAll advice, installation/configuration how to guides, troubleshooting and other information on this website are provided as-is with no warranty or guarantee. Whilst the information provided is correct to the best of my knowledge, I am not reponsible for any issues that may arise using this information, and you do so at your own risk. As always before performing anything; check, double check, test and always ensure you have a backup.