In the first installation of this series, I introduced the higher goal that led me to stripping down and installing ESXI on a Mac Mini: creating long-running Mac environments for teams that needed a variety of different OS virtual machines. I also covered the general benefits of using Mac Minis themselves as hosts, and how you too can “get to bare metal,” step by step.
If you’ve already been following along (or just got caught up), you’ve got a nice, shiny, bare metal Mac Mini running ESXI vSphere. Now we need to make it all worth it by getting it loaded up with some nice Mac VMs. If you’ve taken my suggestion and used ESXI vSphere 5.5 you’ll be able to leverage your existing netboot server to provision your VMs.
Getting started
For this phase of setup we’ll need the following:
- The vSphere Mac Mini you previously set up.
- An existing Mac server running Netboot to provision the VMs with an OS (We’re using Casper here).
- Either a Windows VM or Windows based machine to open the VMware vSphere Client software.
REALLY ANNOYING GOTCHA: Dear fellow Mac SysAdmin — do you use key commands? Are they second nature? Can you navigate Mac OS X from your keyboard with only occasional usage of a cursor?
If you said yes to any of the above: please make a conscious effort to not use key commands if you’re using a Windows VM to access vSphere during this setup process. You will invariably accidentally close your VM and sit their yelling at your Mac and yourself. Both I and the other Mac Sysadmin in Portland had this problem.
Creating a VM
- On your non-vSphere Mac, open up your Windows VM (or windows based machine I guess) and open VMware vSphere Client.
-
Connect to your Mac Mini by inputting the IP, admin username, and password.
- Select “Create New Virtual Machine” from the splash page.
- Choose “Typical” for the type.
- Set a Name for your virtual machine.
- Choose a datastore (This will be one of the drives you’ve set up.)
- Under guest operating system choose other, and then select Mac OS X 10.7 (64-bit) — this works for all Mac OS X builds after 10.7. My users are utilizing 10.8 or 10.9 for their VMs, so this works well.
- Follow through on the NIC screen leaving the settings as is.
- Create your VM’s virtual disk.
- Follow through to the end and hit Complete.
- Before we continue on to setting up the VM, let’s do a bit of housekeeping:
- Go into Configuration and, if your mini has multiple drives, add the second local SSD by doing the following:
- Click on Add Storage.
- Click on the listed drive (Pro tip: only currently unused drives will show up! No worries about accidentally nuking the drive running vSphere! Yay!)
- Follow through keeping the default settings and choosing a nice name for your datastore until you complete setup.
- Power on the Virtual Machine, and bring up the Console.
Ok, remember that gotcha I mentioned? Start actively remembering not to use key commands before you continue on to the next section…
Set up your virtual machine
At the end of Phase 1 we booted up our VM in the console. Don’t be surprised if this takes a while to complete. If you’ve got a NetBoot server your VM should automagically boot into you default netboot image.
-
Once the VM has fully netbooted you’ll want to bring up either Disk Utility or Terminal to partition the drive — vSphere’s initial drive format isn’t HFS ready. Once you’ve partitioned the drive you can now proceed to your imaging software to get an OS loaded onto it.
- Follow the appropriate workflow for your imaging software and get an OS onto your virtual machine. I made a custom OS build for ESXI that has my corporate IT account, and has Energy Saver and Screen Saver disabled, and with SSH/ARD access enabled. Depending on your use case scenario image the VM as best applies in your environment.
- Once the VM is booted make sure you install the VMware Tools by choosing VM > Guest > Install VMware Tools from the Console window.
- Switch over to Apple Remote Desktop or ScreenSharing.app and finish any final configuration work in an environment where using key commands won’t make you want to rip out your hair.
Finishing up
Don’t forget to do the following:
- If you created a configuration for imaging in Casper and don’t want the VM to be managed make sure to uninstall Casper.
- In the vSphere Client application make sure you allocate RAM to the VM under Resource Allocations > Memory. Use your best judgement.
- If you’re planning on installing Server.app into the VM make sure you mod the serial number length! by adding
SMBIOS.use12CharSerialNumber = "TRUE"
to your VM’s VMX file as discussed here: https://groups.google.com/forum/#!topic/macenterprise/2hoepPc-Ygc/discussion
Lather, rinse, and repeat until you’ve configured the number of VMs you’d like to run on your brand new bare metal Mac Mini ESXI host. Congratulations, you’ve made it!
For auditory learners
I recently gave a talk-version of this blog post at the 2014 Mac Admins Conference at Penn State, which you can here in full (along with comments from the audience) below.
At the same conference, I gave a talk called "Load Balancing for Humans", which gives some insight into the life of an IT nerd here at New Relic. (Go here to skip straight to the part where I cover how I went about doing the entire project.)
Other options
Rich Trouton has a great walkthrough using the new VMware Fusion Tech Preview for setting up and administering Mac VMs on ESXI, please see his awesome and exhaustive blog post here: http://derflounder.wordpress.com/2014/07/04/vmware-fusion-technology-preview-july-2014-includes-esxi-management-options/
The views expressed on this blog are those of the author and do not necessarily reflect the views of New Relic. Any solutions offered by the author are environment-specific and not part of the commercial solutions or support offered by New Relic. Please join us exclusively at the Explorers Hub (discuss.newrelic.com) for questions and support related to this blog post. This blog may contain links to content on third-party sites. By providing such links, New Relic does not adopt, guarantee, approve or endorse the information, views or products available on such sites.