Replication or restore fails. "API Call failed with message: The device or operation specified at index '9' is not supported for the existing virtual machine platform"
Index may vary. Backup of VM was successful.
VM has a 'sparse' disk attached, probably ported from VMware workstation. ESX host works with this kind of disk and VM is fully functional. But VM with same disk type can not be created. Think of replication and restore.
Sparse disk is split into chunks. Each has an index: -sXXX
/vmfs/volumes/<datastore_UUID>/ProblemVM # ls -l *.vmdk
-rw------- 1 root root 327680 Mar 20 14:13 old-s001.vmdk
....
-rw------- 1 root root 65536 Mar 20 14:13 old-s006.vmdk
-rw------- 1 root root 672 Mar 20 14:13 old.vmdk
VmConfig.metadata (if backup was executed) will have following lines:
device xsi:type="VirtualDisk"
...
backing xsi:type="VirtualDiskSparseVer2BackingInfo"
To resolve:
If original VM still exists.
1. power VM down.
2. remove disk from VM.
3. putty (ssh) to ESX host and browse to VM directory
4. convert disk using vmkfstools utility
/vmfs/volumes/<datastore_UUID>/ProblemVM # vmkfstools -i old.vmdk -d zeroedthick new.vmdk
Destination disk format: VMFS zeroedthick
Cloning disk 'old.vmdk'...
Clone: 100% done.
/vmfs/volumes/<datastore_UUID>/ProblemVM # ls -l *.vmdk
-rw------- 1 root root 10737418240 Mar 20 14:15 new-flat.vmdk
-rw------- 1 root root 487 Mar 20 14:15 new.vmdk
-rw------- 1 root root 327680 Mar 20 14:13 old-s001.vmdk
-rw------- 1 root root 327680 Mar 20 14:13 old-s002.vmdk
-rw------- 1 root root 327680 Mar 20 14:13 old-s003.vmdk
-rw------- 1 root root 327680 Mar 20 14:13 old-s004.vmdk
-rw------- 1 root root 327680 Mar 20 14:13 old-s005.vmdk
-rw------- 1 root root 65536 Mar 20 14:13 old-s006.vmdk
-rw------- 1 root root 672 Mar 20 14:13 old.vmdk
5. add new disk to VM in vSphere Client
6. power VM on.
7. run replication or backup.
8. old disk files can be deleted.
If original VM does not exist.
Edit VmConfig.metadata file
Replace
<backing xsi:type="VirtualDiskSparseVer2BackingInfo">
with
<backing xsi:type="VirtualDiskFlatVer2BackingInfo">
Then create a new Restore from Manifest job.