For my day-2-day work I need a NSX-lab environment to execute my lab-ish investigations. I don’t own any homelab environment (yet) and usually use the Hands On Lab (HOL) from VMware to conduct my lab investigations.
BUT, I have a laptop (Macbook Pro (2,3 GHz, 16 GB RAM and 256 GiB SSD)) which should be just enough to convert it into a labtop #wordjoke
Ok, let’s start.
Which components do I REALLY need to have for my lab:
- a VMware ESXi host
- a VMware vCenter Server 6.7 U1
- a NSX Manager 6.4.4
The biggest struggle with these components are their huge memory consumption, I really need to downsize those appliances so that they can run (decently) on my laptop. So this becomes a basic setup, with only the necessary components and configurations.
THIS IS BY NO MEANS ADVISED FOR PRODUCTION ENVIRONMENTS NOR SUPPORTED!
I’m using VMware Fusion as my type 2 hypervisor, onto which I will run a nested ESXi hosts. Which in turn will run the vCenter server and NSX Manager appliances.
TIP: close as much applications during installation to overcome any memory related problems. I even rebooted my laptop before the whole installation the clear up some memory.
VMware ESXi installation
I’ve started with creating a nested VMware ESXi VM and maximized the amount of memory and cores, but still have some memory left for the maxOS (Mojave).
As you can see I went over the recommended memory assignment, but I already know that the vCenter server and NSX Manager will set a pressure on this memory assignment.
I also adjusted the hard disk to 250 GB. hopefully this will be enough, but maybe needs to be adjusted in the future.
I’ve installed (the nested) ESXi hypervisor through the normal ISO mounting process.
Ok, this is not the hard part: But you should celebrate every step in a process: Win!!!
Let’s change the IP address to a static one, which is outside of the DHCP scope range in use by VMware Fusion.
I retrieve my DHCP configuration by viewing the dhcpd.conf file located at
I’m using using the following IP addresses:
- ESXi host – 192.168.22.127
- vCenter – 192.168.22.126
- NSX Manager – 192.168.11.125
F2 – change network settings on the ESXi host .. gotcha:
vCenter Server Appliance
Now lets deploy a tiny vCenter Server Appliance through the normal installation procedure:
Connected the VCSA iso on my MacBook and installed it on the nested-ESXi host.
You have to know that the tiniest version of VCSA still requires 10 GB of memory (that doesn’t leave much room for the NSX Manager). So we are going to downsize the VCSA as much as we can, by disabling unnecessary services after the installation and lower the amount of virtual machine memory (until problems or severe performance degradation is encountered).
After the complete installation I’ve disabled the following services on the vCenter appliance to clear up some used memory:
This automatically disables those functions, but these are not needed for my NSX-oriented lab-environment.
I’ve shutdown the appliance and assigned 8 GB of RAM (instead of 10 GB).
So far, no problems with the VCSA installation have been detected.
I deployed the NSX Manager through the normal OVF deployment method.
Here I encountered one problem: The option for deploying from a OVF template was grayed out.
After a quick research I founded that I had to start the VMware Content Library service (again) on the VCSA. After the deployment of the NSX Manager I’ve stopped this service again.
I didn’t powered the appliance on yet!
First I removed the memory resource reservation:
Also here I’m lowering the assigned resources from 4 vCPU and 16 Gb RAM to 1 vCPU and 5(!) GB RAM:
-> Now start the VM.
Patience is your friend: starting this appliance is going to take a lot of time (due the resource restrictions).
In the mean while ignore messages like:
The NSX Manager is designed to support a 512 hypervisors. this setup contains only 1 hypervisor host! So you don’t need this amount of memory.
In the screenshot below you can see the resource usage from the NSX Manager (before the vCenter registration)
It eventually took me about 15 minutes before I could start the vCenter registration!
Until now I’ve been sitting with my fingers crossed!
BUT IT WORKED!! QUADRUPLE WIN!!
I also deployed one NSX Controller (don’t need any redundancy).
And lowered the specs from 4vCPUs and 4 GB RAM to 1 vCPU and 1 GB.
Which itself creates nice performance diagram: