No feature of Windows Server 2008 is more widely misunderstood than Hyper-V, which previously went by the codename Viridian and its more pedestrian original moniker, Windows Server Virtualization. Part of the reason is timing: Unlike every other Windows Server 2008 feature, Hyper-V didn't ship in final form with the rest of the product back in February. Part of it is confusion over the bifurcated nature of Hyper-V: There are actually two versions of Hyper-V available (or soon will be), the feature that's part of Windows Server 2008 (which Microsoft refers to as Windows Server 2008 Hyper-V) and the completely separate standalone product, which the software giant will market as Microsoft Hyper-V.
The Hyper-V we're discussing here is the one that's a feature of Windows Server 2008. Microsoft finalized that technology on Thursday, June 26, 2008, and released it to the Web as a free download for existing Windows Server 2008 customers. The other Hyper-V, the standalone Microsoft Hyper-V product, is still wrapped in a bit of mystery. Microsoft is not willing to discuss that product yet, promising only that it will ship by the end of the year.
With that framing in mind, let's take a look at what Microsoft has wrought with Windows Server 2008 Hyper-V, one of several new tier-one features in the latest Windows Server version.
Windows Server 2008 Hyper-V is Microsoft's server-based virtualization solution for businesses of all sizes. Virtualization refers to a decades-old technology that allows you to run one or more virtualized, software-based PC-type environments under a host PC. Software-based virtualized PC environments--or virtual machines (VMs)--are often referred to as guest PCs, though Hyper-V introduces slightly different naming conventions, which I'll explain in just a bit.
Today, there are a handful of popular virtualization solutions on the market. For client PCs like Windows XP and Vista, solutions like VMWare Workstation and Microsoft's free Virtual PC allow for such classic virtualization scenarios as software and Web site testing, help desk and support, and the like, though a new generation of desktop virtualization solutions will likely be more widely used for backwards compatibility purposes going forward. Microsoft has purchased two key players in this market--SoftGrid and Kidaro--for this very reason.
On the server, virtualization has historically been used for server consolidation--say, running any number of old NT 4-based servers in virtual environments on a single, larger server. But as virtualization technology improves and matures, and offers performance similar to that offered with physical hardware, many businesses are turning to virtualization as a solution for mission critical business applications like messaging (Exchange) and document sharing (SharePoint). Virtualized environments offer a number of key advantages over physical machines, including simplified, centralized management, the ability to easy swap out entire environments as needed, and the ability to scale up or down, on the fly, as conditions change. You can, for example, add and remove virtual processors for individual virtual machines as needed, increasing or throttling back performance.
Until recently, the mainstream virtualization market has been dominated by VMWare, which offers a broad and mature virtualization product line. Microsoft has offered a hosted vitualization product called Virtual Server, but because this solution essentially ran as a server application under Windows Server, it didn't offer the performance and scalability needed for pervasive virtualization.
Hyper-V addresses the limitations of Virtual Server and provides VMWare with its first viable competition. When installed with Windows Server 2008--it's an optional feature and is available only on x64 versions of the product--Hyper-V injects itself between the operating system and the hardware in a way that makes a Hyper-V-based Windows Server 2008 install quite different from a more traditional install. Hyper-V runs as a so-called Hypervisor (thus the name) that offers near-bare metal performance in the virtualized child partitions (similar, conceptually, to guest PCs) alongside the parent partition (which is always Windows Server 2008). The hypervisor approach also allows Hyper-V to offer better security--there is little code and no third party device drivers contained within, thus it has a minimal attack--and complete isolation between partitions.
Aside from obvious performance improvements, Hyper-V offers a number of improvements over Virtual Server, while carrying forth compatibility with Microsoft's older virtualization solutions. For example, the VHD (virtual hard disk) format that debuted years ago in Virtual PC work with both Virtual Server and Hyper-V, so you can move VMs between these environments and ensure a steady upgrade path. Likewise, Microsoft's datacenter-oriented virtual machine management solution, System Center Virtual Machine Manager (SCVMM) is being updated this year to work with Hyper-V as well as Virtual Server.
Hyper-V sports the following basic features:
x64 only. Hyper-V requires x64 (64-bit) versions of Windows Server 2008 and must run on a system with CPU(s) that support hardware-assisted virtualization (Intel VT or AMD-V) technology.
x64 and x86 guest support. Hyper-V can run both 64-bit (x64) and 32-bit (x86) guest OSes.
Guest OS support. Hyper-V supports the following guest OSes: Windows Server 2008 (x64 and x86 versions), Windows Server 2003 (x64 and x86 versions), Windows 2000 Server, Windows Vista with Service Pack 1 (x64 and x86 versions), Windows XP with SP2 (x64 and x86 versions) or SP3 (x86 only), and Novell SUSE Enterprise Linux 10 with SP1.
Multiprocessor support. Hyper-V can allocate multiple CPUs to individual guest OSes, though the number varies by OS. You can also "over-subscribe" virtual processors; that is, allocate 8 virtual processors to a VM on a system that only contains 4 physical processors.
Large memory support. Thanks to its 64-bit architecture, Hyper-V supports allocating massive amounts of RAM to each VM.
Network load balancing (NLB) support. It's possible to load balance across virtual machines running on different physical servers using Microsoft's Windows NLB service.
VM migration. Hyper-V includes a simplified way to migrate guest VMs between physical hosts with minimal downtime. (SCVMM includes a more scalable capability with virtually no downtime.)
Server Core support. Hyper-V is one of the few roles that can be installed under Windows Server 2008's Server Core install type, providing the more secure Microsoft virtualization solution.
System Center Virtual Machine Manager. With the addition of the added-cost SCVMM tool, businesses can manage virtualized data centers of any size. SCVMM provides additional functionality, such as the automated server resource utilization, centralized management, rapid VM provisioning, and more.
Microsoft released the first pre-release version of Hyper-V in late 2007 and shipped Windows Server 2008 with a beta version of the technology in February 2008. Since, then, the company has shipped a number of near-final updates to Hyper-V, including some recent release candidate (RC) builds. With the release this past week of the final shipping version of Hyper-V, however, Microsoft is providing a bit of additional functionality and, for the first time, quantifying how well the technology performs.
I discussed the final release of Windows Server 2008 Hyper-V with Microsoft senior product manager Jeff Woolsey earlier this week. He noted that Microsoft had originally promised to ship Hyper-V within 180 days of the release of Windows Server 2008. So this week's release means the company was able to deliver Hyper-V about one and a half months ahead of schedule.
Over 1.3 million users downloaded the various pre-release versions of Windows Server 2008 Hyper-V, Woolsey said, allowing Microsoft to get the breadth of feedback it needed to ensure the technology was ready for primetime. Some interesting statistics emerge from this data: Roughly 50 percent of installed guest OSes were Windows Server 2008, while 35 percent were Windows Server 2003, 10 percent were Linux, and 5 percent were other systems. 90 percent of Microsoft's Rapid Deployment Program (RDP) customers also deployed SCVMM. 29 percent of customers that deployed Hyper-V in pre-release form were from the manufacturing sector; 18 percent were in financial services, 17 percent were in other services, and 10 percent were in telecommunications.
Tellingly, Microsoft has already moved huge parts of its internal infrastructure over to Hyper-V. It's TechNet and MSDN Web properties--each of which averages over 2 million hits per day--both moved fully to virtualized Hyper-V environments. These VMs each run IIS7 with 4 virtual CPUs and 10 GB of RAM. The host servers feature 2 Intel quad-core CPUs with 32 GB of RAM, each of which runs 3 VMs.
"There's no way we could have hosted these sites on Hyper-V if the performance wasn't absolutely there," Woolsey noted. "We could never have done this on Virtual Server, not even close."
Microsoft has also moved parts of its internal IT organization, called MSIT, to Hyper-V. Currently, the software giant has 53 Hyper-V hosts deployed, but that number will continue rising rapidly throughout the year. The company says it has virtualized workloads such as Active Directory (AD), File Services, Web (IIS), line-of-business (LOB), database (SQL Server) and messaging (Exchange Server 2007). Microsoft had been using Virtual Server for years, but the performance on Hyper-V was so good, and the migration process so easy, that the company had no issues moving over quickly to the newer technology.
"My email is running on virtualized Exchange and has been for months," Woolsey told me. "Few people even know it's happened, it's just gone so well. We will have virtualized 25 percent of Microsoft's Redmond infrastructure by end of June. We're going further in the future."
Additional guest OS support was added for the final release of Hyper-V as well. As noted previously, Hyper-V supports a wide range of Microsoft OSes as well as Novell SuSE Linux Enterprise Server 10. But the support matrix is somewhat complex and varies from product to product with regard to the exact versions and number of supported virtual CPUs. Here's the full list:
|Operating system||Uni-processor or SMP support|
|Windows Server 2008 x86||1-, 2-, or 4-way|
|Windows Server 2008 x64||1-, 2-, or 4-way|
|Windows Server 2003 x86||1- or 2-way|
|Windows Server 2003 x64||1-way only|
|Windows Vista x86 with Service Pack 1||1-way only|
|Windows Vista x64 with Service Pack 1||1- or 2-way|
|Windows XP x86 with Service Pack 2||1-way only|
|Windows XP x86 with Service Pack 3||1-way only|
|Windows XP x64 with Service Pack 2||1- or 2-way|
|Windows Server 2000 with Service Pack 4||1-way only|
|SuSE Linux Enterprise Server 10 with Service Pack 1 x86||1-way only|
|SuSE Linux Enterprise Server 10 with Service Pack 1 x64||1-way only|
|SuSE Linux Enterprise Server 10 with Service Pack 2 x86||1-way only|
|SuSE Linux Enterprise Server 10 with Service Pack 2 x64||1-way only|
Even a cursory examination of this table will reveal that there are advantages to running certain Windows versions over others. For example, its advantageous to run Windows Server 2008 instead of 2003 because Windows Server 2008 VMs support four virtual processors. "We provide two levels of enlightenment," Woolsey noted, referring to the way Hyper-V interacts with the underlying hardware. "Drivers are the big one, but we also offer kernel enlightenment for Windows Server 2008 and Windows Vista with SP1, and we'll offer it for all new Windows versions going forward. The other OSes get driver enlightenment only, but not kernel."
You'll also notice that there's only one version of Linux listed there and Microsoft obviously worked very closely with Novell, a close partner, to make that work. But what about other Linux versions? Others are free to make the integration components that would be needed to run other Linux versions on Hyper-V, and since the SuSE components are available free, that could serve as a starting point. In other words, you're on your own. "We can't qualify and test all of the different Linux versions out there," Woolsey explained. "This happened as part of the agreement we have with Novell, and I think most people don't realize how many man hours or work go into something like this to make sure it just works."
Performance is the one significant issue that Microsoft never explicitly discussed during the Hyper-V beta, preferring instead to offer up vague statements about the performance meeting expectations. The reason is simple: Performance improvements, while ongoing during the beta, were the last serious work that Microsoft did on this product (as was the case with Windows Server 2008 as well, incidentally) so there just wasn't much to say. For the release, Microsoft is now offering up two independent performance reports that are quite a bit more than anecdotal. Somewhat surprisingly, Hyper-V performance is quite a bit better than expected.
According to QLOGIC, which wanted to see how well Hyper-V could saturate its Fibre Channel and iSCSI storage solutions, Microsoft's virtualization product offers top notch--near native--performance. Today, 2 and 4 Gb Fibre Channel is the norm, but QLOGIC also tested Hyper-V on 8 Gb Fibre Channel, and found that Hyper-V could fully utilize available bandwidth with about 90 percent of native performance. With IO intensive solutions like SQL Server, performance jumped to 97 percent of native. Interestingly, Hyper-V did even better with iSCSI: It was able to achieve 99 percent of the performance of physical machines. "That's pretty much a statistical anomaly," Woolsey said. "You can't ask for better performance than that."
Microprocessor giant Intel also did their own Hyper-V benchmarking. What Intel was interested in was how Hyper-V would scale, performance-wise, when moving from a two-socket system to a four-socket system. What they found was near linear scaling, and that performance actually improved in situations where the physical processors were over-subscribed. (That is, when more virtual processors were allocated than were physically available on the system.) Intel also found linear scalability for network traffic and disk IO.
Microsoft coincidentally makes one of the most demanding workloads for virtualization: It's Exchange Server is resource intensive and needs to be configured according to a complex set of best practices documentation to perform optimally. Not surprisingly, Microsoft has been using and testing Exchange under Hyper-V for months, and what they've found is that virtualization doesn't change the requirements at all. "We're seeing excellent scalability from one to four processors," Woolsey said. "But Exchange is mission critical, so you can't skimp on [disk] spindles, IO, or memory. If it requires it on a physical system, it will require it in Hyper-V as well."
From a storage perspective, customers should still expect to separate Exchange storage from OS storage, just as they do on physical systems, and never set it up on a single disk. Microsoft strongly recommends using fixed VHD, Passthrough Disks, or iSCSI instead of dynamically expanding disks, which can fragment and slow performance. The Exchange team is working up its Exchange Hyper-V support guidelines now and expects to deliver the complete documentation with best practices within 60 days.
Compared to Virtual Server, well, let's just say there's no comparison. In Woolsey's words, Hyper-V "smokes" Virtual Server on disk intensive tasks, posting gains of 178 percent. CPU intensive tasks offer 21 percent better performance. And network intensive tasks show gains of 107 percent. But even those figures don't communicate the real advantages of Hyper-V, as they are artificially limited to the capabilities of Virtual Server. On dual and quad core servers, the differences would be even more striking.
Are there problems with Hyper-V? Sure: This is 1.0 technology, after all, and uncharted territory for Microsoft. Unlike VMWare's virtualization solutions, Hyper-V still doesn't offer USB or audio support, the former of which has been a weak spot in all of Microsoft's virtualization products to date. (Tip: You can gain both of these capabilities by accessing virtual machines through Remote Desktop, which offers audio and USB storage redirection.) And Hyper-V, as a new and untested technology, is not as mature or well supported as is VMWare's various products. We'll have to wait and see how that works out going forward, but Microsoft will of course instantly seize part of the market simply by fielding this solution.
Also confusing is the relationship between Windows Server 2008 Hyper-V and Microsoft Hyper-V. Microsoft isn't talking, at least not in any meaningful way, yet. "They sound similar but they're two different things entirely," Woolsey said, somewhat cryptically. I guess we'll have to wait to find out what that means.
Finally, it's worth nothing that Microsoft has also confused matters by offering two different versions of the x64 editions of Windows Server 2008 Standard, Enterprise, and Datacenter, one with Hyper-V and one without. The "without Hyper-V" versions cost $28 less than the versions that come with Hyper-V? Microsoft says this is about "customer choice," but I think it has more to do with antitrust concerns. Whatever the reasons, it's confusing and silly.
While I won't be able to test Hyper-V in any meaningful way, it's already clear that this technology is a game-changer for Microsoft, and one that places it squarely in VMWare's crosshairs. Just like that, there's another viable virtualization solution out there. Combine this capability with Microsoft's surprisingly rich set of virtualization products--and it's a long list that includes Terminal Services (presentation virtualization), Application Virtualization (the former SoftGrid), Kidaro (desktop deployment), document redirection and offline files (profile virtualization), and centralized management via various System Center products--and you're looking at a complete and comprehensive solution that will only grow and improve in the future. Once embarrassing for its delays, Hyper-V is here at last. And it looks like it's ready for business.