CBT bug on Revert Snapshot

August 26, 2019 3 By Allan Kjaer

Veeam has found a new bug in VMware Change Blocking Track (CBT) that can/will corrupt backups.

When doing a revert on a snapshot, the CBT “QueryChangedDiskAreas API” will return incorrect data, to the backup solution.

VMware has published a KB71155 about the problem and says that this i is working as designed!

So the solution/workaround i to do a CBT reset whenever you do a “revert snapshot”, this can be done with this script.

import-module -name vmware.powercli
connect-viserver <vcenter FQDN>
$vm = get-vm -name <VM name>
$vmview = $vm | get-view
$vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
$vmConfigSpec.changeTrackingEnabled = $false
$vmview.reconfigVM($vmConfigSpec)
$snap=$vm | New-Snapshot -Name 'Disable CBT'
$snap | Remove-Snapshot -confirm:$false

Notes: The script does not enable CBT, it assumes that the backup will do this on next backup.

Notes: I will create a alarm at my costumers to warn them of this, that looks like this. To create the alarm the event that you should use is: com.vmware.vc.vm.VmStateRevertedToSnapshot

I hope that VMware will fix this, and the solution can just be to do a CBT reset after the revert snapshot.

I have a new post on how to create this type of alarm here: https://www.virtual-allan.com/how-to-create-vcenter-on-custom-event/

Notes: December 10th 2019

The newest patches from VMware for version 6.0, 6.5 and 6.7 has a fix for this problem, Veeam are currently evaluating this fix.

ESXI 6.0 Patch.

ESXI 6.5 Patch.

ESXi 6.7 Patch.

Please share this page if you find it usefull: