Migrate a VMWare Player/Virtualbox VMDK HDD File to ESXi
Posted: Thu Sep 25, 2014 5:55 pm
[Problem]
You think vmdk file is vmdk file? That a virtual disk from a VMWare Player can be imported to VMWare ESXi without further issues, since it is the same company at all? Well.. think again. I've set up a machine on a VMWare Player (out of convenience) and when i was happy with the whole thing, the plan was to migrate it to a virtual machine on the ESXi Server by simply attaching the already existing hdd.vmdk file. Well, that doesn't work: "Festplatte scsi0:0 konnte nicht geöffnet werden: Nicht unterstützter oder ungültiger Festplattentyp 7. Vergewissern Sie sich, dass die Festplatte importiert wurde." ("Harddisk scsi0:0 could not be opened: not supported or invalid hard disk type 7. Make sure that the harddisk has been imported").
Well, there is no import tool in the ESXi GUI and attaching the disk file (which is working without any warning or error) causes the above error when trying to boot the virtual machine. Long story short: the vmdk must be converted to ... vmdk. This can be done external using a VMWare Tool that comes with VMWare Workstation; if you happen to find the stand-alone download in one of the VMWare support tickets and consequently find the DLLs the tool needs to run, you will find out that for some reason the conversion says it worked, but after uploading the converted vmdk file to ESXi you get the same error....
So, whats left...
[Solution]
* Enable SSH on your ESXi host (http://www.thomasmaurer.ch/2011/08/enab ... re-client/ or some other how-to; there are plenty how to do this so this is not covered in detail here)
* Log on to your ESXi host via SSH and find the datastore you copied the hdd.vmdk file to. (Hint: I did a 'df -h' to see the mount points and had in mind how much space was left ont he datastore i used to determine which was the right one)
* Navigate to the directory your hdd.vmdk file resides in
* Use a shell tool that comes with ESXi to convert the hdd.vmdk to fixed-hdd.vmdk:
* You can now attach the fixed-hdd.vmdk file to any ESX virtual machine and it should work right away. Note: Not tested with .vmdk files generated by Virtualbox, but legend says that should also work. If it's full moon.
You think vmdk file is vmdk file? That a virtual disk from a VMWare Player can be imported to VMWare ESXi without further issues, since it is the same company at all? Well.. think again. I've set up a machine on a VMWare Player (out of convenience) and when i was happy with the whole thing, the plan was to migrate it to a virtual machine on the ESXi Server by simply attaching the already existing hdd.vmdk file. Well, that doesn't work: "Festplatte scsi0:0 konnte nicht geöffnet werden: Nicht unterstützter oder ungültiger Festplattentyp 7. Vergewissern Sie sich, dass die Festplatte importiert wurde." ("Harddisk scsi0:0 could not be opened: not supported or invalid hard disk type 7. Make sure that the harddisk has been imported").
Well, there is no import tool in the ESXi GUI and attaching the disk file (which is working without any warning or error) causes the above error when trying to boot the virtual machine. Long story short: the vmdk must be converted to ... vmdk. This can be done external using a VMWare Tool that comes with VMWare Workstation; if you happen to find the stand-alone download in one of the VMWare support tickets and consequently find the DLLs the tool needs to run, you will find out that for some reason the conversion says it worked, but after uploading the converted vmdk file to ESXi you get the same error....
So, whats left...
[Solution]
* Enable SSH on your ESXi host (http://www.thomasmaurer.ch/2011/08/enab ... re-client/ or some other how-to; there are plenty how to do this so this is not covered in detail here)
* Log on to your ESXi host via SSH and find the datastore you copied the hdd.vmdk file to. (Hint: I did a 'df -h' to see the mount points and had in mind how much space was left ont he datastore i used to determine which was the right one)
* Navigate to the directory your hdd.vmdk file resides in
* Use a shell tool that comes with ESXi to convert the hdd.vmdk to fixed-hdd.vmdk:
Code: Select all
vmkfstools -i "hdd.vmdk" "fixed-hdd.vmdk" -d thin
Flags:
-i "clone the virtual disk"
-d "It is thin provisioned" (skip if disk is thick/static in size)