Building a Hyper-V Client Hypervisor – An Experiment
When I attended the MVP Summit earlier this year I learned that Hyper-V is a core component of the Windows operating system. In other words, Hyper-V is conceptually not limited to the server operating system even though the hypervisor functionality is not available for Windows 7. But I started asking myself if it is possible to install and use Hyper-V as a client hypervisor on my new HP 8440p demo laptop. So I decided to give it a try.
Here’s my requirement list for an acceptable mobile demo setup:
- The boot time for the host operating system needs to be less than one minute
- The user experience in the primary interactive console must be similar to Windows 7 with Aero Glass theme
- The host system allows to run at least five virtual machines at the same time, connected through an internal network and used for public demos and presentations (Windows server and workstation)
- In addition the host system allows to run up to two protected virtual machines with business applications and sensitive data
- Standard applications, such as Microsoft Office, Microsoft Expression and Adobe Acrobat reader, need to be available in the primary interactive consol
- Wired and wireless connectivity to the Internet is essential
To fulfill the first requirement for good Windows performance I ordered a 180 GB OCZ Vertex 2 SATA II 2.5” SSD to replace the standard system hard disk. According to virtualization expert Shawn Bass the most important factors defining a good SSD for hypervisors are >250MB/s read and write performance and TRIM support. Both is the case for the OCZ I bought, but there are also Corsair SSDs with the same specifications. The price for the 180 GB OCX SSD at an online shop was 260€, which is roughly US$340. There’s also a 240 GB version of the OCZ SSD, but it was significantly more expensive, so I took the smaller version.
After replacing the HP 8440p’s primary HDD with the OCZ SSD I installed Windows Server 2008 R2 Enterprise. Quite a number of device drivers were not available out of the box, so I had to download the Windows 7 64-bit drivers from the HP website and install them one after the other. In most cases the Windows 7 64-bit drivers work just fine on Windows Server 2008 R2. In addition I installed Service Pack 1. After doing this it was time to activate the Hyper-V role in Server Manager which due to SP1 includes the dynamic memory feature. Performance and boot time is just great with this setup. Applications open within an eye blink and boot time is between 25 and 30 seconds. That’s faster than waking up my Windows 7 Atom Tablet from hibernate state.
There was one little challenge during the installation sequence, which was Wireless LAN connectivity. By default, a Windows server cannot connect to WLAN. To change this, the Wireless LAN driver needs to be installed first. Then the activation of the built-in feature Wireless LAN Service, which can be found in Server Manager, is required to provide WLAN connectivity for the Hyper-V console session.
Another requirement I had was a good user experience including Aero Glass theme. How can this be done on a Windows Server platform? As a first step to theme support, the built-in feature Desktop Experience including Ink and Handwriting Service needs to be installed through Server Manager. The next step is to make sure that the Theme Service is set to automatic start in Service Manager. The final thing you need to configure for an optimized user experience is Computer > Properties > Advanced system settings > Advanced > Performance > Visual Effects > Adjust for best appearance. Now you can beautify your desktop by downloading and applying one of the Microsoft themes in Control Panel > Appearance and Personalization > Personalization > Aero Theme. If you want to go beyond the standard Aero theme, the download of additional themes is required because the nice selection of the additional Windows 7 themes will not show by default on the Windows Server.
The good news is that my Hyper-V console session was looking beautiful after going through the installation steps described previously. To make sure that many VMs can be hosted on the system, I replaced the DVD drive by a 500 GB HDD in a case that fits into the DVD bay of my HP laptop. The SSD is only big enough for the server operating system, for a couple of “Service VMs” injecting applications into the host desktop and for some core applications installed directly in the console session, like Microsoft Office and Microsoft Expression.
At this stage, my Hyper-V installation worked as a basic client hypervisor platform fulfilling all my initial requirements. Installing Hyper-V on a SSD provides superior performance and tweaking the system to enable Aero Glass theme support makes it even nicer. But there is additional work ahead, like publishing applications from service VMs into the console session or allowing VMs to use the Wireless LAN. These are topics I will be covering in a follow-up blog article.