A VMware lab is usually built on a shoestring budget. Sometimes home labs are even built inside VMware Workstation...
or Fusion. As there are no end user production applications running in the vSphere lab (or there shouldn't be), slow performance is accepted and to be expected. However, at some point, poor performance and lack of predictablity can become an issue, even in a lab environment.
More on building a VMware lab
Getting good performance from a VMware lab starts with sizing it with adequate hardware resources. In part one of this tip, you’ll learn how to size and build a VMware lab to perform well for typical use cases. A subsequent tip will cover how to troubleshoot and analyze performance in a VMware lab environment.
Purpose of the VMware lab
Before we delve into performance analysis, let's first take a step back and consider the purpose of a VMware lab. After all, like production environments, labs are created for different purposes, each with different performance expectations. Like a production environment, VMware labs fit in to three quality-of-service tiers:
- Gold: This is a lab created for customer demos. The goal is to show off either vSphere’s advanced features or a product that runs on vSphere (perhaps your company's virtual appliance). These labs have performance expectations similar to that of a production environment, and the virtual machines (VMs) running inside need to be fast. This lab likely uses the same physical servers and storage as a production virtual infrastructure. An example would be two mid-grade 8-core servers with 32 GB of RAM, each, connected to a mid-tier iSCSI SAN or NAS, through an enterprise-grade Gigabit Ethernet switch with VLAN capabilities. This setup would have an estimated cost of $25,000.
- Silver: Created for testing vSphere or VMs, this is the type of lab that large or medium-sized enterprise would use to test vSphere upgrades, new vSphere features like Storage Distributed Resource Scheduler (DRS) or Site Recovery Manager, and new vSphere virtual appliances from the VMware virtual appliance marketplace. This type of lab likely uses two mid-level servers each with a single quad-core processor, 8 to 16 GB of memory, low-end iSCSI SAN or NFS NAS storage, and an unmanaged low-end Gigabit Ethernet switch. This type of lab is common in many organizations and is what virtualization experts strive to recreate at home. A VMware lab like this would likely cost about $5,000.
- Bronze: The lowest level of vSphere lab meets the bare minimum requirement of running at least one ESXi server, vCenter, and has the ability to power on at least one 64-bit VM (which may perform horribly). This type of lab is for learning vSphere or for engineers looking to take their lab on the road. From this type of lab, you'll be able to install ESXi, install vCenter, connect the two together, configure the host, create new VMs, and use the command-line interface. You may not be able to try advanced features like Fault Tolerance, DRS or vMotion but you will be able to try roughly 60% of what the typical vSphere admin needs to know. This lab can help an IT pro prepare for the VMware Certified Professional (VCP) exam and get a handle on what vSphere is and how it works. It likely runs on a single physical server or virtually, inside VMware Workstation or Fusion, on a desktop or laptop system. It may or may not have any shared storage. The estimated cost for this type of lab ranges from free, when it runs virtually, to $800 for a single low-end server.
So when we talk about analyzing performance in VMware lab environments, we need to establish what type of lab we are talking about. A gold tier lab is analyzed the same as a production environment because production-quality performance is expected. Thus, let's focus in on the middle and low tiers, the silver and bronze labs.
Building small- and mid-tier VMware labs
In a mid-tier silver lab, you analyze performance as if it were a small production environment. You want to be able to use features like vMotion and DRS, so the first thing is to ensure that the hosts have CPU compatibility and are similarly sized (in CPU and RAM). You need all VMs on shared storage for those features, so make sure all hosts in the lab have access to that shared storage and that there is adequate space for those VMs.
In the lowest bronze tier, you just want vSphere to work. If you are running vSphere in a virtual lab, VMware support will have no sympathy when things don't work as expected (just be grateful that they work at all). That said, a virtual vSphere lab can be invaluable to IT pros, pre-sales engineers, developers, and those trying to gain vSphere experience on a shoestring budget.
A virtual ESXi host running on VMware Workstation or Fusion needs typical ESXi host memory, plus memory for every VM that you attempt to power on. Keep in mind that virtual ESXi VMs aren't running VMware Tools and can't take advantage of memory ballooning. Also remember that you need real physical memory to power on these VMs as Workstation and Fusion don’t have memory overcommit like ESXi does.
When you add two ESXi hosts requiring 4 GB of RAM each, a vCenter VM using 3 GB of RAM and a shared storage VM (running OpenFiler, for example) using 2 GB of RAM, a virtual VMware lab host may need 16 GB of RAM or more.
Physical desktop or laptop memory is a very common bottleneck, but so is storage. If you desktop or laptop is like mine, the operating system (OS) boot process takes way too long simply because of the time it takes to read all that OS data from the disk. Consider the effect of booting the four or more servers that make up your virtual vSphere lab from a single disk originally designed to run one OS.
The answer? Adding solid-state storage to your environment is the single best thing that you can do for you virtual vSphere lab as it offers a consistent number of IOPS, no matter the load put on it.
Now that you know what type of hardware you’ll need for your lab, in the second part of this two-part tip, I’ll discuss how to monitor performance and identify bottlenecks in a VMware lab.