It's become common practice in most IT environments to virtualize workloads and a variety of older hardware components. The trick is how to allocate these newly created workloads without overwhelming the computing resources of the physical servers. As your environment grows, managing VMs needs to be planned and monitored against your established computing benchmarks. It's a task that requires tools -- some are simple embedded tools already available with the virtualization platform, while others are third-party software products that will go a long way in helping plan your next VM deployment. By understanding how resources are utilized within each virtual machine, and how these resources can be distributed throughout your environment, you will gain a grasp of workload balancing.
Know the baseline resources that the VM is taking and build off of that.
virtual environment engineer
Virtual workload balancing goals
Virtual workload balancing is oftentimes overlooked until the last minute -- or until it's too late. Without proper load balancing, an environment can easily experience networking bottlenecks and reduced performance from applications running on a given server. With poor performance comes even worse user experience. As IT managers, we all know and understand what happens when the end user starts complaining. Load balancing analyzes available resources and weighs those against the demands imposed by each VM, allowing you to make informed choices about where to place each workload most effectively. This avoids resource contention and keeps data moving along smoothly, which in turn helps optimize server operations, end-user performance and, very importantly, virtual environment redundancy.
There are few rules when it comes to placing a virtual machine on a physical server. Each VM uses a variety of resources, including CPU cycles, memory space, I/O and storage. So it's important to understand the finite resources available on a given server and the resources required by each VM, and then to place VMs so that resource utilization is complementary. For example, placing multiple CPU-intensive VMs on the same server can severely limit the total number of VMs possible on that physical system. On the other hand, mixing CPU-intensive VMs with other memory-intensive or I/O-intensive VMs can be very complementary and actually allow more VMs on that server. However, gathering all of this information and tracking it over time can be extremely problematic without software tools.
Understanding and planning your virtual environment can help you establish the types of tools you'll be using and to what extent. The goal is to benchmark performance and gather resource information right from the start.
"Know the baseline resources that the VM is taking and build off of that," said Timothy O'Brien, a virtual environment engineer and industry expert. "Once you establish your baseline, also know your peak. This will help you appropriately balance your workloads."
There are a lot of products available to the virtualization engineer. The question here is: Which tool is right for you and how does it apply to your environment? And how will these workload-balancing tools know what to balance and what to leave running?
"The issue here is making these products smart enough to understand when to balance the workloads without causing major havoc," says Cameron Christo, a virtualization architect at consulting firm MTM Technologies. "You must also worry about end-user experience. Just because the tool is excellent in metric and workload balancing, it may have horrible effects on the end user."
Using virtual workload balancing tools
VMware and Citrix have released very powerful embedded tools to help with automated and manual workload balancing. However, some hypervisors have hardware limits and constraints, and leading third-party tools may be the better choice in a multi-platform environment. For example, PlateSpin's Migrate product allows an administrator to move workloads across dissimilar hardware platforms. Even more important is that Migrate supports major virtualization platforms, including Microsoft Virtual Server, Virtual Iron, VMware, and Citrix XenServer, as well as multiple operating systems, hardware configurations, and imaging technologies.
Just because the tool is excellent in metric and workload balancing, it may have horrible effects on the end user.
virtualization architect, MTM Technologies
Another noteworthy feature within Migrate is the ability to move between different virtual infrastructures. Suppose your production environment is running on VMware while you test all of your development applications on XenServer -- you can seamlessly move your workloads around as needed using Migrate. This sort of tool is not available on embedded workload-balancing features within your hypervisor. Migrate's Live Transfer capability enables users to move workloads across the local or wide area network without taking production servers offline. In testing out the Migrate tool, only one or two pings would be dropped among virtual workloads being moved live, and the latency is increased by just a few milliseconds. Migrate also enables live testing with no disruption to source systems to ensure that workloads will run as expected in the virtual environment.
But third-party software can be expensive, and sometimes there just isn't enough in the budget to make the purchase. This is where powerful pre-packaged hypervisor workload balancing tools come into play. Both VMware and Citrix have taken the right steps in balancing virtual workloads. For example, VMware's Distributed Resource Scheduler (DRS) can continuously monitor utilization across resource pools and intelligently allocate available resources among virtual machines according to business and IT needs that you define. DRS can also migrate all virtual machines off physical servers to enable scheduled server maintenance with zero downtime. This sort of live maintenance will help you increase the longevity of both your physical hosts as well as your virtual machines.
Citrix delivered a powerful tool of its own in recent XenServer releases. The XenServer Workload Balancing tool optimizes VM placement through a server download with XenServer. Administrators can set policies and thresholds, making certain they get the most out of their virtual infrastructure while avoiding bottlenecks and maintaining the best user experience. Integrated into the XenCenter management console, IT administrators have instant access to ideal host recommendations for virtual machine placement, ongoing optimizations across active workloads, and historical information showing pool and host performance as well as virtual machine motion history.
There is no question that the tools are rapidly evolving and may soon offer the intelligence and versatility to manage workloads autonomously, but they're not quite ready yet, and most organizations keep most (or even all) automatic features turned off. "One problem with active or automatic balancing is that the embedded tools will move workloads sometimes without notifying the admin," Christo said. So when designing your environment, don't overdo the "automated" load balancing feature set in your hypervisor. Instead, you should keep tools on a short leash, provide a final sanity check against the tool's recommendations and implement those recommendations selectively.
Always plan ahead and remember to use the workload balancing features embedded in your hypervisor. Third-party tools can also be terrific, especially in mixed-platform environments, but there is added cost involved. When balancing workloads, be aware of the actual workloads and their distribution so that VMs with similar resource demands are distributed to different physical servers. Also be sure to leave enough free resources on physical servers to allow for VM failover from other troubled servers should the need arise. Balancing the environment beforehand will go a long way in keeping your virtual infrastructure healthy.
What did you think of this tip? Write to SearchDataCenter.com's Matt Stansberry about your data center concerns at email@example.com.