I am a big fan of hands-on learning, so I am creating this story to document the process I went through to create a vSphere 6 lab here at home. I’ve taken bits and pieces from various other sites, but my goal here is to fill in all the gaps I found to be missing along my journey. I hope you find this helpful.
The goal here is to create a fully functional vSphere 6 setup running vCenter 6 (VCSA) and vSAN 6. Other features and goals will follow, but for now we’ll focus on getting this up and running.
Why do this? As I am working through various VMware classes and certs I found I needed a lab to mess with features we don’t use in production at my datacenter. Back when I did my original vSphere training I was running into all sorts of stuff we didn’t use in production, and with version 6 that list is continuing to grow so I wanted a sandbox to get more exposure to it.
What follows is the basics of what you’ll need to get this going. I’m going with the Shuttle DS8x series, which is a very compact and low power option. While researching I found it is a rather popular option for home labs. Using this platform it is rather cheap to build up a number of smaller hosts vs one or two larger hosts. The more hosts you have the more stuff you can play with.
- Shuttle DS87 Barebones PC — click here for complete specs.
- LGA 1150 CPU, will support i3, i5, i7 processors 65w.
- 16GB memory kit (2x8GB) — has 2x 204 pin SO-DIMM slots, supports DDR3–1333/1600, max of 16GB ram (2x8).
- 1TB 7200RPM 2.5" SATA III Hard Drive — will be used for VMware datastore.
- 128GB mSATA SSD — will be used for vSAN caching.
- 8GB SDHC Memory Card — your boot volume.
I went with 3 hosts, which is the minimum(technically) to initiate a vSAN cluster. If you’re not going to do vSAN you probably don’t need the 128GB mSATA SSD and can do any number of hosts you want.
If you want a more detailed shopping list visit Ryan Birk’s post, he lists out a number of config options and provides some different storage config scenarios.
DS81 vs DS87
You’ll see other sites mention doing this with the Shuttle DS81 but when you start ordering DS81 kits what you’ll find is most do not have the front panel SDHC memory card slot. I went through 6 of them from Amazon (from various re-sellers) and not once did I get one with a card slot on the front, even though all Shuttle documentation (even the documentation in the box for the DS81) says there is one. I ended up giving up and going with the DS87 for the sake of my own sanity. I’ve seen posts about this problem with the DS81 posted on a half dozen sites. If you aren’t going to boot off SDHC then go for the DS81 and save a few dollars.
Once you have everything wedged into the DS87 chassis you’re about 99% ready to load ESXi. There is one BIOS change you will need to make in order to utilize your mSATA drive that you will be using for caching; without this change you’ll spend more time than is reasonable scratching your head and wondering why your SSD drive is nowhere to be found.
Out of the box the select setting for the M.2 slow is for Mini-PCIE; you need to change this to mSATA. See the following photo for an illustration of this change.
Time to load ESXi 6 on your new host. This is a fairly easy process, however you cannot just download the media off vmware.com and start loading. ESXi 5.5 and 6 will not see your network adapter or mSATA controller. You will need to build a custom installer to do this. Luckily there is a PowerShell script that makes this a relative non-event.
Creating your media
First you need to download the ESXi-Customizer-PS from VMware Front Experience. This will allow you to bundle in the drivers you need for the Shuttle chassis.
Make sure you have PowerShell installed on your PC and you have VMware PowerCLI as well. For more info about this visit the VMware Front Experience site.
To save you some time, here is what you’ll need to run in order to get an installer that will work with your Shuttle DS8x. This will load the drivers for the network adapter (Realtek 8111G) and the SATA controller.
.\ESXi-Customizer-PS-v2.4.ps1 -v60 -vft -load sata-xahci,net55-r8168
Once that has run you’ll have an ISO to use for the install. If you want to transfer this to a USB flash drive for install (since the Shuttle has no optical drive) my suggestion is you check out UNetBootin.
Once you have your boot media of choice built, plug it in and follow the usual steps. I’ll let you sort that out yourself, you’re building this to learn right?
As I said earlier my goal was a full vSphere 6 environment running vSAN 6. My config ended up being as follows:
esx1, esx2, esx3 in a cluster with all the usual suspects configured and running, VMotion, DRS, etc.
Since I need my local SATA and mSATA for vSAN I’ve got an iSCSI volume mounted so I could spin up vCenter and some other VMs ahead of my vSAN config.
vCenter server duties are being handled by the VSCA appliance which is a very quick way to get vCenter online, I just wish they would get some sort of update manager built into it.
As I get more of my config sorted out (vSAN, etc) I’ll post some updates. Eventually I’ll get the networking a bit more complex as well.
Giving credit to the various posts that helped me along the way.
Ryan Birk, The Perfect vSphere 6 Home Lab
VMware Front Experience — thanks for the customizer!
UNetbootin — great project, has saved me countless hours over the years.
Virtual Boring’s concise and straight forward vSAN 6 write up