07 June 2012

Windows Server 2012 and Hyper-V

Windows Server 2012 comes with substantial improvements to the hypervisor-based virtualization system Hyper-V. This represents Microsoft's attempt to catch up with rival virtualisation technologies and support enterprise-based 'private cloud' services, and it is looking good.

Microsoft recently released a new beta version of Windows “8”, including a Server Edition and a new Hyper-V Server version. Not only is the interface brand new (the metro look), but there are also significant new additions to the product. It is time to have a closer look.

Windows Server 2012 Versions

Windows Server 2012 is available in several versions:

  • Windows Server 2012 – the server version of Windows 8 which can be installed as a full version, but also as a ‘Server Core’ version. This is the same idea as in Windows Server 2008 R2; Server Core is a lighter version with only a command line interface, and hardly any GUI tools available. Both versions have the Hyper-V Server Role available;
  • Hyper-V Server 2012 – This is only the Windows Server 2012 Kernel, the Hyper-V Server Role and the Failover Clustering feature. This is a very light-weight version and, due to the lack of other roles and features, it has a smaller footprint and is more secure.

Windows Server 2012 will also be available in a consumer version, marketed as a successor to Windows 7. This version is, of course, primarily targeted towards the desktop. The cool thing is that this consumer version of Windows Server 2012 is also equipped with a full hypervisor. You can install this hypervisor by navigating to the Control Panel and selecting Turn Windows features on or off and select the Hyper-V Platform option. One of the requirements of running Hyper-V on the consumer edition is that the processor needs to support SLAT (Second Level Address Translation), otherwise Hyper-V is not available:


Figure 1. SLAT is not supported on this laptop hence Hyper-V Platform is not available

Of course it is possible to install the GUI Management Tools and the Hyper-V Module for Windows PowerShell.

Windows Server 2012

Windows Server 2012 has a lot of new features when it comes to Hyper-V. A complete whitepaper can be written on these features so I’ll pick the most interesting ones.

Windows Server 2012 comes in a ‘Server Core’ version as well as a full version. With Windows Server 2008 R2, it is not possible to change one version to another. If you’ve installed Windows Server 2008 R2 Server Core, it is not possible to change this to the full installation without a complete reinstallation of the product. With Windows Server 2012, it is now possible to change this using the DISM technology. With only one command and a reboot it is now possible, and supported, to change Windows Server 2012 Server Core to a full version of Windows Server 2012 in only a couple of minutes.

Of course, Windows Server 2012 has improved specifications when compared to Windows Server 2008 R2. Windows Server 2012 now supports up to 160 logical processors and up to 2TB internal memory in the host computer. I have asked HP if hardware is available that can support these numbers of processors and internal memory. The HP DL980 can support up to 90 cores and 2TB of memory. It is quite pricy though…

Also the Virtual Machine specifications have improved. A Virtual Machine running on Windows Server 2012 now supports up to 32 virtual processors and up to 1TB internal memory. These are quite big numbers for a Virtual Machine.

And from a virtual disk perspective, Windows Server 2012 supports a new virtual disk version called VHDX which is designed to handle the workload that can be expected in the lifetime of the product. It has a much larger storage capacity (16TB) and it has built-in features for preventing data corruption during (for example) power failures. Besides this, it optimizes the alignment with differential disks and dynamic disks in order to give less performance degradation on new, large -sector physical disks.

But it’s not only the specifications that have improved, there’s quite a lot of new functionality as well….

(Private) Cloud

As you might have noticed over the last 12 months, Microsoft is moving towards ‘the cloud’, whether it is a Public Cloud (Internet) or a Private Cloud. One of the remarks of a cloud infrastructure is that it is very dynamic. The system has to deploy new Servers, Hyper-V hosts or Virtual Machines ‘on demand’ without any interference of a local administrator. And that’s exactly one of the focal points of Microsoft when building Windows Server 2012. Its manageability is outstanding and, with the use of the next version of System Center Virtual Machine Manager, even better.


One of the areas in Manageability is PowerShell. In Windows Server 2012 we can welcome the next version, PowerShell version 3. In Windows Server 2008 R2 it is possible to use PowerShell, but only in combination with System Center Virtual Machine Manager. But in Windows Server 2012 PowerShell is natively built-in into the product.

With Windows Server 2010 it is now possible to completely manage your Hyper-V environment with PowerShell, just as you can with the Hyper-V manager. On top of that, you can target an entire set of VMs with PowerShell of course, use regular expressions, create PowerShell scripts etc. This truly is a major improvement!


Hyper-V Extensible switch

The Hyper-V virtual switch was already available in all previous versions of Hyper-V but it has seriously improved and is now offering programming interfaces for 3rd party switch vendors. This is called the Extensible switch. It give 3rd party vendor such as Cisco the possibility to add switch-specific software in combination with the virtual switch. Imagine the possibilities when you can turn the ordinary virtual switch into a dynamic Cisco ASA appliance!

And from a networking perspective there’s even more. NIC teaming is now built-in into the product and therefore officially supported in Windows Server 2012. And Virtual Machines also support NIC teaming so in Windows Server 2012 Virtual Machines you can use multiple NICs to improve performance and reliability even more!

Virtual Fiber Channel

