Both parent and child virtual disks are root links – error while powering the VM

In the variety of different errors related to VM snapshots, while powering up a VM, this one is nowhere described. The VMware article KB 1007969 covers most of the similar errors and symptoms. However, the recovery procedure is more or less the same. I will cover simple 2 minutes solution that will get you up and running.

Upon VM events examination, you can see the following error:

An operation required the virtual machine to quiesce and the virtual machine was unable to continue running

The following error itself is self-explanatory. It points you to the affected snapshots and the problem with them. In this case, both the VM disk descriptor file, as well as the snapshot(s), are sharing the same CID and parentCID.

“Cannot open the disk ‘/vmfs/volumes/55018875-37f75938-33d4-c87f4a786918/v-infra-dns01.sefnet.local/v-infra-dns01.sefnet.local_2-000002.vmdk’ or one the snapshots disks it depends on. Both parent and child virtual disks are root links”

“Cannot open the disk ‘/vmfs/volumes/55018875-37f75938-33d4-c87f4a786918/v-infra-dns01.sefnet.local/v-infra-dns01.sefnet.local_4-000002.vmdk’ or one the snapshots disks it depends on. Both parent and child virtual disks are root links”

Now we need to keep in mind that the entire disk chain of the afforementioned snapshots is inconsistent. This means that entire chain v-infra-dns01.sefnet.local_X.vmdkv-infra-dns01.sefnet.local_X-000001.vmdk and v-infra-dns01.sefnet.local_X-000002.vmdk needs to be addressed. Note that disk number here is represented with an X that reflects the actual disk number.

Connect to the ESXi host where the affected VM is located and navigate to the VM directory:

# cd /vmfs/volumes/DATASTORE-D33/v-infra-dns01.sefnet.local

To check the disk chain consistency, run the vmkfstools command pointing to the last snapshot in the chain:

# vmkfstools -e v-infra-dns01.sefnet.local_2-000002.vmdk

Here you will get the output similar to this one:

Cannot establish parent (/vmfs/volumes/55018875-37f75938-33d4-c87f4a786918/v-infra-dns01.sefnet.local/v-infra-dns01.sefnet.local_2-000001.vmdk) -child (/vmfs/volumes/55018875-37f75938-33d4-c87f4a786918/v-infra-dns01.sefnet.local/v-infra-dns01.sefnet.local_2-000002.vmdk) relationship: Both parent and child virtual disks are root links (69)

Parent link description
Name: /vmfs/volumes/55018875-37f75938-33d4-c87f4a786918/v-infra-dns01.sefnet.local/v-infra-dns01.sefnet.local_2-000001.vmdk
Create type: vmfsSparse
Capacity: 53687091200
Content ID: 4299003424
Parent Content ID: 4299003424 

Child link description
Name: /vmfs/volumes/55018875-37f75938-33d4-c87f4a786918/v-infra-dns01.sefnet.local/v-infra-dns01.sefnet.local_2-000002.vmdk
Create type: vmfsSparse
Capacity: 53687091200
Content ID: 4299003424 
Parent Content ID: 4299003424 
Disk chain is not consistent: Both parent and child virtual disks are root links

There you can see (marked with the red arrows) that both the parent snapshot and the child snapshot are using the same CID and the parent CID. Now we will repair the affected snapshots. Make sure to make copies of the files we are about to edit. So make a copy of the entire chain VMDK files and edit the v-infra-dns01.sefnet.local_X.vmdk file using vi:

# vi v-infra-dns01.sefnet.local_X.vmdk

Now use i to enter editing mode and change the CID line from:

CID=ffffffff

To:

CID=ffffff01

Click Esc then :x” to save the file and exit the vi. Now edit the v-infra-dns01.sefnet.local_X-000001.vmdk file again using vi and change the follwing lines:

CID=ffffffff
parentCID=ffffffff

To:

CID=ffffff02
parentCID=ffffff01

Again click Esc, then :x” to save and exit vi. Now edit the v-infra-dns01.sefnet.local_X-000002.vmdk file and change the follwing lines:

CID=ffffffff
parentCID=ffffffff

To:

CID=ffffff03
parentCID=ffffff02

Click Esc, then :x” to save and exit vi. Use vmkfstools again to confirm the disk chain consistency. You should get output similar to this one:

Disk chain is consistent.

Repeat the same procedure for all the affected snapshots (mentioned in the error) and use unique CID and parentCID in the chain. Now you can power up your VM. Make sure to consolidate disk from vCenter as this will commit all the snapshot changes and remove all delta files.

Leave a Reply

Your email address will not be published. Required fields are marked *