Frequently Asked Questions:
Is the fix retroactive on corrupted .ctk files that already exist?
Basically, the answer is no. If the .ctk files are corrupted the way forward is to trigger a full backup using the methods in the KB. Since making the fix retroactive would require repairing .ctk files and since the data needed to do so is unavailable, repairing suspect backups (or the .ctk files they are based on) is not an available option.
Is there a way to determine if a virtual disk has been expanded?
You should rely on your own change control records to determine whether a virtual disk has been expanded. This information is not tracked in the virtual machine.
Is virtual machine growth in smaller increments affected?
The amount of space the virtual disk is extended is not relevant, the increment of space by which a virtual disk is extended is not relevant. The virtual machine has this issue when its disk is grown past any 128 GB boundary in absolute size. The issue is triggered at other sizes which are a power of 2 from 128 GB up. For example: 256 GB, 512 GB, and 1024 GB.
Check whether CBT is enabled
- In the home directory of the virtual machine, verify whether a vmname-ctk.vmdk file is saved for one or more virtual hard disks.
- To Query the advanced configuration parameters for the virtual machine:
- Right-click the virtual machine and click Edit Settings.
- Click the Options tab.
- Click General in the Advanced section and then click Configuration Parameters. The Configuration Parameters dialog opens.
- Search for the ctkEnabled parameter entry for each disk and note whether it is enabled.
Note: The VDDK API call configSpec.changeTrackingEnabled = new Boolean(true); can enable and disable CBT dynamically. In this case, you need not power off the virtual machine to change the CBT configuration as taking and deleting a snapshot can apply these settings.
Applying the fix
Using the ExtendVirtualDisk function to grow virtual disks is not an ESX host or a virtual machine specific operation. The vCenter Server can use any host that has access to the datastore for growing a virtual disk. Therefore, you must apply the above resolution to all ESX hosts with access to the datastore managed by vCenter Server.
Changed Block Tracking (CBT) on virtual machinesVMware SDK Developer Support ProgramEnabling or disabling Changed Block Tracking (CBT) on virtual machinesVMware ESXi 5.0, Patch Release ESXi500-201412001変更ブロックのトラッキング (CBT) を有効にして仮想マシン VMDK ファイルを拡張した後に QueryChangedDiskAreas API が正しくないセクタを返すVMware ESXi 5.5, Patch Release ESXi550-201501001QueryChangedDiskAreas API 扩展已启用更改块跟踪 (CBT) 的虚拟机 VMDK 文件后返回不正确的扇区