Moving Fusion VMs to ESXi

Solution 1:

After arduous research and trial and error, I've finally been able to solve this issue. First of all, if you're migrating Fusion VMs to ESXi, I recommend not using the OVF tool. At least for me, it never worked properly. Instead, I used the vmware-vdiskmanager tool, which is built into Fusion. The instructions for this migration are listed below:

  1. Open Terminal.
  2. Run the following command, inserting the correct VMWare Fusion vmdk file source and new vmdk destination:

    /Applications/VMware\ Fusion.app/Contents/Library/vmware-vdiskmanager -r /PATH/TO/vmware_fusion.vmwarevm/vmware_fusion.vmdk -t 4 /PATH/TO/esxi.vmdk

  3. The conversion process, once complete, will create two files: filename.vmdk, and filename-flat.vmdk.
  4. Launch the vSphere client through your web browser to your ESXi server.
  5. Once logged in, go to File | New | Virtual Machine.
  6. In the Configuration window, select Custom.
  7. In the Storage window, select the datastore location to store the new VM.
  8. In the Virtual Machine Version window, use the default option of Virtual Machine Version: 8.
  9. Select the desired settings for Guest OS, CPUs, Memory, Network, and SCSI Controller.
  10. In the Select a Disk window, choose the Do Not Create Disk option.
  11. Click the Finish button.
  12. In the ESXi server settings, select the Configuration tab then click on Storage.
  13. In Storage, select your datastore and right-click to select Browse Datastore.
  14. Select the folder name that corresponds to the new VM.
  15. Select the Upload button.
  16. Upload the filename.vmdk and filename-flat.vmdk files from Step 3.
  17. Once complete, you will only see the filename.vmdk file in the datastore.
  18. Select the VM and Edit virtual machine settings under the Get Started tab.
  19. Click the Add button in the Virtual Machine Properties window.
  20. For Device Type, select Hard Disk, and choose Use an existing virtual disk.
  21. Locate the datastore and select the existing disk.
  22. In the Advanced Options, leave the default settings.
  23. Select Finish and OK to close the Virtual Machine Properties.
  24. At this point, you should be able to boot to the newly migrated VM.

Guidance for this came from MacTech's June 2013 issue, reproduced at the author's blog here. Many kudos to Rich Trouton for this article.

Some updates for vSphere Client 6.7

  • Step 5: Go to Actions | New Virtual Machine.
  • Steps 6 - 9: Configure as desired.
  • Step 10: In the Customize hardware dialog, remove the New hard disk.
  • Step 12 - 13: Select storage, then Files.
  • Step 18: Select the VM and then Actions | Edit Settings....
  • Step 19: Click the Add New Device button.
  • Step 20: Select Existing Hard Disk.
  • Step 22: Ignore.

Solution 2:

I would suggest using the VMWare converter to move the virtual machines from one host to another. This will do all the heavy lifting for you. It's free.

http://www.vmware.com/products/converter/

This is your best option as the converter does all the vm configurations and settings for you. This is also suggested in the KB Article (1000936) from VMWare.

You have to do this on a windows machine. Inside a VM on the same fusion host works just fine.

Solution 3:

There has been an update to OVFTOOL around since March 2015 (Now V4.1.0.). With this OSX version I have much fewer trouble to get OVFTool to work. Even a OSX VM transfer from Fusion to ESXi is now just a one line like:

/Applications/VMware\ OVF\ Tool/ovftool --compress=9 ./OS_X_10.vmx vi://root@ESX6i

Finally it is working like expected, when the old versions just copied parts or I had to try 10 times to get the desired results with some crude workarounds. So please give it another try! ;)