Author:Janique Carbone
Hyper-V Core Features in Windows Server 8
In Windows Server 8, Hyper-V features are enhanced, improving virtual machine performance and providing a scalable virtualization base for cloud deployments. Table 1 provides a comparison of Hyper-V key features between Windows Server 2008 R2 and Windows Server 8.
Table 1: Hyper-V Feature Comparison
Hyper-V now supports 2 TB of physical memory and a maximum of 160 logical processors. In Hyper-V, it is not only cores that are included in the logical processor count, so are threads if a core is Simultaneous Multi-Threading (SMT) enabled. Therefore, the following formula is handy to calculate the number of logical processors that Hyper-V can see on a given physical server:
# of Logical Processors = (# of Physical Processors) * (# of Cores) * (# of Threads per Core)
The increase in memory and logical processor support in Windows Server 8 provides the basis upon which to build dense virtual machine populations for private and public cloud infrastructures. In addition, Hyper-V in Windows Server 8 supports enhanced virtual machine performance by enabling the assignment of up to 512 GB of RAM and 32 virtual processors to a virtual machine. That can easily accommodate scale up of high-performing workloads especially coupled with intelligent resource management features like dynamic memory, and new networking and storage management features that you will discover later in this article.
For systems and applications that are built on top of a non-uniform memory access (NUMA) architecture, Windows Server 8 provides guest NUMA. Guest NUMA means that Hyper-V ensures guest virtual machine processor and memory affinity with physical host resources.
Another upgraded feature in Windows Server 8 is the expansion of failover clusters to 63 nodes (from 16 nodes in Windows Server 2008 R2), effectively quadrupling the size of a cluster and the number of running virtual machines to 4000 (from 1000 in Windows Server 2008 R2) per cluster.
With Windows Server 8, Hyper-V also supports multiple, concurrent live migrations of virtual machines. The number of concurrent live migrations is bounded only by the inherent resource constraints of the infrastructure rather than the serial limitation imposed in Hyper-V on Windows Server 2008 R2.
And while Live Migration has been a cluster-centric feature requiring shared storage, the story gets significantly better in Windows Server 8 with the support for live migration of a virtual machine between any two hosts without requiring clustering, shared storage, or any shared resources other than a network connection. You can control which Hyper-V hosts participate in this Live Migration mode, as well as the number of concurrent live migrations allowed by a host, and the network to use to perform the live migration. Furthermore, there is additional granularity in the selection of virtual machine components to migrate, allowing you to choose all components, including the VHD files, current configuration, snapshots, and second level paging, or only some of these components. You also have the ability to move the virtual machine data to a single location, or to specify individual locations for every selected virtual machine component.
As if all this goodness wasn’t enough, Hyper-V also provides Live Storage Migration that supports moving virtual machine storage resources between physical storage units without service interruption.
Hyper-V Key Storage Features in Windows Server 8
One of the main new Hyper-V storage features is the addition of a virtual Fibre Channel HBA adapter for virtual machines. This allows a virtual machine to connect to a Fibre Channel SAN, and enables new scenarios like guest clustering, use of MPIO, and other multipathing solutions for workloads that require high-performing SAN and application availability. This feature is available to existing Windows virtual machines like Windows Server 2008 R2 running on Hyper-V on Windows Server 8.
Another new storage feature is the VHDX format, a new virtual hard disk (VHD) format that is introduced in Windows Server 8. With VHDX, the maximum size of a VHD increases to 16 TB, instead of the current 2 TB limit with the current VHD format which forces the use of pass-through disks to meet larger virtual disk storage requirements. The VDHX format also provides large sector support, and allows embedding user-defined metadata.
Along with the increase in virtual disk size is an impressive performance boost when creating or managing large VHDX-based formats using the Offloaded Data Transfer (ODX) features of storage systems. Hyper-V support for ODX in Windows Server 8 allows handing off operations like data transfers and file creations to the storage system which can perform the actions with much higher performance while reducing the impact of associated operations on the Hyper-V host processor.
Hyper-V Key Network Features in Windows Server 8
On the networking side, one the of the key Hyper-V features in Windows Server 8 is the extensible Hyper-V switch. The Hyper-V switch is the component that controls the configuration and creation of external, internal, and private networks that support virtual machine connectivity to physical networks, to other virtual machines and the Hyper-V host, or to a subset of virtual machines, respectively. In Windows Server 2008 R2, the Hyper-V switch functionality cannot be modified. In Windows Server 8, an API exists that enables extension of the Hyper-V switch functionality. Microsoft’s goal is to enable security vendors to develop new security appliances as pluggable switch modules, enable switch vendors to create switch extensions that unify virtual and physical switch management, and enable network application vendors to create network monitoring extensions for the Hyper-V switch. Taking advantage of the Hyper-V switch extensibility, Cisco Systems has already announced support for Windows Server 8 Hyper-V with its Cisco Nexus 1000V switch.
Probably one of the most requested networking features included in Windows Server 8 and supported by Hyper-V is NIC teaming. Up through Windows Server 2008 R2, NIC teaming has only been available as a third-party option. Windows Server 8 provides native NIC teaming that is configurable at the host (parent partition) or virtual machine (guest partition) level in either load balancing or failover mode. As a bonus, this new NIC teaming feature even works across different vendor network adapters.
Memory, Virtual Processors, and NUMA Support
The number of supported VMs is 1024 combined with the ability to assign up to 512 GB of RAM and 32 virtual processors to each VM. Guest virtual machine processor and memory affinity with physical host resources is also supported on a non-uniform memory access (NUMA) architecture platform.
Hyper-V on the Windows 8 client also supports dynamic memory which helps to optimize the number of virtual machines that can execute concurrently, and allows the hypervisor to perform on-the-fly adjustments to virtual machine memory based on actual workload requirements. For more information on dynamic memory, read my article titled “Using Dynamic Memory in Hyper-V R2 SP1”.
Guest Support
A much-requested, but missing feature in Microsoft’s current virtualization client technology, Windows Virtual PC, is 64-bit guest VM support. In Windows 8 client, Hyper-V supports both 32-bit and 64-bit VMs, enhancing its value as a development and testing platform as well as expanding its ability to provide a better application compatibility platform. There is a path to migrate VMs from Windows Virtual PC to Hyper-V on Windows 8 client, and it requires that you uninstall Integration Components before moving the VMs.
Virtual Disk Format Support
Hyper-V in Windows client 8 supports both the standard VHD format for virtual hard disks (VHD) as well as the new VHDX format. The new VHDX format supports VHDs up to 16 TB in size, enables large sector support, and allows embedding user-defined metadata in a VHD. Although pass-through disks are still supported, the use of VHDX eliminates the need to use pass-through disks to meet large virtual disk storage requirements.
Fibre Channel Adapter Support
Another feature is the new virtual Fibre Channel HBA adapter provided for virtual machines. This enables new scenarios like guest clustering, use of MPIO, and other multipathing solutions for workloads that require high-performing SAN and application availability. This feature is available to Windows virtual machines running Windows Server 2008 R2 as well as Windows Server 8 versions.
Switch Extensibility Support
In Windows 8 client, there is also a new API that enables development of switch extensions to enhance the out-of-box Hyper-V functionality. The basic functionality of the Hyper-V switch enables the creation and configuration of external, internal, and private virtual networks, along with VLAN configuration. With the new API, vendors can provide pluggable switch modules that deliver additional network security, management, and monitoring features. The same version of switch extensions can support both Windows Server 8 and Windows 8 client. An example of a switch extension is the Cisco Systems Nexus 1000V which has recently announced support for Hyper-V in Windows 8.
Wireless NIC Support
A much needed feature for running Hyper-V in Windows 8 client on a notebook or laptop is support for wireless Network Interface Cards (NICs). This feature required a change to the virtual switch architecture to allow the routing of multiple MAC addresses (one or more unique MAC addresses for each VM, dependent on the number of virtual NICs connected in a VM) through a single physical wireless NIC for external network connectivity. In previous versions of Hyper-V (i.e., Windows Server 2008 and Windows Server 2008 R2 Hyper-V), only wired NICs are supported because multiple MAC address routing to external networks is achieved by placing the wired NIC in promiscuous mode, a function not supported for wireless NICs.
Windows 8 Hyper-V implements the Microsoft Bridging solution which implements ARP proxy (for IPv4) and Neighbor Discovery proxy (for IPv6) to replace a virtual NIC MAC address with the MAC address of the wireless NIC for those packets with an external network destination. Using an internal mapping table to match a virtual NIC IP address to the virtual NIC MAC address, this solution ensures the correct routing of external packets to/from the appropriate virtual NIC.
This solution requires that a bridge is created for an external virtual switch that is connected to a physical wireless NIC. Hyper-V first creates a bridge and connects it to the physical wireless NIC. Then, it creates the external virtual switch, and binds it to the bridge, instead of directly to the physical wireless NIC.
Snapshot Support
With the snapshot feature, Hyper-V allows you to capture the configuration and state of a virtual machine at any particular point in time, and to reload an existing snapshot within a matter of seconds. This feature is very useful in development and test environments to troubleshoot and debug problems.
Once a snapshot is created, all guest operating system, application, and data changes made during the execution of the virtual machine are stored in differencing disks. For each subsequent snapshot that is created, a new differencing disk (or multiple differencing disks if multiple VHDs are associated with the VM) captures the virtual machine changes. The differencing disks created for each subsequent snapshot are related in a parent and child hierarchy with the original VHDs as the top-level nodes.
Individual snapshots or entire snapshot hierarchies can be deleted or merged as needed. In fact, Hyper-V in Windows 8 client enhances past snapshot functionality through asynchronous merging of snapshots, and automatic reclamation of storage.
PowerShell Support
PowerShell allows you to automate the creation, deployment, and management of VMs. With 150 new cmdlets, you can automate all of the actions that are available in the Hyper-V Manager Graphical User Interface (GUI). PowerShell supports direct manipulation of VMs on a local host, as well as management of VMs on remote hosts.
Live Storage Migration Support
Hyper-V on Windows 8 client also provides Live Storage Migration to move virtual machine storage resources between physical storage units without VM service interruption. This feature allows VMs to be independent of underlying storage and supports directly-attached physical storage, removable storage like USB flash drives, SANs, and other remote file shares.
During a Live Storage Migration, you can choose to move some or all of the following VM files:
- VHD files
- Configuration files
- Snapshot files
- Second level paging files
In addition, you can specify individual locations for each selected virtual machine file, or move all the files to a single location. You should note that VM Live Migration (running state without service interruption) is not currently supported on Windows 8 client.
VM Connection Support
There are two options to connect to VMs running on Windows 8 client: VMConnect and the RDP client. VMConnect is the application that is used when connecting to a VM from within Hyper-V Manager. It enables you to connect to the VM starting at the boot phase, and provides management through a single monitor view with a 32-bit color resolution of up to 1600x1200.
The Windows 8 RDP client allows connection to a booted VM, providing a much richer experience. For example, using an RDP client connection from a physical computer with multiple monitors allows a VM to display on all the configured monitors. Through RDP, a VM can also take advantage of a multipoint touch interface, and other physical components like speakers, as well as attach directly to USB devices.
Sleep and Hibernation Support
Running on Windows 8 client, Hyper-V supports sleep and hibernation features. If a physical system is placed in sleep or hibernation mode, VMs are paused and their state information (memory and register state) is saved to files. When a system resumes, VMs are reallocated processor and memory resources, and their state information is restored from file to allow the VM to resume execution.
Enabling Hyper-V in Windows 8 Client
As mentioned previously, you can only enable Hyper-V on a Windows 8 client running on a 64-bit physical system that supports SLAT. In order to determine if your system supports SLAT, you can download and run a free tool, named Coreinfo, from the Microsoft site. Coreinfo was developed by Mark Russinovich, formerly of Sysinternals fame, who is currently employed at Microsoft on the Windows Azure team.
Determining System Compatibility
In order to run the Coreinfo tool, open a command window running within the Administrator context, and change directory to the folder where you stored the tool. Once you are in the appropriate directory, type the following:
Coreinfo –v
Using the –v switch, Coreinfo will only return information pertaining to the virtualization-related features of the system, including whether or not it supports SLAT (Figure 1.)
Figure 1: Virtualization Support Information from Coreinfo Tool
Coreinfo can also provide information on the system sockets, cores, core features, caches, NUMA nodes, and groups by using different switch options on the command line. You can view all the switch options by typing Coreinfo /? on the command line.