Last Thursday, Microsoft released the final version of Hyper-V, the much anticipated built-in hypervisor for Windows Server 2008. Back in February, we had a look at a late beta release, and we were quite impressed with the performance of the system and how easy it was to manage virtual machines. While the release version doesn't add any additional features that would put it on par with competitor VMWare's ESX and VI3 or Citrix XenServer (such as live migration, clustered filesystems, virtual desktop management or template provisioning) it does offer equivalent stability as well as superior performance to either of these two competing solutions, as well as a price point that is absolutely unbeatable -- free with the Windows Server 2008 OS.
The release version of the software provides wide support for the latest patch levels of Microsoft Server and Desktop Windows versions using NT kernel technology, going back to Windows 2000 SP4, as well as providing support for the full spectrum of 64-bit Windows versions. In order to exact the best possible performance out of these guest operating systems, a set of "Integration Tools" are provided in the form of paravirtualized device drivers for networking, display, mouse and I/O. A similar paravirtualization method is also used by competitor VMWare with guest-based "VMWare Tools" in order to provide enhanced virtual memory management, networking and display/mouse services, which has been released as Open Source as GPL free software. Currently two Linux distributions support VMWare's GPL Open VM Tools -- Debian Etch and OpenSUSE 11.
Click on the "Read the rest of this entry" link below for more.
The Hyper-V install itself was fairly straightforward -- after installing the release version of the Hyper-V patch in Windows Server 2008 x64 (the software requires Intel VT or AMD-V extensions in order to work, unlike VMWare's ESX, which can run on 32-bit or 64-bit hardware and only makes partial use of the instruction set to provide 64-bit guest support) I added the Hyper-V role with the Server Manager tool, answered a few questions in a configuration wizard, and rebooted the system. Within minutes, I was installing virtual machines.
If you've already made an investment in Microsoft Virtual Server, your Windows guest VM's are easily portable, since they use the same file format, VHD. However, if you're a VMWare shop, converting VMDK files over to the native VHD format isn't something that can be done within the native Hyper-V interface. Instead, you'll want to download a copy of Microsoft System Center Virtual Machine Manager 2008 which is currently in open beta testing. This product includes the quick provisioning/templating capabilities, access controls for enforcing virtualization management policy, Physical-to-Virtual (P2V) conversion and advanced high availability cluster management that you're used to from competing products such as VirtualCenter and XenCenter. Microsoft VMM 2008 boasts the capability to seamlessly manage both VMWare ESX and Hyper-V environments, so that you don't have to silo your virtualization stacks with separate tools. However, you'll need to join your Hyper-V servers to an Active Directory domain and run a dedicated system for VMM as well as for SQL Server 2005 -- the beta we tried didn't like co-existing on the same test machine as our Hyper-V box.
Hyper-V Manager alone as a management tool is fairly spartan compared to either the VMWare Virtual Infrastructure Client or XenCenter, but for a first release, its got more than enough configuration options to get by. Virtual networks are easy to set up, the guest configuration settings are easily accessible and saving and restoring guest snapshot states is practically child's play. We would have liked to have seen something comparable to the VMWare Infrastructure Web Access that is in VMWare Server 2.0 and in ESX 3 as an installable option, but we can understand why Microsoft chose a native Win32 tool as opposed to having to run a web server stack with complex back-end .NET components just to administrate a hypervisor.
Unfortunately, Hyper-V Manager can only run natively in Windows Server 2008 (32-bit or 64-bit) or on Vista SP1, so you will either need to administrate it from a few token Vista machines using the RSAT tools, via RDP connection, or directly from the Windows Server 2008 server console itself. RDP from a Terminal Server client itself is fine, as screen performance and response time is very good and runs even on Open Source Oses. However, RDP is infuriating to work from while a guest OS is being installed for the first time. For some odd reason, Hyper-V actually prevents you from using a mouse in a guest console window until the Integration Tools are actually installed, so you'll have to be skilled in using the <TAB> key when installing a guest from remote if you keep XP or Linux at your desk. Hopefully, your datacenter uses IP KVM infrastructure if you don't want to stand up a Vista system or another copy of Server 2008 on your desk to administrate your remote boxes for those times you do a guest install from scratch.
Once the Integration Tools are set up, however, we loved the near-native performance of Windows guests in Hyper-V, when using both the Hyper-V manager over RDP or connecting to a Windows guest after enabling Remote Desktop Connection and Terminal Services on the VM. SuSE Linux 10 performance was also very good, once the native hypercall adapter software (which translates low-level Xen calls to Hyper-V calls at the hypervisor level to provide paravirtualization for the kernel device drivers) and the Xen kernel was installed.
Microsoft and Citrix/Xensource are currently working on merging the code additions from the Hypercall Adapter into the upstream Linux Xen Kernel, so that in the future, a separate Hypercall Adapter will not be necessary for Linux. Microsoft has also released the Hypercall Adapter into GPL, so both community and commercial Linux distributions will be able to take advantage of Hyper-V, and for this I applaud them. Hopefully in the very near future, other Linux distributions besdies SLES will package a precompiled Hypercall Adapter into their repositories and install media, so that manual installation will no longer be necessary.
For an initial release, Hyper-V provides a no-brainer high-performance means of virtualizing Wintel guests, and I recommend it highly for enterprises looking for an affordable solution to increasing their virtual infrastructure. Microsoft faces a few challenges in getting crossover customers from the VMWare faithful, but in the end, its zero cost of entry is going to gain it a lot of initial early adopters who have no such loyalties. For the time being, at least until the Hypercall Adapter gets more love from other Linux distributions or the Xen kernel gets the needed Hyper-V modifications accepted upstream, VMWare and XenServer are still better solutions for bare metal Linux virtualization, unless of course SLES 10 is your chosen Linux platform, in which case I recommend it wholeheartedly.
What's your experience been with Hyper-V? Talk Back and let me know.