Virtualize OS X using vSphere on Mac hardware

businessmann In this 3 page blogpost I will provide some information about how to virtualize OS X using vSphere on Mac hardware.

Considering the following questions:

  • What is required to vitualize OS X?
  • Which hardware is supported, and which hardware works?
  • How to license OS X in a virtual environment?
  • What are best practices for running OS X in a virtual environment?
  • How to safely deploy OS X from a template?
  • How to backup OS X in a virtual environment?

What is required to vitualize OS X?

Basically the requirements are same as with any another OS.

  • A computer/server
  • A hypervisor
  • An installer for the Guest OS

When the Guest OS is Apple’s OS X, then the computer/server needs to be of the Apple Mac hardware type. The hypervisor needs to be vSphere ESXi 5.0 or newer.
The Mac hardware is almost identical technically to any other computer/server of the x86/x64 type. But one of the things that differs, apart from the visual design, is the Apple System Management Controller or SMC. The SMC basically identifies the computer as being a Mac, and that is why the vSphere ESXi hypervisor (from 5.0 and upwards) knows how to communicate with and virtualize the Apple SMC.

If a VM with OS X installed were to be booted up on a non-Mac computer/server, it would fail, because there is no Apple SMC, and therefore no virtual Apple SMC presented to the VM with OS X inside.

All this has been integrated into the vSphere ESXi hypervisor, because of Apple’s Software License Agreement dictates that the OS X software can only be run on Apple branded hardware. VMware have chosen, wisely, to comply with this requirement.

The installer for the guest OS needs to be for one of the following OS X versions:

  • OS X 10.9
  • OS X 10.8
  • OS X 10.7
  • OS X 10.6 Server

The installer would in most cases be either a CD/DVD or an image of a CD/DVD. Images of CD/DVD’s in the Apple world, is of the DMG file type, which both the vSphere Client and vSphere Web Client supports, as long as “All files (*.*)” are selected from the file-type drop-down in the “Select Datastore ISO file” window. Default in the Select Datastore ISO file window is “ISO Image (*.iso)”.

Which hardware is supported, and which hardware works?

The official supported Apple hardware is pretty short:

Machine name Model identifier Working versions of ESXi
Mac Pro (Mid 2010 and Mid 2012) MacPro5,1 5.5,
5.1 U2,
5.1 U1,
5.1
Xserve (Early 2009) Xserve3,1 5.0 U3,
5.0 U2,
5.0 U1,
5.0

But there is a lot of Apple hardware, which either work directly “out-of-the-box” or with smaller modifications to the ESXi installer.

