Microsoft Hyper-V R2 Nips at VMware's Heels
Also for performance reasons, VM Chimney and Virtual Machine Queue are both disabled by default. VM Chimney allows TCP/IP to be offloaded to a physical NIC, which reduces CPU loads substantially. However, it's not compatible with every NIC. Also, it's not suited for all types of traffic. You may not see improvement among applications with small packets and interactive traffic, though SQL traffic, backups, Live Migration, and other applications that make use of larger packets and streaming traffic will benefit greatly.
Virtual Machine Queue allows a NIC to use DMA (Direct Memory Access) to route network traffic directly into a VM's memory, which eliminates both packet copies in the virtual network and route lookups in the virtual switch, thus improving performance significantly. Currently, only a few Intel and Broadcom NICs support VMQ.
Robust Management Not Included
The Hyper-V Manager plug-in for the ubiquitous Microsoft Management Console (MMC) is perfectly adequate for managing a single Hyper-V server. However, it's neither intended for nor capable of managing multiple Hyper-V instances. Hyper-V Manager can monitor only one Hyper-V server at a time, and it's incapable of kicking off a Live Migration or even a Quick Migration. For the more sophisticated tasks, you'll need SCVMM.
SCVMM offers substantial benefits for the price. In addition to allowing both manual and automatic Live Migration, it supports physical-to-virtual and virtual-to-virtual migration from VMware hosts to Hyper-V hosts. Further, it allows the same management of ESX hosts that you get through VMware vCenter (because it works through vCenter), enabling management of a mixed Hyper-V and ESX environment from one console. Moreover, SCVMM supports libraries of VM templates, hardware profiles, and ISO images to simplify the deployment of multiple VMs.
SCVMM also provides a fault tolerance feature similar to VMware's High Availability. You can monitor a server, and if that server stops responding, the VM will automatically restart on another server. Configuring this is not quite as simple as a drop-down menu selection; you need to script it, but it isn't difficult and certainly doesn't require research to figure out.
Finally, SCVMM also includes some nice monitoring and reporting tools. It can send e-mail notifications if utilization exceeds a given threshold, for example, and it provide reports that show that the Hyper-V server is earning its keep, and that help identify potential bottlenecks before they become problems. Performance and Resource Optimization (PRO) -- a new SCVMM tool that requires Operations Manager -- is useful for optimizing and troubleshooting a Hyper-V server. It provides application-aware advice on getting a Hyper-V server to run better. The advice can be basic, but it can produce useful information on making specific applications, such as SQL Server 2005, run in a VM.
Hyper-V vs. VMware
Given all the improvements Microsoft has poured into Hyper-V, one might wonder how it stands up to the offerings from the reigning virtualization champ, VMware. Though Hyper-V has made some dramatic strides, it needs to put on more muscle before it can go toe-to-toe with VMware vSphere 4 (or its predecessor, VMware Infrastructure 3).
For starters, VMware supports 37 different operating systems, whereas Hyper-V R2 has trouble supporting any OS that doesn't have "Windows" in its moniker. Presentation of hardware resources such as video cards and NICs is particularly problematic under Hyper-V. In most cases, I ran into problems when installing nonsupported versions of Linux, including Fedora 11 and Ubuntu Server 9.04. Suse Linux Enterprise Server (versions 10 and 11) and Red Hat Enterprise Linux (versions 5.2 and 5.3) are the only Linux distributions officially supported, and VMs running these operating systems are limited to a single virtual CPU.
Release 2 of Hyper-V does match VMware in its support for 64 logical processors. (Windows Server 2008 R2 itself supports 256 logical processors, but only 64 can be used by Hyper-V.) Moreover, Hyper-V R2's new Virtual Machine Queue (VMQ) feature matches the direct memory access capabilities of the NetQueue used in VMware ESX 3.5 and 4.0. VMQ and NetQueue skip some virtual network overhead when moving traffic from the VM to the network adapter, essentially bouncing it from one place in memory to another, and then to the NIC. However, VMware's new VMDirectPath I/O feature surpasses both VMQ and NetQueue. VMDirectPath basically gives every VM direct access to the NIC as if they were the only OS on the hardware, making the path from OS to NIC a little more direct than VMQ and NetQueue.
VMware vSphere 4 also offers some improved memory utilization, with the equivalent of thin provisioning. You can give VMs more memory than the server actually has, which is useful because you can dynamically reallocate memory from idle VMs to active ones, allowing more VMs to be run on a single system. Setting up VMotion in VMware is less difficult than getting Live Migration up and running; plus, VMware delivers a wider array of supported hardware configurations.
Hyper-V may hold an economic edge, however. It likely will be more affordable than VMware, especially if you want to use Live Migration, because that functionality will run you extra with VMware. Further, vSphere will probably cost more than Windows Server 2008 Enterprise or Datacenter edition. I say "probably" because both Microsoft and VMware are murky about pricing; it varies depending on what type of company you have, how many units you buy, and a number of other obscure factors.
If you're looking to virtualize only recent Microsoft operating systems for development or deployment, Hyper-V is a good choice, and it will be easy for experienced Microsoft admins to deploy and manage. VMware will represent a substantial learning curve for most administrators, especially non-Linux admins. On the other hand, if you want to virtualize operating systems not supported by Hyper-V -- such as any flavor of Linux besides Suse and Red Hat, Microsoft OSes older than Windows Server 2000, Solaris, NetWare, or FreeBSD -- or need the advanced features in vSphere, such as thin-provisioning or VMDirectPath, you'll want to go with VMware.
All in all, Microsoft shops will welcome the new features of Hyper-V R2. You'll need to invest in SCVMM to reap the full benefits of the update, and the combination is certainly not overpriced. Even without SCVMM, Hyper-V is a fine product and quite usable for single-server instances. If you want to manage multiple virtualization servers and take advantage of fault-tolerant VMs using Live Migration, you'll need SCVMM. Whether the new features will induce users of VMware to move is another question.
Microsoft Hyper-V R2 Nips at VMware's...