Hi,
Refer to the below text taken from VDDK Documentation. If you pass * it will return all the used blocks. Each snapshot object will have a identifier named changeID. You need to store it when you take a full backup and during the next QueryChangedDiskAreas, you need to send that instead of *. Also note, this should be done per disk, changeID will be different for each disk in the same snapshot itself.
Changed Block Tracking on Virtual Disks
On hosts running ESX/ESXi 4.0 and later, virtual machines can keep track of disk sectors that have changed.This is called changed block tracking. Its method in the VMware vSphere API isQueryChangedDiskAreas, which takes the following parameters:
■
|
■
| snapshot– Managed object reference to a Snapshot of the virtual machine. |
■
|
■
| startOffset– Byte offset where to start computing changes to virtual disk. The length of virtual disk sector(s) examined is returned inDiskChangeInfo. |
When you back up a snapshot for the first time,ChangeIdshould be unset, or unsaved, indicating that a baseline (full) backup is required. If you have a savedChangeId, it identifies the last time a backup was taken, and tells the changed block tracking logic to identify changes that have occurred since the time indicated by the savedChangeId.
There are two ways to get this baseline backup:
./Siva.
1
|