For one of my customers, I have created a nested PoC environment, to be run in their own virtual environment (completely nested). The environment consists of three hosts, with all components as virtual machines within the hosts. Within the environment I used vSAN as the storage layer and of course NSX (the latest version, 6.4) in order to demonstrate the micro-segmentation functionality the customer wanted to test out.
I used to own a physical lab (consisting of a couple of cheap Proliant-servers (ML150G5) and my own Nexenta hybrid SAN), but the hardware was no longer “top notch” and so I decided to decommission it completely and rethink my options.
I created this PoC environment to be fully self containing. I used my own desktop computer for this, with one (not too large) SSD and a pretty slow HDD. 32 GB of memory and one processor. As you can imagine, this didn’t really fly… But in the end I created three hosts with all the vm’s on it, to run a complete SDDC.
Since I became a vExpert (back in 2016) I knew of the possibility to use Ravello’s cloud infrastructure (https://cloud.oracle.com/en_US/ravello) for free and had been planning on taking some time to use this. With the lab built, I decided to try and use the Ravello offering to expand the PoC environment and create my own cloud-based lab. With the Ravello service comes the opportunity to upload your VM’s (which I had exported to OVF’s) and use them in the cloud.
For the nested ESXi hosts I used the nested image that was created by William Lam (https://www.virtuallyghetto.com/nested-virtualization).
After uploading the complete ova-files to the Ravello cloud, I created an Application, called Lab Omgeving (which translates to Lab Environment, for non-Dutch readers ;)).
Since I use my own private-ip-range while creating the hosts and management components (since I didn’t want to add a DNS-server to the nested environment), I created the needed Network constructs within the environment. It is very easy to use the interface of the network management:
When I started the hosts and tried to power on the vCenter Server and the NSX Manager, performance was not as I hoped. I did tweak the hosts a little, to give them some extra memory, but I was not allowed to go beyond 16 GB. Because I knew of the availability of the Bare Metal functionality within Ravello’s cloud, I started to look for a way to utilize this. I found a blog where was described how to use this at: https://robertverdam.nl/2017/09/21/ravello-oracle-cloud-infrastructure/. There it says that you can change the advanced settings within a vm and set PreferPhysicalHost=true to be able to use the bare metal functionality. And after setting this on my three hosts, it became possible to upgrade the hardware to 8 processors and 32 GB of memory, enough to create the lab I wanted:
Off course, the checkmark needs to be set on “Allow nested virtualization”.
In order to manage the environment, I chose to use a Management Server, based on Windows 2012R2, including DNS.
After this, the performance of the virtual environment was much better. The vCenter Server starts up automatically and with the opportunity of adding an external service to the Management Server, I was able to use RDP to access my lab environment.
One thing that is a downside of using the bare metal functionality, is that starting the virtual machines takes a lot longer than without using it. Sometimes it takes almost 15 minutes before the hosts start to boot, so it is not something that can be used for a quick look at something (especially since starting vCenter after this, also takes a couple of minutes). But then again, if you use a physical server, it also takes a long time before the OS starts to load ;).
All and all, I am very pleased with the first use of the Ravello bare metal functionality.