Virtualization answers a lot of the important challenges in today's IT environment. Virtualization allows you to quickly deploy new servers and applications, as well as improve application availability and increase the ROI on your hardware investments. While these kinds of benefits are driving the adoption of virtualization in IT, there are also times when virtualizing a server doesn't work out the way it's planned. While there can be a lot of different reasons behind virtualization problems, the most important ones are almost always linked to resources. Let's take a look at the top four virtualization mistakes.
1. Inadequate virtual RAM—Not configuring enough RAM for the virtual machines (VMs) is the most common problem but fortunately it's also the easiest to remedy. It's easy to try to skimp on VM RAM in order to get more VMs onto a given server, but this typically doesn't work out in the long run because RAM is one of the most important performance factors. Taking advantage of dynamic RAM can help prevent this problem. It's also important to remember to leave about 1GB of RAM for the virtualization host.
2. Inadequate storage I/O—Not having enough I/O bandwidth for your VM's storage requirements can be a tricky problem to solve. This often shows up when you migrate a physical server to a VM and then find the VM's performance falls short of the physical server. The default VM storage configuration is a leading cause of this problem. Physical servers are often setup where their I/O is split between different disks. For example, it's common to split the Windows OS and the paging file to separate physical disks—or for SQL Server to split the log and the data files to different disks. The default VM configuration directs everything to a single virtual hard disk file which can restrict performance. VMs can benefit by splitting the I/O to separate spindles just like physical servers.
3. Inadequate network bandwidth—Not allocating enough physical NICs to handle all of your VM network bandwidth is an easy trap to fall into in a new server consolidation environment. When you consolidate a group of physical servers as VMs on a virtualization host, you wind up channeling all of the network bandwidth through the available NICs on the physical server. For instance, if you consolidate 10 physical servers into VMs, you then need to plan to handle the peak network bandwidth of all 10 workloads on the virtualization host if you want the performance to be comparable to the physical implementation. That doesn't necessarily mean that you need 10 NICs—you can usually use less, but two or three NICs is not going to cut it.
4. Incompatible virtual workloads—Another subtle problem that doesn't usually surface until you've gone live with your server consolidation, is when two different VM workloads interfere with one another. Unlike a physical implementation, VMs share the same physical resources and if two or more workloads need a lot of the same resource for an extended period, the other workloads will suffer. Sometimes, certain VMs just shouldn't run together. This can be hard to predict even when you collect performance statistics. One of the best ways to deal with this is having multiple available virtualization hosts where you can live migrate or vMotion the troubled VMs to where there is less resource contention.
Most of these problems can be avoided by conducting careful planning and due diligence in planning your virtualization effort. Using performance monitor to collect good baseline performance statistics is a great way to avoid some of these top virtualization problems.