Windows 8 Hyper-V and MinWin: A game changing strategy?
Microsoft seems to be "all in" with its virtualization strategy these days: back in June we heard word of a client-hypervisor (Hyper-V 3.0) built into Windows 8 and in mid-July, Hyper-V for the upcoming Windows Server 8 was publicly unveiled. And I've dug up evidence of a much bigger presence of MinWin in Microsoft's upcoming OS. So how is this fitting together? Is this the ultimate virtualization trio?
My experience with Windows 8 Hyper-V 3.0
In late June, Robert McLaws from Windows Now discovered Hyper-V 3.0 inside a leaked build of Windows 8 client, which marks the first time this virtualization technology has shown up in a non-server Microsoft OS. Quick summary: Hyper-V 3.0 includes a new virtual disk format (VHDX) supporting up to 16 TB and "advanced resiliency features that protect against power failure events". It also sports some performance and scaling enhancements, such as NUMA for both CPU and RAM while also getting rid of the CPU core limit.
I spent two weeks trying out various VMs (from XP to Windows 7) to get a grip on Hyper-V's performance and possible integration with the Windows 8 client. First and foremost: It acts and works like the hypervisor built into Windows Server 2008 R2; there are no major changes except for the enhancements discovered by McLaws and some minor differences I noticed while migrating my VMs:
Performance: Hyper-V seems to try harder to reduce overall resource usage of idling VMs. There's less resource usage, which was especially noticeable on one of my lower-end Core i3 systems.
EPT required: the pre-release version of Hyper-V 3.0 requires a CPU with EPT (Extended Page Tables), a virtualization feature unique to Intel's Nehalem processor architecture (Core i3, i5, i7 and Xeon obviously), or known as "Nested Page Tables" in the AMD world.
New Migration Assistant: A new migration assistant helps move single VHDs or the entire VM (including configuration, snapshot and the second level paging file) to a new on- or offsite location without taking it offline.
Virtualization makes a lot of sense as the basis for an OS -- instead of organizing projects into files and directories and trying to manage those with a master OS, just run a new instance of the OS for each project and access just the relevant resources. Most of the stuff on a typical user's desktop machine is often irrelevant to the task at at hand. A new VM for a specific project allows the user to save state.
That's it -- so far -- but I guess in September we'll hear a lot more on the Hyper-V front and its possible integration in Windows 8.
The question at this point is: Will Hyper-V really make it into the client or is this just some pre-beta experiment? If it's built-in (and I think that's highly likely), Hyper-V is a big step towards decoupling Windows 8 from its predecessors. In theory, by running all legacy applications virtualized you'd get rid of legacy components and security issues that plague Windows OS today -- as ZDNet's Mary Jo Foley hinted at over a year ago, referring to a spokesperson of Microsoft France. Virtual applications could be integrated seamlessly into the host desktop with next to no performance loss (remember, we're dealing with a Type 1 client hypervisor running on bare hardware; Virtual PC is a Type 2 with more layers in between and more performance overhead). Still, there's this issue of VM maintenance, security and its resource utilization.
MinWin to be a big part of Windows 8
This is where MinWin, the Windows mini-kernel, might come in. A little history lesson: In its essence, MinWin is the effort of reducing the Windows core to its absolute minimum by reducing all dependancies. Windows 8 will likely be the first OS to fully implement and use MinWin (unlike Windows 7, which seems to use only parts of it). Want more proof of this? From looking at the recently leaked Windows 8 build, MinWin seems to be MUCH more tightly integrated into Windows 8:
Throughout the new OS, there are thousands of references to MinWin; compare that to the meager 100 references in Windows 7 and you know where this is going. By closely dissecting most of the MinWin-related files, I found Windows kernel files, file system drivers, basic system services, DNS/DHCP clients, partition managers, TCPIP drivers and the essential boot files (winload.exe and so forth) -- all the resources required to boot and run the MinWin kernel!
My take: MinWin acts as a thin layer of code -- with a massively reduced footprint -- that Hyper-V might use as a parent partition. And it deserves to be called "thin": All MinWin files amounted to roughly 20 Megabytes (161 files in total). Next to an increase in performance, this would also reduce the attack surface on the hypervisor immensely. Again, it's all speculation, but it would go nicely with what we've heard over the past few years and it would revolutionize the desktop and laptop market for the better.
Sneak peek: Dissecting the Windows Server 8 Hyper-V demo
Let's turn to the server side: Microsoft's sneak peek gave us an interesting insight into where Windows Server 8 (which the company has never publicly discussed) is heading. Between promises of "Hundreds of new features" and the usual "You'll hear more at BUILD in September," it's quite obvious that Microsoft wants to push "private cloud" in its server edition of Windows 8. First of all, they plan on including a feature dubbed "Hyper-V Replica" that allows the -- you guessed it -- real-time replication of virtual machines without taking them offline or buying expensive 3rd party hardware/solutions. What really struck me about the demo is that it's done in five easy steps:
Step 1: Choose source/target - From within the Hyper-V management snap-in, the admin chooses the VM he needs to replicate and clicks on "Enable Replication" from a context menu. He specifies the target server; this can either be onsite or offsite:
We will get two authentication methods for replication: HTTP/Windows Authentication is probably used for hosts inside the same network, while HTTPS/Certificate is likely for offsite or public cloud duplication.
Step 2: Disk selection - Admins can choose if they want to replicate all or a selected few hard disks; that might come in handy if you've got a dedicated page file partition that you don't want to replicate on another server, saving some time and resources.
Step 3: Three replication modes - To save some time during the first replication run, HyperV offers to schedule it (i.e. perform the replication during off hours) or even lets you save it to external drives.
Step 4: Set up replica history - It appears that we also have the chance to keep a history of all replicas, which may help admins prevent trouble and restore VMs much easier. It's also possible to use VSS to take snapshots of the replicas at intervals between 1 and 12 hours.
You're thinking what I'm thinking: This essentially kills many 3rd party solutions, as it's a free built-in tool that works perfectly fine -- regardless of the hardware you're using. It works right out of the box.
Besides this big killer feature, what's really exciting about Hyper-V is its multi-core processor support: Microsoft got rid of the 4 core per VM limit and now supports at least 16 cores. Unfortunately, they didn't mention the exact limit, but 16 is a massive deal for companies virtualizing massive SQL servers, for example.
Microsoft is trying to sneak Hyper-V into Windows 8 client to regain dominance over the hypervisor server market -- a strategy that worked for them in the past: Taking features and technologies from a higher-end version and making them ubiquitous. And with it all onboard (Hyper-V in Windows Server and supposedly Hyper-V Client in Windows 8), it'd be a no-brainer. The inclusion of MinWin is the icing on the cake.
This article, "Windows 8 Hyper-V and MinWin: A game changing strategy?" was originally published at ITworld. For the latest IT news, analysis and how-tos, follow ITworld on Twitter and Facebook