Removing VMDK from proxy VM failing with "XML element depth exceeds configured maximum 100"
search cancel

Removing VMDK from proxy VM failing with "XML element depth exceeds configured maximum 100"

book

Article ID: 394647

calendar_today

Updated On: 04-17-2025

Products

VMware vSphere ESXi

Issue/Introduction

Trying to remove VMDK from proxy VM fail with popup message "XML element depth exceeds configured maximum 100" in vCenter UI

 

In vpxd.log we see similar entries 

 

2025-04-08T09:14:04.355Z error vpxd[41778] [Originator@6876 sub=Req@internalvim25...] XML element depth exceeds configured maximum 100
-->
--> while parsing serialized DataObject of type vim.vm.device.VirtualDisk.FlatVer2BackingInfo
--> at line 1, column 48556

 

VM have message Consolidation needed but no snapshot visible under Manage Snapshots tab.

 

Environment

vCenter 7.x

Cause

This issue can occur due virtual machine having more than 32 snapshots.

 

32 is maximum number of supported snapshoots.

Best practices for using VMware snapshots in the vSphere environment

Resolution

As removing VMDK is failing from UI navigate to VM folder using SSH after obtaining full name and location of VMDK

 

Identify exact path and name of VMDK from UI.

Right click on VM and select Edit Settings 

Under Virtual Hardware expand disk that you are trying to remove 

Under Disk File field you will see name and location of that VMDK

In example

[Datastore Name] Test/Test.vmdk

 

Then open SSH and navigate to folder of VM

search in vmx file for targeted VMDK

in example 

grep vmdk Test.vmdk

 

You will see similar output to this

 

scsi0:0.fileName = "proxy.vmdk"
scsi0:1.fileName = "proxy1.vmdk"
scsi0:3.fileName = "/vmfs/volumes/Datastore Name/Test/Test.vmdk" 
scsi0:2.fileName = "proxy2.vmdk"

 

Create backup of proxy vmx file 

in example

cp proxy.vmx proxy.vmx.bak

 

After that using text editor remove VMDK from vmx file

in example

vi proxy.vmx

press shift + I

navigate down to line 

scsi0:3.fileName = "/vmfs/volumes/Datastore Name/Test/Test.vmdk" 

 

and remove "/vmfs/volumes/Datastore Name/Test/Test.vmdk"

to save change press ESC  then colon  then wq! and press enter to save

 

After that you need to reload vmx file 

 

Obtain the Inventory ID (Vmid) for the virtual machine:

vim-cmd vmsvc/getallvms

Note: The output shows virtual machines which are registered on the ESXi host. Command output will be similar to:

Vmid   Name           File                                   Guest OS                Version             Annotation
10     ExampleVM      [datastore] ExampleVM/ExampleVM.vmx    windows8Server64Guest   vmx-08
In the above example, the Vmid is 10.

Reload the .vmx file:

vim-cmd vmsvc/reload <Vmid>

 

Return in vCenter UI, navigate to proxy VM and you will see one hard disk showing size 0.

Proceed and remove that disk from VM