WavebreakmediaMicro - Fotolia


Testing VSAN 6.2 in a virtual machine

Spare yourself the expense of hardware and harness the power of nested virtualization by learning how to test new vSphere 6 features in a VM.

VMware's vSphere 6.0 Update 2 includes updates to both ESXi and vCenter, but the biggest changes came with Virtual SAN 6.2, which now includes deduplication and compression for all-flash configurations.

When we choose to adopt new technologies or methodologies, it is a good idea to test them out before introducing them to a production environment. For the last 15 years, I've conducted these tests in virtual machines, which is much easier than finding lots of dedicated lab hardware. Nested virtualization grants us the ability to run a hypervisor in a VM on top of a hypervisor, and it allows us to test hypervisor features in a VM. So, how do we go about testing new features such as Virtual SAN (VSAN) in VMs?

Basic requirements for VSAN performance testing

Start by thinking about what you need in order to run VSAN. You will need three ESXi hosts, each with at least two solid-state drives (SSD) when conducting VSAN performance testing. One SSD is the performance tier, and the second is capacity. VSAN 6.2's new features are only available with all-flash configurations, so the capacity tier needs to be an SSD in order for you to be able to play with these features. You may need to use the following command inside the installed ESXi server to flag disks as an SSD:

esxcli storage nmp satp rule add --satp=<SATP_TYPE> --device <Device ID> --option "enable_ssd"

After rebooting the ESXi host, the flagged disk will appear as an SSD. The hosts will need another disk to boot ESXi, and we'll need a vCenter Server to manage the VSAN cluster. The vCenter Server Appliance is a prebuilt VM that you can deploy in minutes and is a great option for testing. You'll also require a machine with a web browser capable of running the web client on the same network as the vCenter Server.

Next, consider the resources you'll need for all of these things in VMs. Each ESXi server needs two vCPUs and at least 6 GB of RAM, and vCenter requires two vCPUs and 8 GB of RAM. That's a total of eight vCPUs and 26 GB of RAM, plus 10 disks of various sizes. If your outer hypervisor of choice is ESXi, you can happily overcommit on all resources. On the other hand, if you use VMware Fusion, Player or Workstation, you should not overcommit on RAM. My own test machine has 32 GB of RAM and a 200 GB SSD. The SSD is highly recommended, as using a spinning disk to hold these machines takes a good deal of time.

My nested ESXi VM is designed so it can be used with VSAN 6.2. It has a 5 GB disk for the ESXi install, a 6 GB disk for VSAN performance tier and a 40 GB disk for VSAN capacity. Having boot and performance disks that are slightly different sizes makes it easier to identify which is which. You could also have more capacity tier disks, especially if you thin provision them. I also configured four network interface cards on the ESXi VM, as this makes it easier to set up different networking. Once the VM is set up for ESXi, you can clone it to create multiple ESXi servers. Just make sure you're only cloning empty ESXi VMs, because it's more difficult to clone the VM after you've installed ESXi.

Allocating RAM for VSAN 6.2

When I went to test VSAN 6.2, I ran into a couple of issues. First, I hadn't allocated enough RAM for my ESXi servers. I usually run tests with the minimum allocated RAM, which is 4 GB for ESXi, but you can't enable a VSAN host with less than 6 GB of RAM. Second, VSAN 6.2 still didn't want to configure; it complained about the VSAN service not being installed. I resolved this by using VMware Update Manager to apply the latest ESX-based update to the three hosts. This update appears to contain both a VSAN update and a VSAN Health Check update, so it is important.

Unfortunately, Update Manager is still a Windows application. You'll need another VM in your lab, along with either internet access or a previously downloaded patch store. My test lab has Update Manager and an internet connection, so this was easy for me. Once the updates were in place, I was able to configure VSAN on the cluster and access the VSAN data store with 118 GB of free space.

A nested configuration is great for testing the operation's impact and the effectiveness of VSAN space efficiency. It isn't a great place to run real VM workloads, as performance will not be optimal, especially if your physical machine is as resource-constrained as mine was with this cluster.

Another new ESXi 6.0 Update 2 feature is the embedded host client, which is a replacement for the C# client. The C# client will not be included in the next release of vSphere, so we need a replacement for bootstrapping an environment or managing a single ESXi server as a lab. The web client is all HTML5, no need for Adobe Flash. It allows most basic ESXi server operations, including setting up networking and storage. You can also create and manage VMs using the embedded host client. This HTML5 client also shows you where VMware is taking the vSphere Web Client, which will likely be all HTML5 in the next release.

Next Steps

VMware VSAN 6.2 offers new, long-awaited features

How to create the perfect virtualization lab

VMware redefines hyper-convergence with VSAN update

Improve nested hypervisor performance with testing

Dig Deeper on Troubleshooting VMware products