Many organizations have their physical servers connected to a SAN using a fiber infrastructure. The server is hosting a fiber channel HBA (Host Bus Adapter) offering SAN usage to the Operating System. Except for offering the ‘native disk’ option where the disk is presented natively to the Virtual Machine’s SCSI adapter, there was no possibility to extensively use the SAN infrastructure.

With Windows Server 2012, a virtual fiber channel for Hyper-V is offered. This makes it possible to offer the HBA in the host as a virtual HBA to the Virtual Machines. This way, the VM can better use the (expensive) fiber channel SAN infrastructure natively.

SMB File Shares

Hyper-V in Windows Server 2012 can now use SMB file shares to store Virtual Machines, a long awaited feature in Hyper-V. This will result in increased flexibility, easier storage provisioning and reduced system (i.e. storage) cost. This file share can be on a single server (low cost, low redundancy) or on a clustered fileserver for improved availability of the file share.

Improved Live Migration

Live migration can also use the SMB fileshare to store the VMs. The advantage is of course that other Hyper-V hosts, outside the cluster, can also access the VMs. Even better, it is also possible to Live Migrate VMs to a stand-alone Hyper-V host if needed.

Another cool new feature, and eagerly awaited too, is the simultaneous move of Virtual Machines. In Windows 2008 R2 it is possible to ‘Live Migrate’ a VM from one Hyper-V host to another, but only one at a time. For large Hyper-V hosts this can take a tremendous amount of time. With Windows Server 2012 it is now possible to ‘Live Migrate’ multiple VMs at the same time, therefore dramatically reduce the fail-over times.

Resource metering with Hyper-V

With the new cloud developments, whether you’re a hosting provider or not, you need to implement resource-metering to charge back services to either your clients or the internal departments. Resource metering is now built into Windows Server 2012, thereby making it possible to implement a billing solution based on usage scenarios. Usage data can be retrieved from the Hyper-V hosts using PowerShell cmdlets or using new APIs available through the new Virtualization WMI provider. Using this, it is possible to retrieve information such as average CPU consumption, memory usage, disk space usage and network bandwidth consumption per virtual adapter.

Hyper-V replica

With the Hyper-V Replica functionality it is possible to create a replica of VMs on other Hyper-V hosts, even in remote locations. This replication is over a normal IP based network and is running on a Hyper-V level. Therefore, it is possible to implement Hyper-V replicas across multiple storage solutions. It is an asynchronous solution so there’s a dependency on the product running within the Virtual Machine. Especially transactional systems such as Domain Controllers, Exchange Server or SQL Servers might not support the Hyper-V replica mechanism but that’s something the individual product teams at Microsoft have to determine.

Improvements in Dynamic Memory

In Windows 2008 R2 SP1, Microsoft introduced the concept of Dynamic Memory. This is a very interesting feature where VMs that are not using all their assigned memory offer this memory to other VMs. You can read an extensive article on this on the Simple Talk website: Dynamic Memory in Windows 2008 R2 SP1. The underlying technology didn’t change much, but there’s a serious improvement in starting the VM. In Windows Server 2008 R2 it actually took more memory to start the VM than to run it. This means that after starting the VMs there’s actual memory that’s assigned to the VM but not really used. This burden is removed in Windows Server 2012, making it possible to start a VM with less memory than in earlier versions of Hyper-V. To achieve this Second Level Paging is used on the Hyper-V host to improve the startup experience of Windows Server 2012 VMs. The VM still needs this additional memory while starting but under the hood Second Level Paging is used for this temporary need.


Windows Server 2012 has a lot of improvements when it comes to Hyper-V. A lot of improvements have a serious impact on the new cloud based services, whether it is a public cloud (for hosting providers) or a private cloud (enterprise customers). Examples of these improvements are better specifications for both the Hyper-V hosts and the Virtual Machine; but also the management of the Hyper-V hosts and the VMs has improved. Think about the new PowerShell options, resource metering, performance improvements and the clustering improvements.

The virtualization competition is hard, and Microsoft has always been in an underdog position, but with Windows Server 2012 Microsoft is making dramatic steps to lower the gap with these competitors. I might be a bit biased when it comes to Microsoft products but I think customers running on competitor platforms should at least have a thorough look at Windows Server 2012 and the new Hyper-V platform.

Windows Server 2012 is still in beta but expected to go live in the Summer timeframe of 2012.

Keep up to date with Simple-Talk

For more articles like this delivered fortnightly, sign up to the Simple-Talk newsletter

This post has been viewed 48305 times – thanks for reading.

Tags: , , , , ,

  • Rate
    [Total: 21    Average: 3.7/5]
  • Share

Jaap Wesselius

View all articles by Jaap Wesselius

  • Jijukar S

    Great Information
    Thank you Jaap.

    It was worth reading. The info put is really crisp and upto the point.

    Could you email me (jijukars@gmail.com) or guide me to some documents from where I could get some competative advantage with VMware Esxi 5 and Citrix Xen server 6.

    Thanks in advance,

  • Anonymous

    HP DL980 Server update
    The HP DL980 has 80 cores (8X10) and 160 logical processors and it can support 4 TB’s of RAM

  • Reiner

    vNUMA in the Guest
    To me one of the most important changes in Hyper-V V3.0 is the possibility to create vNUMA-aware Guest. Finally I can virtualize SQL Server without knowing my performance will be severly degraded in comparison to a native physical machine. 🙂