Machine name Model identifier Working versions of ESXi
Mac Pro (Early 2008) MacPro3,1 ESXi 5.5,
All versions ESXi 5.1,
All versions ESXi 5.0
Mac Pro (Early 2009 MacPro4,1 ESXi 5.5,
All versions ESXi 5.1,
All versions ESXi 5.0
Mac mini (Mid 2009 and Late 2009) Macmini3,1 All versions ESXi 5.1
Mac mini (Mid 2010) Macmini4,1 All versions ESXi 5.1
Mac mini (Mid 2011) Macmini5,1, Macmini5,2, Macmini5,3 ESXi 5.5,
All versions ESXi 5.1,
All versions ESXi 5.0
Mac mini (Late 2012) Macmini6,1, Macmini6,2 ESXi 5.5,
All versions ESXi 5.1,
All versions ESXi 5.0
MacBook Pro 15″ Retina (Mid 2012 and Early 2013) MacBookPro10,1 ESXi 5.5,
All versions ESXi 5.1,
All versions ESXi 5.0
Xserve (Early 2008) Xserve2,1 All versions ESXi 5.1,
All versions ESXi 5.0

Some of the above listed Apple hardware, need extra drivers for network cards or maybe need tweaks to the boot options of ESXi to work properly.

Start by going to William Lam’s virtuallyGhetto website, where he provides a lot of information about what is needed to get ESXi to run on Apple’s Mac mini platform. William Lam also provides some pre-build ESXi installer ISO’s which contains the needed tweaks and drivers.

If the need is to run ESXi on some of the other Apple hardware platforms, a quick Google Search will provide information on what there specifically needs to be done to get ESXi working on that specific Apple platform.

One note is that the Apple-branded RAID cards for either Xserve’s or Mac Pro’s are not compatible with ESXi.

Regarding the new Late 2013 Mac Pro (MacPro6,1), it is currently not working in any way or form. But I have heard from several VMware related people that it will very likely be officially supported in a future release. Which release and when, I do not know.

Pages:

Gallery | This entry was posted in VMware and tagged , , , . Bookmark the permalink.

28 Responses to Virtualize OS X using vSphere on Mac hardware

  1. Pingback: Useful Links – Installing Mac OS X in a VM & P2V’ing Mac OS X | virtuallyGhetto

  2. Pingback: AFP548 – Covering Apple IT – Virtualize OS X using vSphere on Mac hardware

  3. Tim says:

    Glad to see that there are others out there that are struggling with the same issues that we have been struggling with ;). We started with OSX on VMWare deployments around august two years ago and actually we’re quite pleased with the results except for some minor issues.
    Regarding your post, two remarks :

    About the “Unable to resize HFS+ partitions” part, that has been a major annyonce for us. I’ve spent quite some time looking at the issue with VMWare. You can get around it by using a third party tool like gparted but it’s quite a hassle which was not acceptable. Especially since disk extensions work great in VMWare Fusion. So I suggested to VMWare to have a look at how it was handled there. They created a KB article for us (http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2069255) and the last status I’ve received on this is that engineering from engineering implemented a fix for this issue. The fix is scheduled to be released in 5.5 update 2 which should be released later this year.

    About the templating/cloning part of your post, one action we take after cloning is running “sudo nvram -d platform-uuid” from a terminal. This erase platform-uuid from NVRAM. After this you need to reboot the VM to receive a new platform-uuid. So in Windows/sysprep terms, this means that the VM receives a new SID.

    BTW thanks for your post on disabling the screen savers. We do this as well but we couldn’t get the login window screen saver to stop from starting. So in the end, I just deleted all the screensavers from the system library in the template, which also solves the problem :). But I’ll try your solution now.

    BTW2 do you also have the issue where VMWare tools crashes when logging off a user on 10.7/10.8? This seems to have been solved in vSphere 5.5 though.

    Regards,

    Tim

    • Hi Tim

      Thank you for your comment.

      Good to know that VMware is looking into the issue regarding resizing HFS+ partitions.

      In regards to “sudo nvram -d platform-uuid”, how are your templates built?
      Are they normal OS X VM’s which have been booted and customized i?
      Or are you using a similar technique to my “never booted template”?
      If you are using my “never booted template” technique, the template should not have a UUID(SID) in the first place, which means that the VM deployed from the template should just generate a fresh UUID(SID) on first boot. (I think, haven’t tested that actually)

      I have not seen issues with VMware Tools crashing, but then again, most of the OS X VM’s I have worked with, are mostly servers which are either always logged in with the same user, or never have a user logged in.

      Regards,
      Mads Fog Albrechtslund

  4. Jono says:

    Hi

    I have a Mac Pro 2010, and would like to put ESXi on it and run a few OS X and Windows VM’s.

    But Ill like to have all my internal hard drives in a RAID 5, how can this be done with a Mac? Can I just use a Apple RAID card? or should I get something else?

    • Hi Jono

      The Apple RAID Card is not compatible with VMware ESXi.
      You will need to find a RAID card that meets 2 requirements:

      1. Needs to be compatible with the PCIe slots you have in the Mac Pro
      2. Needs to be supported/working with VMware ESXi

      The RAID Card does not need to support Apple Mac OS X, because you will be running VMware ESXi on the hardware.
      When you have found a suitable, you will face another problem.
      Specifically the problem that the Hard Drive bays in the Mac Pro, is hardwired to the logicboard.
      So you will need a conversion unit, something like “Pro Cable” from Transintl: http://www.transintl.com/pro-cable-for-mac-pro2009-2010.html
      This product contains 4 special drive-caddies for the Mac Pro 2009-2010, which reverses the hard drives, so that the Data-connector and Power-connector of the hard drives are facing away from the Mac Pro logicboard.
      That way you will be able to connect the 4 hard drives to the new VMware ESXi supported RAID card.

      Regards,
      Mads Fog Albrechtslund

  5. Charlie says:

    Regarding your point about having to have 2 x vCPUs for Open Directory. With Mavericks, that’s no longer true…

    http://derflounder.wordpress.com/2013/11/22/open-directory-in-mavericks-no-longer-requires-multiple-processors/

    • Hi Charlie

      Thank you for your comment, and thank you very much for pointing this out.
      I have not worked much with virtual Mavericks machines, so had not noticed that the 2 vCPU requirement was gone. But that is nice.

  6. Shawn Pullum says:

    Excellent article. Thanks for putting this together. At UC Irvine we put together a Mac VMware cluster in 2011 with three 2010/2012 Mac Pros (within our existing campus infrastructure). We presented on this last year:

    http://sites.uci.edu/spullum/2013/08/10/uccsc-2013/

    Slides:

    https://docs.google.com/presentation/d/1ioimFg_wgLAjOOZqDXFTPkrAuZTlXtw_PiFAvtr2j2Q/

  7. Jon says:

    1) AFAIK, you can resize HFS+ up, not down. In order for the VM to be able to utilize it, you must boot the VM off another volume, like the installer disk, and erase/re-write the HFS+ table manually. Messy, I know. Scary for production, I know. But it can be done. I believe g-parted can do it as well. I’ve been trying to find my old notes about the commands and my reference, but I can’t find them just yet. It goes without saying – backup before ‘hacking’ the partition table.

    2) The h-sq rack really needs something to contain the heat. These things can really generate a lot of heat when they are being pushed.

    3) Have you tested VDP with OS X clients? Besides not having file level restores – how does everything work?

    • Hi Jon

      Thanks for you comment.

      1)
      Anything is possible, it just depends on how “ugly” the process is allow to be :-)
      But yes, that is an option, but would like to be able to do it with native tools.

      2)
      The H-Sq rack mounts, takes in cold air, in the front of the shelf, and leads it to the air-intake of each Mac Pro’s inside the shelf it self.
      The hot air output from each Mac Pro, of cause needs to be taking care of, but that is your general rack and cooling systems job.
      If you are pushing the Mac Pro’s hard, you could of cause create a hot spot behind the 6U space.

      3)
      I have not played around much with VDP or VDPA from VMware, but to the best of my knowledge VDP and VDPA would work in a very similar manner, as Veeam or any other vStorage APIs for Data Protection (VADP) qualified product.
      That is, that the backup tool, creates a snapshot, reads the needed data from the base VMDK and then deletes the snapshot afterwards.

  8. Pingback: Virtualize OS X using vSphere on Mac hardware | Hazenet.dk

  9. Jono says:

    Does anyone know if ESXi support Thunderbolt?

    Im looking at getting a new Mac Pro and a Thunderbolt Drobo. Install ESXi on the internal SSD and store my VM’s on the Thunderbolt Drobo.

    Does anyone know if ESXi supports Thunderbolt Storage (Drobo)?

    • Jon says:

      No, it’ll support it via USB though. ESXi will support a thunderbolt Pegasus drive if you load the Promise RAID drivers. ESXi will then see the Pegasus enclosure as a PCIe Promise RAID setup.

      • Jono says:

        Awesome guess ill go with the Pegasus 2 RAID!!

        So thats over Thunderbolt right? and with the free vision of ESXi?

        How hard is it to load the Pegasus driver into ESXi?

      • Jono says:

        Thanks for your reply :)

      • Jon says:

        It’s over thunderbolt and works with ESXi 5.5 (even the free license).

        You need to find the scsi-stex VIB driver. The version I have working is “4.07.0000.75-1OEM.500.0.0.472560″

        To install you want to do something like this :
        esxcli software acceptance set –level=CommunitySupported
        esxcli software vib install -v /tmp/scsi-stex-4.07.0000.75-1OEM.500.0.0.472560.x86_64.vib –no-sig-check

        then reboot the host and it should recognize the pegasus after it comes back up.

      • Jono says:

        Yes! thank you very much for your help. So going to make a kick ass ESXi server with a Mac Pro

      • Jon says:

        Which Mac Pro?
        Mac Pro 6,1 (2013)? You’ll be waiting for a bit. I have a 12 core / 64GB RAM new Mac Pro and a Pegasus2 r6 gathering dust. https://communities.vmware.com/thread/468691

      • Jono says:

        Yea was planing to use the 2013 Mac Pro. Its not for me but hopefully a customer that need to run a few OS X VM’s.

        Ah lame, so I can’t run 5.5… does 5,1 work?

      • Jon says:

        Nothing works. 5.1u1, 5.5, 5.5u1. Nothing :(

      • Hi Jono and Jon

        Thank you both for your comments.
        And for providing information about the Promise Pegasus Thunderbolt RAID System.
        Just to clarify, the Pegasus can’t be shared between multiple ESXi Host, so it will act as a Local Datastore for a single ESXi Host.

        And yes it is correct, that the 2013 Mac Pro is currently not working with any version of VMware ESXi.
        But have heard for multiple people that it most likely will be supported with a future release of VMware ESXi. (Which version and when it will be released I do not know).

      • Jon says:

        You are correct – it will be local storage.

        I’ve heard, as well, from many sources that the 2013 Mac Pro will be supported. No clue when or what version :(

  10. Jono says:

    So just to be clear, I can’t use Promise Pegasus as a data store in ESXi for many Virtual Machines? Just connect it directly to one running Virtual Machine?

    • No, you got it backwards.

      The Promise Pegasus can only be connected to a single physical Mac Pro.
      But that Mac Pro can run multiple Virtual Machines, which resides on the Promise Pegasus.

      The Promise Pegasus will be a Direct Attached Storage (DAS) device.
      Other common types of storage in vSphere/ESXi is Storage Array Network (SAN) or Network Attached Storage (NAS).
      For both SAN and NAS the storage is shared among multiple ESXi Host computers, all accessing the same storage unit.
      When Shared Storage is combined with VMware vCenter Server, you get some advanced features, such as vMotion,
      where you can transfer a running VM from one ESXi Host to another ESXi Host without downtime.

      • Jon says:

        There are advanced configurations that would require shared storage – but Enhanced vMotion should work between two Mac Pros w/DAS as long as there is a vMotion network setup between the two of them. *I believe these statements to be true, but have not tested it yet.

  11. henri says:

    Hi,
    anybody with a solution to attach a 10Gbit Ethernet PCI-E card with to the lastest MacPro innovation (via thunderbolt)? Works well with MacPro 4,1 & MacPro 5,1.

    Thanks
    Henri

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s