After tweeting this update last week, I received quite a few questions on how I was able to squeeze a vCenter Server Appliance (VCSA) & ESXi 6.0 Update 1 along with a VMware Photon VM, all running on my Mac Book Air with only 8GB of memory. Although, I was not able to make use of my demo which was for my vSphere Content Library session at VMworld Europe this week; I thought I would still share the details on how I built this vSphere lab environment which could come in handy for others.
I was able to squeeze VCSA 6.0 & ESXi 6.0 Update 1 & Photon VM on Mac Book Air w/only 8GB of memory. Chrome & terminal ran fine as well!
— William Lam (@lamw) October 7, 2015
I wanted to run everything on my Mac Book Air primarily for the convenience factor so I did not have to bring my Mac Mini which may not be ideal for traveling aboard. The performance and responsiveness of the environment was actually pretty good and I was able to also access the vSphere Web Client using Google Chrome as well as OS X terminal for CLI operations without any problems. It definitely helps if you place all VMs on SSDs, which is especially useful if swapping occurs since we are overcommitting the physical memory.
Below are the instructions for building this environment and here is a quick summary of the expected memory configuration for the three VMs.
|Embedded vCenter Server Appliance VM||5GB|
|Photon VM||384 MB|
Step 1 - Download the VCSA & ESXi 6.0 Update 1 ISO (or any other version you wish to run). You will need to extract the contents of VCSA ISO and the OVA is located in /vcsa/vmware-vcsa and you will need to add the .ova extension.
Step 2 - We will need to configure memory overcommitment for VMware Fusion/Workstation to allow for the majority of the memory to be swapped to be able to run our minimal vSphere environment. You will need to set the value of prefvmx.minVmMemPct to 25 by adding the following line to the respective configuration file shown in the table below.
prefvmx.minVmMemPct = 25
|VMware Workstation||C:\ProgramData\VMware\VMware Workstation\config.ini|
|VMware Fusion||/Library/Preferences/VMware\ Fusion/config|
Step 3 - Deploy the VCSA OVA to either your VMware Fusion or Workstation deployment and ensure you do not power on the VM. We will need to make the following edits to the VCSA's VMX file to ensure it is properly configured when it is powered on. Below is an example of the VMX parameters you will need to add before powering on the VM.
guestinfo.cis.deployment.node.type = "embedded"
guestinfo.cis.vmdir.domain-name = "vghetto.local"
guestinfo.cis.vmdir.site-name = "vghetto"
guestinfo.cis.vmdir.password = "VMware1!"
guestinfo.cis.appliance.net.addr.family = "ipv4"
guestinfo.cis.appliance.net.addr = "192.168.1.54"
guestinfo.cis.appliance.net.pnid = "192.168.1.54"
guestinfo.cis.appliance.net.prefix = "24"
guestinfo.cis.appliance.net.mode = "static"
guestinfo.cis.appliance.net.dns.servers = "192.168.1.1"
guestinfo.cis.appliance.net.gateway = "192.168.1.1"
guestinfo.cis.appliance.root.passwd = "VMware1!"
guestinfo.cis.appliance.ssh.enabled = "true"
Step 5 - Once the VCSA has successfully been configured and you can connect to it using the vSphere Web Client, you can then power it off and reduce the memory from 8GB to 5GB.
Step 4 - Create a new VM using the ESXi 6.x GuestOS type for running your Nested ESXi VM and stick with the defaults of 4GB of memory to be able to install ESXi. Once the VM has been created, go ahead and install ESXi using the ISO as you normally would.
Step 5 - Once the ESXi VM has successfully been installed and booted up, you can then power it off and reduce the memory from 4GB to 3GB.
Step 6 (Optional) - If you wish to play with VMware Photon, you can also install Photon using the ISO which can be downloaded from here or deploy using the OVA which can be downloaded from here.
For folks who have more memory in their system, you could add an additional two Nested ESXi VMs to then run a full VSAN setup and then you will have a pretty powerful, with minimal resource footprint that you can bring with you anywhere to run demos or for development and testing purposes. I also highly recommend making use of the "Suspend" operation when you need to quickly get access to memory or run other applications and this also allows you to quickly resume the entire environment in just a few seconds without having to power down the entire setup which will take much longer.
Fabio Brizzolla says
Hi William! But for VSAN there's a RAM requirement of 6GB (minimum for VSAN 5.5) per host, rigth? Will 3GB be enough for a nested 3-node VSAN cluster for testing purposes? I'm asking because my laptop is an Clevo W230SS with 16GB RAM. I'm running VMware Workstation 11 on my Min 17.2. Regards!
William Lam says
VSAN 5.5 requires minimum of 5GB of memory and VSAN 6.1 (6.0u1) requires 6GB of memory. I only mentioned VSAN in case folks had a lot more memory but didn't mean you could do so with 3GB
Daren Stamper says
Hey William. Thank you for this post, it is really helpful in building a low footprint lab. I have installed and spun up VCSA and 2 ESXi hosts (VCSA with 5GB and ESXi with 4 GB). I deployed the OVA of Photon but for some reason no matter what I do, I still get a "The available memory resources in the parent pool are insufficient for this operation" error when I try to power on the VM. I have adjusted the Photon memory all the way down to 256MB and still the error. Any thoughts? Thank you again!
Daren Stamper says
May not be the best solution but I just reserved all memory on the VM and it was able to boot.
What if there is no vcsa folder inside the .iso?
Ok, so it turns out it's *really* hard to find the proper download links on vmware.com. Make sure you're getting the multi-gigabyte download, not the 300Mb one. Sorry for the Q.
Hi William, thanks for sharing this information to mac, I have a question I make a lab vSphere 6 in my macbook pro 2011 with 16GB ram with two ESXi and vCenter + openfiler, with a vm test.
you trying to make a lab with this kind of hardware?