“cannot open the disk Reason : The parent virtual disk has been modified since the child was created”
A seguito di modifiche mentre il server VMware ha tutte le risorse impegnate può succedere che vi venga fuori questo errore:
Cannot open the disk Reason : The parent virtual disk has been modified since the child was created
Questo errore non permette di avviare la macchina virtuale, dopo una ricerca nella kb di vmware sembra che il problema risiede
nel vmdk della snapshot che ha perso il parent cid.
Per risolvere il problema collegarsi via ssh al server Esxi navigare all’interno del datastore fino a trovare la directory della macchina virtuale.
# cd /vmfs/volumes/46c0f14f-55428b78-a2d3-0018fe79b968/hudson
facciamo ls e troviamo i file che ci interessano (il vmdk originale, gli snapshot e il vmx).
/vmfs/volumes/46c0f14f-55428b78-a2d3-0018fe79b968/hudson# ls
hudson01.vmdk
hudson01-000001.vmdk
hudson01-000002.vmdk
hudson01.vmx
Cerchiamo di capire quindi cosa veniva avviato, apriamo il file vmx e andiamo a leggere il campo scsi0:0.fileName
scsi0:0.fileName = “hudson01-000002.vmdk”
Nel nostro caso significa che a partire è il secondo snapshot (identificato dallo 000002).
Apriamo il vmdk originale con l’editor vi.
# Disk DescriptorFile
version=1
CID=bea5305c
parentCID=ffffffff
createType=”vmfs”
# Extent description
RW 41943040 VMFS “hudson-flat.vmdk”
# The Disk Data Base
#DDB
ddb.geometry.biosSectors = “63”
ddb.geometry.biosHeads = “255”
ddb.geometry.biosCylinders = “2610”
ddb.adapterType = “buslogic”
ddb.geometry.sectors = “63”
ddb.geometry.heads = “255”
ddb.geometry.cylinders = “2610”
ddb.uuid = “99 01 C4 9f 36 ce 65 03-73 55 15 7e 92 88 c8 4c”
ddb.toolsVersion = “5353”
ddb.virtualHWVersion = “7”
Il campo che ci interessa è CID (in questo caso bea5305c), che andremo a sostituire nel campo parentCID del primo snapshot.
/vmfs/volumes/46c0f14f-55428b78-a2d3-0018fe79b968/hudson# vi hudson-000001.vmdk
# Disk DescriptorFile
version=1
CID=b9567c51
parentCID=bea5305c
createType=”vmfsSparse”
parentFileNameHint=”hudson.vmdk”
# Extent description
RW 41943040 VMFSSPARSE “hudson-000001-delta.vmdk”
# The Disk Data Base
#DDB
ddb.toolsVersion = “5353”
Salviamo con :wq
Il primo snapshot è ora sistemato, dobbiamo poi riparare il secondo, apriamolo con vi e vediamo di chi è parent.
/vmfs/volumes/46c0f14f-55428b78-a2d3-0018fe79b968/hudson # vi hudson-000002.vmdk
# Disk DescriptorFile
version=1
CID=1efd6875
parentCID=b9567c51
createType=”vmfsSparse”
parentFileNameHint=”hudson-000001.vmdk”
# Extent description
RW 41943040 VMFSSPARSE “hudson-000002-delta.vmdk”
# The Disk Data Base
#DDB
ddb.toolsVersion = “5353”
Dal campo parentFileNameHint capiamo che è legato al primo snapshot (hudson-000001.vmdk), prenderemo quindi il valore CID presente nel file Webserv01-000001.vmdk, e lo sostituiremo come valore parentCID in hudson-000002.vmdk.
Salviamo con :wq
Ora possiamo avviare tranquillamente la nostra macchina virtuale.
Spero possa essere di aiuto
By
Frank
Submit a Comment