I got this error when creating a snapshot from a running VM.
After shutdown the VM, the snapshot can be taken. However, a snapshot is needed when the VM is running. Here is the error message. Please help!
Task Details:
Name: createSnapshot
Status: An error occurred while saving the snapshot: Object type requires hosted I/O.
Start Time: May 4, 2019 1:03:51 AM
Completed Time: May 4, 2019 1:04:05 AM
State: error
Error Stack:
An error occurred while taking a snapshot: Object type requires hosted I/O.
An error occurred while saving the snapshot: Object type requires hosted I/O.
Additional Task Details:
VC Build: 10964411
Error Type: GenericVmConfigFault
Task Id: Task
Cancelable: true
Canceled: false
Description Id: VirtualMachine.createSnapshot
Event Chain Id: 15566
synoboot.vmdk is not a ESXi format. You can not create snapshots for synoboot.vmdk before you convert it to ESXi format.
Apparently synoboot.vmdk was copied from Workstation or Fusion by somebody who was not aware of the different vmdk formats.
If you open synoboot.vmdk you will see that the createType is not VMFS but monolithicSparse.
Also note:
DiskLib_Check() failed for source disk 'synoboot-s001.vmdk': The file specified is not a virtual disk (15).
So to sum it up - we are seeing expected behaviour here !
Power off the VM and run
vmkfstools -i synoboot.vmdk synoboot-esxi.vmdk
and then replace the WS-type vmdk with the newly created one.
After that is done you should be able to create a snapshot as expected.
Ulli
You may have virtual disk errors. Try steps outlined in this blog.
I can run the VM without any issues. However I cannot run vmkfstools when the VM is running either. Fail to lock the file error:
[root@DELL790:/vmfs/volumes/5c513450-b2f92ad8-2534-00e04c802311/Synology] vmkfstools -x check synoboot.vmdk
DiskLib_Check() failed for source disk 'synoboot.vmdk': Failed to lock the file (16392).
After I shutdown the VM, all vmdk files are checked and I got no errors.
[root@DELL790:/vmfs/volumes/5c513450-b2f92ad8-2534-00e04c802311/Synology] ls -l *.vmdk
-rw------- 1 root root 1311232 May 4 13:22 synoboot-ctk.vmdk
-rw------- 1 root root 32374784 May 4 12:48 synoboot-s001.vmdk
-rw------- 1 root root 566 May 4 12:46 synoboot.vmdk
[root@DELL790:/vmfs/volumes/5c513450-b2f92ad8-2534-00e04c802311/Synology] vmkfstools -x check synoboot.vmdk
Disk is error free
[root@DELL790:/vmfs/volumes/5c513450-b2f92ad8-2534-00e04c802311/Synology] vmkfstools -x check synoboot-ctk.vmdk
DiskLib_Check() failed for source disk 'synoboot-ctk.vmdk': The file specified is not a virtual disk (15).
[root@DELL790:/vmfs/volumes/5c513450-b2f92ad8-2534-00e04c802311/Synology] vmkfstools -x check synoboot-s001.vmdk
DiskLib_Check() failed for source disk 'synoboot-s001.vmdk': The file specified is not a virtual disk (15).
[root@DELL790:/vmfs/volumes/4e5f91c0-eb76a861-cbb4-00e04c802311/Synology] ls -l *.vmdk
-rw------- 1 root root 6554112 May 4 13:22 Synology-ctk.vmdk
-rw------- 1 root root 429496729600 May 4 13:22 Synology-flat.vmdk
-rw------- 1 root root 614 May 4 12:46 Synology.vmdk
[root@DELL790:/vmfs/volumes/4e5f91c0-eb76a861-cbb4-00e04c802311/Synology] vmkfstools -x check Synology.vmdk
Disk is error free
[root@DELL790:/vmfs/volumes/4e5f91c0-eb76a861-cbb4-00e04c802311/Synology] vmkfstools -x check Synology-ctk.vmdk
DiskLib_Check() failed for source disk 'Synology-ctk.vmdk': The file specified is not a virtual disk (15).
[root@DELL790:/vmfs/volumes/4e5f91c0-eb76a861-cbb4-00e04c802311/Synology] vmkfstools -x check Synology-flat.vmdk
DiskLib_Check() failed for source disk 'Synology-flat.vmdk': The file specified is not a virtual disk (15).
I have two disks for this VM. Please check the settings below.
For the first hard disk, why is there nothing displaying for the sharing option? You also appear to have these disks located on two separate datastores. Try to co-locate both the VMDKs to the same datastore and attempt the snapshot. Also, 6,000 MB does not equal 6 GB of RAM. Just saying...
synoboot.vmdk is not a ESXi format. You can not create snapshots for synoboot.vmdk before you convert it to ESXi format.
Apparently synoboot.vmdk was copied from Workstation or Fusion by somebody who was not aware of the different vmdk formats.
If you open synoboot.vmdk you will see that the createType is not VMFS but monolithicSparse.
Also note:
DiskLib_Check() failed for source disk 'synoboot-s001.vmdk': The file specified is not a virtual disk (15).
So to sum it up - we are seeing expected behaviour here !
Power off the VM and run
vmkfstools -i synoboot.vmdk synoboot-esxi.vmdk
and then replace the WS-type vmdk with the newly created one.
After that is done you should be able to create a snapshot as expected.
Ulli
@ continuum,
Thank you so much for the perfect answer!!!
After converting the disk, I am able to take a snapshot while the VM is running! It's amazing!
One question, how do I know that the disk format is not ESXi?
Should I just check the Summary page for the Compatibility?
Since I have converted it, it now shows ESXi 6.5 Ver 13.
Thanks for your reply. daphnissov
1. I have two disks, one is SSD and the other is HDD. I cannot "co-locate both the VMDKs to the same datastore" simply because the SSD is not big enough and HDD is too slow for the boot disk.
2. I don't know much about the sharing option. What should I change it to? (FYI, the disk is set to "thick lazy zeroed" for performance boost)
3. I have 32GB ram on the host. 6,000 MB shouldn't be an issue in my opinion.
The root cause is as continuum pointed out. On #3 I am simply saying if your goal is to assign 6 GB of RAM to this VM, then 6,000 MB does not equal 6 GB. Not suggesting that has anything to do with the inability to create a snapshot.
> One question, how do I know that the disk format is not ESXi?
I noticed that the vmdk was not native ESXi format when I saw that the data-chunk of the vmdk is named "name-s001.vmdk"
That extension - s001.vmdk is only used by Workstation and Fusion.
ESXi only uses name-flat.vmdk , name-delta.vmdk and name-sesparse.vmdk
The error message "Object type requires hosted I/O" also gives it away.
continuum:
I have followed thru this process and created and replace vmdk files
rm ReportsWin10-VM-ctk.vmdk
rm ReportsWin10-VM-flat.vmdk
rm ReportsWin10-VM.vmdk
and renamed *-esxi.vmdk files to above, thus replacing them and powering that VM. It will not power on - error message as below:
Failed - File was not found
Can you assist, please?