VMware Cloud Community
michelle79
Enthusiast
Enthusiast

What to do with ctk files when detaching and attaching vmdks to a new Windows file server?

Hi all, I need to move some disks off an old Windows file server to a new one but I'm not sure if I need to do anything special with the ctk files. It'd be great if someone could sanity check my process to make sure I have my ducks in a row as a colleague of mine will be performing the task while I'm on leave. 

1. Shutdown old server

2. Remove disks from it using vsphere edit settings

3. Using datastore browser in vsphere web client, move and rename vmdk files to relevant datastore folder - apparently I can ignore the ctk.vmdk files right?

4. Attach the vmdk files to new server

5. Configure disks in Windows

Anything I might be missing?

 

Thanks

0 Kudos
1 Reply
maksym007
Expert
Expert

CTK files are made automatically by VMware for all VMs with change tracking enabled. This is a great technology that allows products supporting changed block tracking (like Veeam Backup and Replication 4.0) to do extremely fast incremental passes.

 

CTK file contains change tracking information of the corresponding VMDK file. The concept is pretty simple (this is my understanding): CTK file describes the state of each block for tracking purposes, and contain USN (sequence number) for each block in the corresponding VMDK. This way, any application can ask VMware API "tell me what block have changes since THIS moment", and the API will easily tell that by simply comparing the provided sequence number with the actual USN on each block. If provided USN is smaller than actual for particular block, the block was changed (and needs to be backed up, replicated or otherwise processed).

 

Basically there should be one CTK file per VMDK file, and CTK file cannot grow out of proportion with number of blocks in VMDK (as it stores only 1 record per VMDK block). CTK file is also thousands time smaller than actual VMDK, because it stores only a few bytes of information (USN) for each corresponding 256KB VMDK block (I am 90% sure it is 256KB, used to calculate once using CTK debug/stats data, just don't remember for sure).

 

These files are permanent, and should not be deleted after backup/replication.

0 Kudos