Chaffie McKenna, Reference Architect – Microsoft Solutions Engineering
So recently I got into a conversation on twitter with a friend of mine about Hyper-V. He was referencing how Microsoft talks about Hyper-V and how that is confusing to him and probably a lot of other folks too. Here is a piece of the conversation from twitter:
- @roidude = RT Hyper-V reason #3 (out of 7) to upgrade to Windows Srvr 2008 R2 http://bit.ly/kbeuw - seems a bizarre way to look at virt. to me
- @roidude = RT @vRobM: it's still not bare metal ->MS calls Hyper-V "a key feature of Windows Server 2008" http://bit.ly/3OPURP
- @virtualizethis = @roidude you mean #3 as in titled Hyper-V in Windows Server 2008 R2?
- @virtualizethis = @roidude Any more details on why it's weird to you that you'd be willing to share?
- @virtualizethis = @roidude are you talking about how they twist it all around with paragraph two in #3
- @roidude = RT @virtualizethis: are you talking about how they twist it all around with paragraph two in #3->Paragraph #1: "What is a hype..."
- @roidude = RT @virtualizethis: Any details?->Hypervisor is platform for virtualized data center - scary to think of it as just an OS feature
- @roidude = Hyper-V home page no longer describes it as OS feature http://bit.ly/EEr98 as opposed to Windows Srvr page that does http://bit.ly/3OPURP
For the record, folks should not consider this a negative conversation or that Steve was attempting to spread FUD, I don’t think that was his intention. But he does bring up some good points and thus launches a valuable discussion with you, the reader.
I assume that Steve is interpreting this like so: Steve doesn’t believe that Microsoft can say that Hyper-V is a “bare-metal hypervisor” AND a “key feature of Windows Server 2008”. As pointed out by Ben Armstrong (aka Virtual PC Guy, on twitter @VirtualPCGuy) of Microsoft however, there is a distinction that most don’t make; the first statement refers to architecture, while the second refers to packaging & distribution.
- The Hyper-V hypervisor does run below all other processes/operations on the computer – including those of the parent partition – and therefore Hyper-V is indeed a “bare-metal hypervisor”.
- Hyper-V is also shipped as part of Windows Server 2008 and is packaged as a server role, therefore it is a “key feature of Windows Server 2008”
After a conversation with Ben Armstrong, several points were made that I would like to share with you. It is reasonable to assume that Steve is conjuring a mental image of a bare-metal hypervisor that is a lean, mean virtualization platform and he can’t resolve the thought of a full installation of a Windows Operating System being anything close to akin to a lean, mean, bare-metal hypervisor.
I agree with Steve that this can be very confusing for most folks. Those folks that are extremely technically inclined, with expertise in the area of virtualization, and experience working with Hyper-V understand why Hyper-V is indeed a bare-metal hypervisor, even though it also is a feature of Windows Server 2008. The problem is that most folks who are just considering Hyper-V are new to virtualization, many are non-technical, and they haven’t don’t have any experience working with Hyper-V yet. Luckily for those folks, I am here to help! ;-) For those who don’t understand the architecture of Hyper-V yet, you should check out Ben’s video on Hyper-V Architecture before proceeding to read this post.
Hyper-V Architecture Demonstration Video
First of all, Ben argues that Windows Server is “lean and mean”; as an industry tested and hardened platform that is capable of running the most demanding workloads; it is a logical choice to package a virtualization platform on/with. For those that argue about what “lean and mean” is, are you referring to…
- CPU Utilization? Nope. Windows Server 2008 is extremely efficient, handling the latest and greatest CPU architectures and advances - including multi-core, virtualization enabled, SLAT enabled for Enhanced/Nested Page Tables supported processors. It is the first Windows OS to move solely to a 64-bit architecture. In addition, Win2K8 R2 supports Core Parking, providing reduced power consumption through advanced management of the processors in the server, also handling the ability to dynamically adjust the performance states to limit power to the need of the workload. Win2K8 R2 supports up to 256 logical processors and Hyper-V supports up to 64 logical processors, while supporting up to 4 CPUs in each Hyper-V VM.
- Memory Usage? Microsoft Hyper-V doesn’t support a feature called Memory Overcommitment like many of its competitors do. There has been much back and forth on this subject in the last year, both pro and con positions taken, all you have to do is a search on “memory overcommitment” to see the discussions.
Understand that the following discussion on memory overcommitment is about my personal experiences and may not be the views of my employer. While working as a consultant for a couple large VMware partners in the past, I have seen this feature called into question by customers I have worked with; specifically about the usefulness of this feature in a production environment. Sure, while there are many benefits for its use in development and test environments, and many customers benefit greatly from this feature – there are certainly considerations to be made and a fair amount of planning needs to take place before implementing memory overcommitment in a production environment. It is common knowledge for those working in the field; down in the trenches deploying virtualization solutions for customers, that enabling memory over-commitment without proper planning can sometimes cause more problems than it provides help. This is because when physical memory becomes scarce to the hypervisor, it forces the VMs to page out their memory to their virtual disk(s), thus actually further increasing the I/O demand on the physical hardware, and increasing the workload of the hypervisor when resources were already scarce. As a result, I have seen the performance of virtual environments impacted severely, especially during I/O intensive operations like Backup/Recovery and Anti-Virus operations. This is especially true when the virtual environment has been poorly managed and little planning or thought went into the environment before enabling memory overcommitment.
So while Hyper-V doesn’t have memory overcommitment, this may or may not affect many customers who would choose not to take advantage of the memory overcommitment feature if they had the choice to. In addition, because Win2K8 R2 supports SLAT for the processors, it allows Hyper-V R2 servers to run with much improved memory management when compared to previous Hyper-V versions.
- Disk Usage? Win2K8 R2 has greatly improved performance of not only its access to physical disks, but has improved the performance of VHDs that are used with Hyper-V VMs. Previously, Dynamically Expanding VHDs performed significantly worse than Fixed-Size VHDs, but this has been improved with R2, and now Dynamic VHDs perform within a few points of a Fixed VHD. In addition, Fixed VHDs perform just a few points south of native, which provides a significant performance boost to Hyper-V VMs. R2 also supports dynamic re-sizing of disks via Disk Management, allowing administrators to reclaim space if they over provisioned to begin with. In addition, R2 improved performance with MPIO when multiple storage paths are present and improved connection performance for iSCSI attached storage by additional support for storage subsystem optimizations and reducing length of time for OS startup. Also, Hyper-V R2 supports the dynamic addition and removal of virtual and physical hard disks with Hyper-V VMs, while they remain operational. The ability to dynamically add and remove storage, as well as dynamically re-size storage, allows Hyper-V VMs to be quickly reconfigured to meet changing requirements.
- Network Usage? Win2K8 R2 has completely changed the game around networking, by adding all sorts of new features and support, not only for the Windows OS, but expanding support and performance for the Hyper-V hypervisor and the Virtual Switches and Virtual NICs used by Hyper-V VMs. Hyper-V now leverages TCP Offload, also called TCP Chimney, and the use of Jumbo Frames, along with support for Virtual Machine Queues (VMQ). For more information on the enhancements of TCP Offload, Jumbo Frames, and VMQ, look here.
- I/O Performance? Nope here as well, Windows Server has a proven I/O stack that is able to support intensive I/O activity.
Windows Server is certainly “lean and mean” and very capable of supporting a “bare metal hypervisor”, such as Hyper-V. Ben makes the point that it’s possible that this is such an issue for most folks because it could rub them the wrong way that Microsoft is delivering a new technology like virtualization using an “old, stodgy, traditional operating system”. Ben’s response is to remind everyone that while virtualization is new and exciting, most of the core problems are not.
- A hypervisor needs to have a great scheduler (just like an OS)…
- A hypervisor needs to have a great I/O subsystem (just like an OS)…
- A hypervisor needs to have a solid management story (just like an OS)…
Therefore, it absolutely makes sense to use an OS platform that has been built, tested, and tuned for a long time, which has a great scheduler and I/O subsystem, as well as a superb management story, and is already familiar to customers – rather than building it from scratch – as a tool to help customers easily deploy virtualization in their environment. The fact that Hyper-V is a feature of Windows Server 2008 R2, only shows how Hyper-V is packaged and distributed to customers to be deployed, this is not an indicator that Hyper-V is based off of and utilizes a full OS below its hypervisor.
The Hyper-V hypervisor runs below everything, including the parent, and thus is a true “bare-metal hypervisor”. For those who have worked with Hyper-V already, this is no secret. Although it’s true, you first install Windows Server 2008 R2 choosing either a Full or Server Core installation, and once you finish the installation you have a complete traditional Windows Operating System. But then you enable the Hyper-V Server role, which requires a reboot... As part of the process to reboot the Windows Server, many of the features available in a traditional Windows OS are removed and/or disabled. Once the Windows Server reboots several times, it emerges as a completely different Windows Server – a Hyper-V server that is a true bare-metal hypervisor, and the Windows Server OS has been encapsulated into a Parent Partition that executes atop the hypervisor.
I’ll do a follow-up to this post to cover the ins and outs of the Hyper-V Architecture, why it’s different from all the other bare-metal hypervisors out there, why the Hyper-V architecture has its advantages and disadvantages, and what that means to you when it comes time to deploy it to support your virtualization project.
Until then, you can be darned sure that Hyper-V is a true bare-metal hypervisor, which compares to VMware ESX and Citrix XenServer, who are the other leading hypervisors available today. How it’s packaged, to allow you, the customer, to easily deploy Hyper-V doesn’t determine whether it’s a true bare-metal hypervisor. What does lies under the covers a bit and certainly has been hard for some folks to figure out, therefore leading to confusion in the community, leading to a fair amount of FUD being produced about Hyper-V.
I wanted to take a moment to thank Ben Armstrong (@VirtualPCGuy) for sharing his thoughts and ideas on this topic, Please look forward to the follow-up on Hyper-V Architecture to come (likely) early next week. Until then, you can follow me @virtualizethis for updates on my upcoming blog posts and my random thoughts on virtualization.
Chaffie,
My skepticism is, in fact, on the marketing side - not the technology side per se. The ratio of virtualized servers to potential savings in most organizations is ridiculously low. Organizations tend not to think about the big picture benefits of 100% virtualization, and of what is required to have a successfully virtualized data center. Pitching the all-important and ubiquitous hypervisor as a "feature of the OS" does not, in my opinion, provide a high level of comfort to IT decision-makers.
Posted by: Steve Kaplan | October 05, 2009 at 06:57 PM
Steve,
Thanks for responding to the post, it sounds like I assumed correct, that your skepticism has not much to do with the technology, but more about how it’s marketed and positioned. I know exactly what you are saying, I don’t know how many customers that I worked with while I was at INX and at Dell, who had no clue about how to design a virtual environment that would virtualize 10 or 20% of their total servers, let alone what is required for a 100% virtualized data center. I also agree that pitching Hyper-V as a “feature of the Windows Server OS” doesn’t help Microsoft in the market, especially when competing against other vendors whose marketing of their hypervisor has been fine tuned over the last 2-7 years.
I think everyone reading this, especially if you work as a consultant or systems integrator needs to communicate with Microsoft and provide them feedback about what it’s like to sell, design, and deploy Hyper-V to the virtualization community. Let Microsoft know where they are and are not doing you any favors when you go to speak to a customer. Steve, I know that INX is a huge Microsoft Gold Partner, with a good relationship to your Microsoft peers, so take the opportunity to tell them what they need to improve upon, and let them know where they are doing well. After all, you can blame it all on Microsoft, but eventually it ends up hurting your customers and your business. After all, you want your customers to make educated decisions about their business; frankly it could end up a disaster for your business if they don’t, and we all need Microsoft to get their game face on and help their customers with this. Competition is good for the customer, I am sure you’ve heard that before, because choices are good for the customer, but choices that are made from incorrect information (FUD) are not good for anyone involved.
Posted by: Chaffie | October 05, 2009 at 08:02 PM