A vmdk file might be missing on a Virtual Volumes datastore, because you might have unintentionally deleted the vmdk descriptor file. You need to perform a number of steps to recreate the descriptor file on the Virtual Volumes datastore.
Environment
VMware vCenter Server 6.0.x VMware vSphere ESXi 6.0
Resolution
Consider the following example:
You have a VM called test-vm on a datastore called My_VVols_Datastore.
test-vm has a disk called test-vm.vmdk that points to the virtual volume vvol://62950b37########-######1aaa240d6b/rfc4122.66f99d61-####-####-####-########32f.
The descriptor file test-vm.vmdk gets unintentionally removed.
To recreate the descriptor file, follow these directions:
Log into the terminal of the ESXi host and verify that the descriptor file is not available: # cd /vmfs/volumes/vvol:62950b37########-######1aaa240d6b/rfc4122.324f5ff9-####-####-####-########cd1 # ls test-vm.vmsd test-vm.vmx
If you need to restore the object ID, perform these steps:
Using a web browser, navigate to the following address:
https://esxi/mob/?moid=ha-root-pool
where esxi is the FQDN or IP of the your ESXi host.
In the ManagedObjectReference:VirtualMachine[] field, find your test-vm virtual machine and click the link next to it.
In the VirtualMachineConfigInfo field, click the config link.
In the VirtualHardware field, click the hardware link.
In the Device field, click the device [2000] link.
In the VirtualDeviceBackingInfo field, click backing.
In the backingObjectId field, search for your descriptor, for example, rfc4122.########-####-####-####-########f32f.
Confirm that fileName attribute is set to [My_VVols_Datastore] rfc4122.########-####-####-####-########fcd1/test-vm.vmdk.
Restore the missing descriptor file:
Navigate to the following:
https://esxi/mob/?moid=ha-vdiskmanager
Click ImportUnmanagedSnapshot and enter the following information:
In the vdisk field, enter [My_VVols_Datastore]/test-vm/test-vm.vmdk
In the vvolId field, enter rfc4122.66f99d61-####-####-####-########32f
Click Invoke Method.
Verify that the descriptor file is available in your virtual machine directory: # [/vmfs/volumes/vvol:62950b37########-######1aaa240d6b/rfc4122.324f5ff9-####-####-####-########cd1] ls test-vm.vmdk test-vm.vmsd test-vm.vmx