After his last foray into the “Linux guy reviews a Microsoft product” space, Jason Perlow is back -- this time to take a look at Microsoft’s Hyper-V, the hypervisor-based virtualization solution built into the newly released Windows Server 2008. Although Hyper-V is still in beta and isn't slated to ship in final form until the latter half of this year -- and will be missing a few previously-promised features by the time it does arrive -- it just might be the "killer app" for Windows Server, and one which will have Microsoft's competitors scrambling to keep up, Perlow claims.
Here he is, in his asbestos-lined underwear, awaiting the inevitable flames . Take it away, Jason:
I confess to being a virtualization junkie. I’ve been using VM technology on the x86 platform since 1999, when VMWare Workstation first came on the market with their first Linux release. Since then, I’ve worked with a number of virtualization products on the desktop and on the server, as well as in enterprise environments, particularly with VMWare’s ESX Server product, the current market leader in hypervisor-based paravirtualization solutions, as well as with Xen, the Open Source project that comprises the virtualization core of a number of Linux and Unix-based virtualization products and OSes, such as Citrix XenServer, Oracle VM, Sun xVM, Red Hat Enterprise Linux 5, and SuSE Linux Enterprise Server 10. Now I can add Microsoft's Hyper-V (the beta version in the final Windows 2008 Server bits) to my list.
Hyper-V, formerly known as “Viridian”, greatly differs from the virtualization product from Microsoft currently marketed as Microsoft Virtual Server in that it uses a hypervisor to provide hardware abstraction services to the OS environment and do resource allocation and partitioning. This differs from products such as Microsoft Virtual Server, VMWare Server and VMWare Workstation, Parallels, Linux KVM, and the recently Sun-acquired Virtualbox from Innotek use a technique known as host-based virtualization in which a host operating system such as Windows or Linux runs a subprocess provided by its native kernel called a Virtual Machine Monitor (VMM) to provide virtualization services such as a virtual CPU, memory and devices to a virtual machine. A hypervisor, on the other hand, is a thin abstraction layer which boots on the native hardware that performs some of the functions of an OS kernel, but abstracts much of what is needed to run multiple operating systems with their applications on top of it.
The advantages of hypervisor-based virtualization is that it tends to be faster and more enterprise scalable. The disadvantages are that hypervisors tend to be heavily hardware dependent and usually require hardware acceleration, such as Intel’s “VT” or AMD’s “Pacifica” extensions present in the latest Xeon and Opteron chips, such as it is with Hyper-V and Xen-based solutions, and require modified OS kernels and special paravirtualized device drivers to be run in the VM environment to facilitate enhanced I/O and networking performance.
VMWare’s ESX differs from Hyper-V and Xen in that it currently uses pure software based virtualization, so it doesn’t need the VT or Pacifica extensions. However, it has a much tighter environment as to what kind of hardware it can run on – the hypervisor has a limited device driver compatibility list and VMWare keeps its ESX hypervisor source code very close to the vest, so development goes at a much slower pace – SATA disk drives, which are now commonplace on commodity x86 server machines, are not currently supported in VMWare ESX 3. ESX Server also requires a special networked clustered file system known as VMFS to store the virtual machine images, and you have to dedicate a SAN-based LUN to it. Hyper-V, on the other hand, will run on any modern system that can run 64-bit Windows 2008, stores all its virtual machines on regular directories in NTFS, and provides third-party and built-in driver support by using what is referred to a “Parent” OS as a pass-thru mechanism. In Xen parlance, this is also referred to as “Domain 0”, where device and file system support is provided by the Linux kernel (or in the case of Sun xVM, Solaris) and Linux file systems such as ext3 and ReiserFS.
So let’s get down to the nitty gritty – installation, ease of use, and performance.
It should come as no surprise that Hyper-V’s architecture looks remarkably similar to Xen’s, as Microsoft and XenSource – now a part of Citrix Systems – embarked on a technology sharing partnership in 2006.
The only thing you need to do to use Hyper-V is do a default install of Windows Server 2008, which took about 20 minutes on my Opteron dual-core machine, then go to the Windows 2008 Server Manager and choose “Add New Role” and select “Hyper-V” server. After a few minutes of self configuration and a reboot, Hyper-V boots Server 2008 and you can now start provisioning new Virtual Machines using the Hyper-V Microsoft Management Console (MMC) snap-in tool.
After installing the virtual machine, which can be done via CD-ROM/DVD media or mounting an ISO file, you install the Integration Components (similar to VMWare’s tools) to provide enhanced networking and paravirtualized hardware support. For Windows guest OSes -- with the exception of Vista, which will not work with the Integration Tools yet but will run slower in full virtualization mode-- this is accomplished with a simple wizard and a reboot of the virtual machine.
Let’s start with the good points. Overall, and for what is currently a beta of a 1.0 release, I think Microsoft did a great job with the Hyper-V manager – console access to the VMs is nice and fast and VM performance is excellent, and the provisioning and setup process is wizard-based and straightforward. I’d currently say that from a polish and maturity standpoint, its management capabilities are definitely better than what is in Citrix XenServer 4.x, and way ahead of what currently exists in Red Hat Enterprise Linux or SuSE Linux Enterprise Server.
However, Hyper-V falls somewhat short when compared to the cluster management, automated VM migration/load balancing (“VMotion”) and HA capabilities built into ESX Server 3 and VirtualCenter 3. Of course, Hyper-V is free as a built-in feature in Server 2008 Standard (with a $30 dedicated version coming down the road) and ESX Server costs several thousand dollars per copy, depending on the features purchased, so on a pure bang per buck and ease of use basis, it beats ESX and dare I say it – the Xen solutions built into Linux distros – hands down.
The bad points – as of this writing, you can only run the Hyper-V manager on another Windows 2008 Server machine, In other words, if you want to remotely manage a Hyper-V box, even a stripped-down "Core Install" Hyper-V machine, you will need a Windows 2008 box with the full blown Windows 2008 stack installed. This will be solved when the regular workstation Windows 2008 administration tools, which include the Hyper-V Manager, now called RSAT (short for Remote Server Administration Tools) are finally released from beta testing, which should happen by March, according to Microsoft. The bad news is that they only run on Vista Service Pack (SP) 1.
It looks like that if you want to bring Server 2008 into your environment, you're currently stuck with Terminal Server RDP connections from XP workstations or resigning to at least bring in a few Vista machines to perform admin duty with RSAT. I really, really hope that this is something Microsoft plans to address soon -- because while Terminal Server is nice, you should just be able to remote console to the Virtual Machine directly from XP without requiring Vista or another remote access solution like VNC or virtualized Terminal Services -- as you can with the competing VMWare Virtual Infrastructure client or the Citrix XenCenter client.
As a result of Microsoft’s partnership with Citrix and XenSource, Microsoft also provides Integration Components for Linux OSes, which is currently a separate download that you need to register for on the Microsoft Connect beta testing site. Hyper-V’s integration tools will theoretically support any Linux operating system that has a paravirtualized Xen kernel available. At this time, only SuSE Linux Enterprise Server 10 is officially supported, but I was able to get it working just fine with the free OpenSUSE 10.3 and CentOS 5.1, a popular free Red Hat clone, both of which are Xen-enabled out of the box.
The installation process is a bit kludgy and not well scripted like VMWare’s tools currently are – it requires a manual installation of the Xen kernel, running a separate script that modifies the GRUB bootloader configuration to permit the use of Microsoft’s hypercall adapter, and then running the perl script to install the Integration Tools and paravirtualized drivers themselves. Once they are installed, Linux performance is indeed excellent and comparable to what you’d find in XenServer or any of the open-source Xen-based solutions.
In my opinion, Microsoft should release the Integration Components as Open Source, so that the various Linux distributions can provide native package feeds and native installer packages for their respective versions in order to simplify the installer process, which currently requires a number of developer package dependencies and the kernel headers and sources. All it should require to install this software should be a “yum install hyperv-components” or “apt-get install hyperv-components” (in Red Hat-, Debian- and Ubuntu-speak) and the package manager should install the new kernel, dependencies, GRUB config, hypercall adapter, and the pre-compiled modules.
Even though Hyper-V is still pre-1.0 code, I think Microsoft has done a bang-up job with its hypervisor, and it may just turn this Linux freak into a Windows 2008 junkie for running his own personal virtualization needs. While VMWare’s ESX is still superior on a number of fronts, including its aforementioned VMotion technology and its more powerful cluster management tools, Microsoft has certainly sent a major warning shot across its bow and the bows of the respective Linux vendors, as well.
If I were VMWare, I’d seriously look into open sourcing my hypervisor, engaging the community to get it entrenched into every environment possible – not just the Fortune 100 who have thousands of dollars per server to blow on a virtualization solution -- and focusing my efforts on support and value-add. Hyper-V represents the first stage of the mass-commodization of hypervisor technology, and if this beta release is any indication, it’s going to be a rough ride ahead for Microsoft's competitors. In fact, Hyper-V may be Server 2008’s “killer app” that the analysts have been looking for all this time.
Jason Perlow is a freelance writer and systems integration professional. He can be reached at jperlow at gmail dot com.