Avatar of sara2000
sara2000
 asked on

VMs Block Tracking

vm experts u there , My backup software requires block tracking enabled for incremental backup.
Is there any easy way I can find out which VM has not been block tracking enabled?
have around 100 VMs.
VMwareStorageStorage Software

Avatar of undefined
Last Comment
Andrew Hancock (VMware vExpert PRO / EE Fellow/British Beekeeper)

8/22/2022 - Mon
Abhilash

This is the command that can be executed using PowerCli

Get-VM | Get-View | Sort Name | Select Name, @{N="ChangeTrackingStatus";E={$_.Config.ChangeTrackingEnabled}} > c:\cbt.txt


It will fetch all the results and store it in a txt file. So  you will know which VM's have it enabled and which don't.

Depending on the environment it will take a while to fetch the data and store it in the text file.
Andrew Hancock (VMware vExpert PRO / EE Fellow/British Beekeeper)

Make sure the virtual machine version is v7 and above.

from Anton Gostev from Veeam on CBT:

In essence, CBT is all about CTK files, these are the files which contain change tracking information of the corresponding VMDK file.

The concept is pretty simple, and if you are familiar with AD DirSync control, or Exchange ICS (public folders change tracking) – it is essentially the same: global USN (Update Sequence Number) for each object. CTK file describes the state of each block for tracking purposes, and contain USN for each block in the corresponding VMDK. After any block is updated, it is assigned the new global USN (which is previous USN value that was used on previously processed block plus 1). This way, any application can ask VMware API “tell me if this block was changed 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, it means that the block was changed (and needs to be backed up, replicated or otherwise processed). So multiple processes cannot conflict with each other anyhow. Each process just memorizes the USN corresponding to the snapshot that the application created during processing, and next time it will use the memorized USN to query for changed blocks.

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 it once using CTK debug/stats data, just don’t remember for sure – unimportant info escapes my head automatically to prevent overload with useless facts ;) . For the same reasons, I/O overhead is barely noticeable with CBT: change few extra bytes to write for each 256000 bytes of data.

The CTK files are permanent, and should not be deleted after backup/replication.
sara2000

ASKER
will it enable if i upgraded the hardware to ver 7 or above?
I started with Experts Exchange in 2004 and it's been a mainstay of my professional computing life since. It helped me launch a career as a programmer / Oracle data analyst
William Peck
Andrew Hancock (VMware vExpert PRO / EE Fellow/British Beekeeper)

The first requirement is the VM, must be at v7.

and then Change Block Tracking is enabled, usually it's enabled by default.

But check, the vmx settings.
sara2000

ASKER
Andrew,
can we check this while the vm is on?
ASKER CERTIFIED SOLUTION
Abhilash

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
Andrew Hancock (VMware vExpert PRO / EE Fellow/British Beekeeper)

Yes, you can check, while the VM is on, but you cannot change it, if the VM is on!
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
sara2000

ASKER
Thank you fro your help. One more help.
I have a VM is in on a  host ver 4.1 and this vm  has four vmdk files in  multiple shared storage.
I did ssh into the host where this VM is homed.
I did vmware-cmd -l and noticed that vmfs/volumes/some random number/myserver/myserver.vmx

I can only see two vmdk .
how do I find the other two vmdk files?
Andrew Hancock (VMware vExpert PRO / EE Fellow/British Beekeeper)

@Sara2000, one more help, is one more question, and as it's completely off-topic and unrealted to the OP a new question.

To maintain, the thread, please ask one question per post.

Please post a new question and myself or other Experts will be glad to assist.