When planned and deployed properly, virtual machines (VMs) that have been consolidated onto a physical server should operate normally and provide a level of service that is indistinguishable from their physical counterparts. Unfortunately, this doesn't always happen. Some applications may be problematic in a virtual environment and unexpected resource needs might precipitate performance issues.
One way to address performance issues is through resource throttling. Vendors such as VMware Inc. call this virtual machine resource management. Administrators can use a hypervisor to control CPU, memory, network bandwidth and disk bandwidth for each VM. Microsoft's Windows Server 2008 includes the
Resource throttling should start with an evaluation of a problematic virtual machine. Tools such as VMware's VMmark and Vizioncore Inc.'s vFoglight can gauge VM performance. When you compare optimal VM performance data to results gathered using capacity planning tools, you can easily identify differences in resource utilization.
Another option is to use performance tests to identify elevated resource usage. For example, if a troublesome VM appears to use an exceptionally high percentage of available CPU resources, you might want to increase the CPU assigned to that VM and then re-evaluate its performance.
In other cases, tools like VMware's Distributed Resource Scheduler (DRS) can plan resource allocations that would move workloads between VMware ESX hosts or provide additional resources during peak processing times for a specific machine. Scaling everything for maximum capacity on a specific physical server isn't the best idea, though. Super-sizing everything to make sure it can handle all that's thrown at it isn't necessary.
Business processing is usually performed during the day and backups are often performed at night. Rather than sizing a server for peak usage of both tasks, tools like VMware's DRS can allocate resources to the business VMs during the day, and then shift those resources to backup VMs at night.
Experts warn against shuffling resources indiscriminately. "Ideally, you don't want to throttle anything," said Bob Plankers, technology consultant and blogger for The Lone Sysadmin. Resource allocation should be treated more as a business consideration. "It's not a testing issue so much as it involves making sure that if resources are scarce, VMs are prioritized so that VMs get what they need."
One way to avoid resource management headaches is to steer clear of wholesale, enterprise-wide server consolidation projects. Instead, adopt a more systematic approach that starts with noncritical server consolidations.
"Organizations should start slowly, perhaps with three physical ESX hosts and a shared disk back end," Plankers said. "Then move some of the 'low-hanging fruit' first [low CPU, I/O and memory use]." This allows IT administrators to become familiar with tools and sizing principles that can yield dividends on more important consolidation projects.
This was first published in October 2009