carloscastilla - Fotolia

Manage Learn to apply best practices and optimize your operations.

How to support resource-hungry VMs on hyper-converged infrastructure

VMs that run big applications on hyper-converged infrastructures suck resources from the whole cluster, but splitting a demanding app among VMs can improve performance for all.

One of the fundamental characteristics of hyper-converged infrastructure is that it consists of a series of building...

blocks. These identical blocks are then collected into a cluster of small workloads with sufficient capacity to support virtual machines.

But challenging applications and resource-hungry virtual machines (VMs) require a hyper-converged architecture that can accommodate their needs. IT administrators must know the requirements of their workloads and design an approach to hyper-converged infrastructure to suit those workloads.

There are four groups of resources that can affect VM performance: CPU, RAM, disk and network. If admins can accommodate the sum of each VM's needs for each resource, they should see adequate performance from all virtual machines. For basic VMs, hosts are usually constrained by a single resource; virtualization hosts generally run out of RAM before any other resources exceed 20% utilization. But for more demanding VMs, IT may need to balance different resource types. For example, allocating more RAM to a database VM can significantly reduce its disk performance requirements due to caching in the virtual machine. Admins must also remember that to support a hungry VM, the hyper-converged infrastructure cluster consumes resources. The more disk performance a VM demands, the more CPU time the storage software consumes to deliver this performance. The VM takes more storage cluster networking traffic as well.

Optimizing network performance for hyper-converged infrastructure

Network performance is generally the easiest to satisfy. Most hyper-converged infrastructures allow for at least 1 Gigabit Ethernet (GbE), and most support 10 GbE for VM traffic. The challenge comes when a high-performance VM needs to use the same 10 GbE adapters as the hyper-converged storage cluster. In this case, the hypervisor functions like VMware vMotion. If critical VMs have high-performance network and storage needs, IT must ensure their hyper-converged infrastructure allows for more than two 10 GbE ports. Admins can use the extra ports to segregate the storage from the VM traffic, and to protect the performance of both. On vSphere, IT administrators should use a distributed switch with load-based network interface card teaming and Network I/O Control.

Sizing considerations

Most hyper-converged infrastructure also has a maximum node size. The nodes are designed to scale out more than scale up, so they may not be able to run the neediest VM the hypervisor supports. Usually, each node is limited to two CPU sockets and approximately 40 total cores and 1 TB of RAM. In practice, the hungriest VM should consume no more than 75% of the installed resources; the remainder is for the hypervisor and storage cluster. If an application will not run within these CPU and RAM resources, hyper-converged infrastructure won't help.

Hyper-converged appliance vendors have different maximum RAM configurations, however. And admins can use a software-only, hyper-converged model with a high-specification physical server to meet applications' needs. Many applications are built to scale up, but they may also support a scale-out architecture. It is simpler for the application team to support a single database server with a vast amount of resources, but the application may be able to work with a database cluster, which allows several smaller VMs to do the work. Then each VM can fit on one hyper-converged node.

Utilize storage tiering for VM performance

For most organizations, database servers are critical components of the application infrastructure. This is where the application performance is focused, and it's generally the hardest thing to split into smaller parts. The performance of traditional databases is limited by the disk performance wherever database files are stored, so this is where admins must exercise the most care in their hyper-converged design.

Most hyper-converged technologies use tiered storage: Solid-state drives (SSDs) support the most frequently accessed data and slower spinning disks handle bulk storage. A VM's most frequently accessed data -- commonly referred to as the storage working set -- must be on a fast tier to get the best storage performance. If the working set does not fit on the fast SSD tier, the VM will run slowly. Sometimes a very large working set will steer companies toward installing a hyper-converged platform that uses SSD for the bulk tier and performance tier. Using SSD for the capacity tier means application performance doesn't suffer as much when the working set is larger than the performance tier.

Hyper-converged technology can be a great platform for challenging applications. With care, admins can design an architecture that can cope with huge applications. Designing hyper-converged infrastructure is much simpler if the needy application can be broken into many smaller VMs, rather than one virtual machine that sucks all the cluster's resources.

Next Steps

Essential guide: What a hyper-converged storage infrastructure can do for you

The channel's guide to selling hyper-converged technology

The key to hyper-converged performance improvements

Dig Deeper on Hyper-Converged Infrastructure Implementation