So I got this error message today:

Cannot use CBT: Soap fault. A specified parameter was not correct. . deviceKeyDetail: ‘<InvalidArgumentFault xmlns=”urn:internalvim25″ xsi:type=”InvalidArgument”><invalidProperty>deviceKey</invalidProperty></InvalidArgumentFault>’, endpoint: ”

Virtual machines running on ESX/ESXi hosts can identify and track disk sectors that have changed. This feature is called Changed Block Tracking (CBT)

After much research and trying to manually fix this, I came across the following solution which turned out to be easier than I thought! What we need to do is reset CBT as VMs are processed without CBT typically and in this instance the blocks arent being identified.

Thanks to http://www.veeam.com/kb1113 for the images/resolution.

1.  Power off the VM

2.  Right click the VM, click “Edit settings”, find the “Options” tab and click “Configuration Parameters”

User-added image

3.  Set the “ctkEnabled” value to false
4.  Set the “scsi0:x.ctkEnabled” value to false for each disk of the VM in question

User-added image

5.  Open the source folder and remove any -CTK.VMDK files
6.  Power on the VM and power it off again
7.  Set the “scsi0:x.ctkEnabled” value back to true for each disk of the VM in question
8.  Power the VM on

Wolah!