Home Lab - Equipment and Software: Part 1

Posted by Stephan McTighe on 9 Jun 2020

Thanks for coming back! If you missed the first post in my Home Lab series you can find it here.

In this post I will begin drilling into the equipment and software that makes up my Home Lab and my reasoning for these choices.

I’m going to skip the original Raspberry Pi, there are enough blogs covering the use cases for them and begin at the first significant device; my MacBook Pro (late 2013). I wanted something mobile to start with so I could take it to work, use it on commutes to other offices etc. The MacBook came with an Intel i7 2.3Ghz Quad core chip, 16GB of memory and a 512GB SSD. This wasn’t going to be able to run everything, but its enough to run what I need when I’m away from home.

Before I dive into the VM’s and nested hosts, lets look at the networking configuration I used in VMware Fusion. I created four custom networks in total. One being a Management network for my ESXi Hosts and my VCSA. The second for vMotion and the other two as guest VM networks. None of these networks are NAT’d or have DHCP enabled, however I have selected the ‘Connect the host Mac to this network option in the VMware Fusion Preferences for the management network.

There are two ways to set these custom networks up. The first being the UBER Network Fuser and the second, editing the VMWare Fusion network file. In ‘/Library/Preferences/VMWare Fusion’, you will find the file called ’networking’.

There are guides already available if you search google for either option so I won’t go into this further. This is the one I used - https://tinyurl.com/y7cjkhky.

Now onto the virtual machines. Running directly on VMware Fusion, I have a Windows Domain Controller / DNS Server, a PFSense firewall and two 6.7 ESXi hosts. They all use local storage, including the ESXi Datastores. My PFSense virtual firewall provides my layer 3 routing and eventually interfaces with my physical firewall. The Domain Controller/DNS Server is a ‘standard’ deployment, nothing special. The two ESXi hosts are the standard 6.7 image available from the VMUG Advantage subscription. Check out the last post for more on VMUG.

Then within ESXi, there’s my vCenter Appliance and the DR node of my vSphere Replication Appliances. At this point you might be wondering how I have fit this into 16GB of memory…

To start with, I built the first ESXi host with 12GB of memory and deployed my vCenter appliance on this (the tiny appliance requires 10GB). Once I had successfully deployed the appliance, I reduced the vCenter memory to 6GB and then followed this by reducing the ESXi host to 7GB.

I then created the second ESXi host, which also has has 7GB allocated. Its a tight squeeze but it allows me the basics I need when I’m not at home and there’s still enough room for some small VM’s with the nested ESXi hosts if needed.

One final thing… To ease the starting and suspension of this lab, I use the following script that I run from PowerShell on the Mac.

Lab_Start_Up

 1Write-Host "Starting PFSense Firewall"
 2vmrun start "/Users/<Path\_to\_VM>/PFSense.vmwarevm" nogui
 3Write-Host "Starting DC01"
 4vmrun start "/Users/<Path\_to\_VM>/DC01/DC01.vmwarevm" nogui
 5Write-Host "Starting ESX01"
 6vmrun start "/Users/<Path\_to\_VM>/ESX01/ESX01.vmwarevm" nogui
 7Write-Host "Starting ESX02"
 8vmrun start "/Users/<Path\_to\_VM>/ESX02/ESX02.vmwarevm" nogui
 9
10Write-Host "Start Up Complete!"

Lab_Supend

1vmrun suspend "/Users/<Path\_to\_VM>/ESX02/ESX02.vmwarevm"
2vmrun suspend "/Users/<Path\_to\_VM>/ESX01/ESX01.vmwarevm"
3vmrun suspend "/Users/<Path\_to\_VM>/DC01/DC01.vmwarevm"
4vmrun suspend "/Users/<Path\_to\_VM>/PFSense.vmwarevm"
5
6Write-Host "Suspension Complete!"

That wraps up the high level MacBook Pro setup. Thanks for reading!