In addition to a couple of recent conversations with peers, a recent comment on a post on my site lead to a bit of a conversation around home labs and setups. Rather than going back and forth via comments, I figured I would write down some thoughts as a post. If nothing else, it will be easier to share and reference going forward.
WHAT SHOULD MY LAB LOOK LIKE?
It depends …. But seriously, it depends on what you are trying to learn. If you are looking to learn about Active Directory and SQL Server, it will look a lot different if you are looking to learn more about vRealize Automation, for example.
So the first step is to figure out what you are trying to accomplish. This will have a dramatic impact on what sort of equipment you need (RAM, CPU, storage, network), what licensing looks like, as well as if a home lab makes sense.
VSPHERE / VMWARE LABS
Given my typical audience, I’ll start off with what I think are some basics for a vSphere lab. Realistically, you’ll want at least two ESXi hosts (preferably three) so that you can put them in a cluster. This will open the door to things like DRS and HA, and potentially even dabbling with Fault Tolerance (FT) if you want. VSAN can be run in a two node cluster, but this really isn’t recommended for a home lab. Reason being is that unless you have some beefy servers, a lot of your hosts resources may go towards vSAN, leaving minimal amounts leftover for your VMs.
Direct Attached Storage is always an option. With the relatively cheap price of SSDs these days, a 1TB SSD can go a long way. Even better would be some sort of shared storage, this opens the door to things like (quicker) vMotion and HA. A luxury consideration can also be 10 GbE networking – if your hosts and storage both support it, then it can really save you some time.
Another hot topic these days is containers and Kubernetes (k8s). There are a ton of options here. You can use something like VMware Workstation or Fusion to build out your lab. Another popular option is to use some Raspberry Pi’s – there is even an IoT optimized distribution called K3S.
As mentioned above, knowing what you want to pursue is key. If you are aiming for a vSAN Specialist certification, your lab will require a different setup than if you are pursuing a VCP-DTM. So how do you figure out what you will need? I would recommend grabbing an installation guide for the product(s) you are looking at to get an idea of the components involved. From there, you’ll also want to take a look at the System Requirements (somethings you may need to go to the Release Notes for).
It is important to note that you can sometimes skimp on some of these requirements. I wouldn’t however, recommend doing this in a production environment. For example, I recently deployed vRA, vROps, and vRNI in my home lab. Due to resource limitations, several VMs were not able to power on. I had to edit the VMs to remove CPU and RAM reservations in order to allow the machines to boot. Performance is definitely slower, but once again, for a home lab environment, I don’t particularly care.
In the past, Ravello Labs was a great option for a cloud-based environment (previously covered here). Unfortunately, that has been shut down. So what options exist? If you are looking for a way to run vSphere in cloud, options are somewhat limited for a home lab (i.e. on a budget). You might be able to find a co-location facility, however those typically add up in cost. If you happen to have acquaintances who run vCloud Director, you might be able to borrow some space there.
If you are looking for more “cloud-based” options, AWS and Azure both have free tiers which you may be eligible for. Both of these should hopefully be enough to get you some hands on experience. For budget reasons, I won’t mention VMConAWS as that is likely out of reach for most home lab users.
However, a somewhat restricted, but still useful option is VMware’s Hands On Labs. These are typically geared towards specific products and/or features, however you aren’t necessarily limited to those specific areas. For example, if I need to tinker with some vSphere settings in a test environment, I can likely fire up a vSAN HOL and go off script to perform the actions I want to test.
WHAT DO I HAVE?
Hardware wise, I currently have:
- 3 Intel Gen6 NUCs (running vSAN)
- a Dell R720 (local storage)
- a FreeNAS Mini (NFS)
- a Dell T310 running Veeam which backs everything up.
Networking wise, I run Ubiquiti gear:
- a Unifi AP-AC-LR
- a Unifi Switch 24
- a Unifi Security Gateway
I used to run the UniFi Controller on a Raspberry Pi, however over time I ran into a some issues; a couple of bad SD cards, trouble with a power supply, etc. Eventually I found that the minor annoyances were adding up, but fortunately HostiFi exists. Migrating to it was a little troublesome at the time (due to have a faulty local controller), but since the migration it has been quite rock solid. Additionally, I like the small form factor of the NUCs. I also built those out over time to spread out the cost on them. However, if you have the funds available all at once, I would suggest looking at a nested lab as well. I would suggest taking a good look at Paul Braren’s TinkerTry.com as he has a bunch of tested and pre-built packages that are awesome for home labs.
As far as software licensing goes, full disclosure, I work for VMware, so I have access to lots of goodies. Realistically, I rely on my vExpert licenses as they last longer and are easier to access via the web portal. Software-wise, I grab everything from my.vmware.com. If I did not have access to these options, than I would absolutely would be making use of VMUG Advantage. Prior to being a vExpert, I was in fact subscribed to VMUG Advantage as it provides fantastic value for the cost.
DO I NEED A HOME LAB?
Chances are you don’t absolutely need a home lab; realistically though, they can be so handy to have. You don’t need to have the latest and greatest, and as outlined above, you don’t necessarily even need to have any physical equipment. At the end of the day though, having a spot to tinker and learn that is not part of a production network is awesome. You don’t have to live with the fear of breaking something; additionally, this gives you a chance to try out new technologies which you may not otherwise be able to.