VMware {code} Community
slayerbot99
Contributor
Contributor

QueryChangedDiskAreas API fails with error Nonmatching change UUID/Change tracking is not active

Scenario:

I have a VM with an existing snapshot, say 'Snapshot_A'. Creating another snapshot (Snapshot_B) and querying the changed disk areas between the two is successful. But before creating 'Snapshot_B' if I attach the backing disk of the VM to another VM and do some operations and detach it, then querying the changed disk areas fails with an error 'Nonmatching change UUID' or sometimes 'Change tracking is not active on disk'

 

Query:

What is the reason for this behavior? Does the change tracking chain gets broken if a disk with a snapshot is attached to another VM?

 

VPXD log snippets:

2023-03-03T10:48:20.472Z info vpxd[37566] [Originator@6876 sub=Default opID=308fcc86] [VpxLRO] -- ERROR lro-7406765 -- vm-1009 -- vim.VirtualMachine.queryChangedDiskAreas: vim.fault.FileFault:
--> Result:
--> (vim.fault.FileFault) {
--> faultCause = (vmodl.MethodFault) null,
--> faultMessage = (vmodl.LocalizableMessage) [
--> (vmodl.LocalizableMessage) {
--> key = "vim.hostd.vmsvc.cbt.noTrack",
--> arg = (vmodl.KeyAnyValue) [
--> (vmodl.KeyAnyValue) {
--> key = "path",
--> value = "/vmfs/volumes/xxxxxxxx-xxxxxxxx-xxxx-xxxxxxxxxxxx/MyVM/MyVM-000001.vmdk"
--> }
--> ],
--> message = "Change tracking is not active on disk /vmfs/volumes/xxxxxxxx-xxxxxxxx-xxxx-xxxxxxxxxxxx/MyVM/MyVM-000001.vmdk."
--> }
--> ],
--> file = "/vmfs/volumes/xxxxxxxx-xxxxxxxx-xxxx-xxxxxxxxxxxx/MyVM/MyVM-000001.vmdk"
--> msg = "Received SOAP response fault from [<SSL(<io_obj p:0x00007ff3ec931528, h:57, <TCP '198.244.129.75 : 40226'>, <TCP '51.89.173.101 : 443'>>), /vpxa>]: queryChangedDiskAreas
--> Received SOAP response fault from [<<io_obj p:0x000000b5ef2d4e48, h:25, <TCP '127.0.0.1 : 34660'>, <TCP '127.0.0.1 : 8307'>>, /sdk>]: queryChangedDiskAreas
--> Error caused by file /vmfs/volumes/xxxxxxxx-xxxxxxxx-xxxx-xxxxxxxxxxxx/MyVM/MyVM-000001.vmdk"
--> }
--> Args:
-->
--> Arg snapshot:
--> 'vim.vm.Snapshot:snapshot-1200'
--> Arg deviceKey:
--> 2000
--> Arg startOffset:
--> 0
--> Arg changeId:
--> "52 ca b2 e2 ef 51 1c 4f-b9 f5 14 f2 9d 94 93 52/9"

--------------------------------------------------------------------------------------------------

2023-03-03T10:52:23.009Z info vpxd[16078] [Originator@6876 sub=Default opID=1d077bd5] [VpxLRO] -- ERROR lro-7414062 -- vm-1009 -- vim.VirtualMachine.queryChangedDiskAreas: vim.fault.FileFault:
--> Result:
--> (vim.fault.FileFault) {
--> faultCause = (vmodl.MethodFault) null,
--> faultMessage = (vmodl.LocalizableMessage) [
--> (vmodl.LocalizableMessage) {
--> key = "vim.hostd.vmsvc.cbt.cannotGetChanges",
--> arg = (vmodl.KeyAnyValue) [
--> (vmodl.KeyAnyValue) {
--> key = "path",
--> value = "/vmfs/volumes/xxxxxxxx-xxxxxxxx-xxxx-xxxxxxxxxxxx/MyVM/MyVM-000001.vmdk"
--> },
--> (vmodl.KeyAnyValue) {
--> key = "reason",
--> value = "Nonmatching change UUID"
--> }
--> ],
--> message = "Cannot compute changes for disk /vmfs/volumes/xxxxxxxx-xxxxxxxx-xxxx-xxxxxxxxxxxx/MyVM/MyVM-000001.vmdk: Nonmatching change UUID."
--> }
--> ],
--> file = "/vmfs/volumes/xxxxxxxx-xxxxxxxx-xxxx-xxxxxxxxxxxx/MyVM/MyVM-000001.vmdk"
--> msg = "Received SOAP response fault from [<SSL(<io_obj p:0x00007ff4083e3758, h:31, <TCP '198.244.129.75 : 33014'>, <TCP '51.89.173.101 : 443'>>), /vpxa>]: queryChangedDiskAreas
--> Received SOAP response fault from [<<io_obj p:0x000000b5ef2fcb08, h:26, <TCP '127.0.0.1 : 19164'>, <TCP '127.0.0.1 : 8307'>>, /sdk>]: queryChangedDiskAreas
--> Error caused by file /vmfs/volumes/xxxxxxxx-xxxxxxxx-xxxx-xxxxxxxxxxxx/MyVM/MyVM-000001.vmdk"
--> }
--> Args:
-->
--> Arg snapshot:
--> 'vim.vm.Snapshot:snapshot-1201'
--> Arg deviceKey:
--> 2000
--> Arg startOffset:
--> 0
--> Arg changeId:
--> "52 ca b2 e2 ef 51 1c 4f-b9 f5 14 f2 9d 94 93 52/9"

 

Please help with the explanation. Thanks in advance.

0 Kudos
1 Reply
slayerbot99
Contributor
Contributor

The change tracking gets broken when the disk is multi-attached.

0 Kudos