Hyper-V 3.0 was perhaps the shiniest of the shining-star features of Windows Server 2012. A number of new capabilities, plus enhancements to existing ones, promise to make Windows Server 2012 R2 an even stronger candidate for the majority of virtualization tasks most organizations need to support. Windows Server 2012 R2 also brings a number of new features to the table specifically aimed at integration with cloud-based services and building out hybrid cloud scenarios.
For larger Hyper-V environments, Microsoft's System Center Virtual Machine Manager (SCVMM) is the management tool of choice. Managing more than a few virtual machines (VMs) using Hyper-V Manager will quickly become untenable, and almost impossible at any scale. However, it's worth noting that SCVMM 2012 R2 can't perform all tasks supported by Hyper-V Manager at this point in time. This list includes some new R2 features, such as exporting a running VM. Whether these features make it into the final release of SCVMM 2012 R2 remains to be seen.
At least one change to terminology makes function naming more consistent. In the world of Hyper-V, the term "snapshot" has meant a point-in-time image of a system for later use, should it be necessary to roll back to a previous version. SCVMM has used the term "checkpoint" for the same functionality. Now, whereas Hyper-V Manager in Windows Server 2012 still called it a "snapshot," Hyper-V Manager in the R2 release calls it a "checkpoint." The only remaining exception is the PowerShell command Export-VMSnapshot. You'll also find a Checkpoint-VM cmdlet that will take a snapshot of the specified VM. For all intents and purposes, a checkpoint is the same as a snapshot from previous releases.
A number of features fall into the "new" category in Hyper-V 2012 R2. We'll look at them individually with an eye toward how each makes things easier or faster.
Gen 2 virtual machines
The basic underlying technology of a virtual machine is software emulation of real physical hardware. For the most part, this emulated physical hardware is old and crusty. Microsoft sees this as a problem, particularly when it comes to support for UEFI or secure boot. Security concerns represent a potent motivational factor, so with the goal of reducing the attack footprint, Microsoft took the chance on creating a new base for emulated hardware with a minimal set of components. With this release, the new Gen 2 VMs support only 64-bit versions of Windows 8, Windows 8.1 Preview, Windows Server 2012, and Windows Server 2012 R2 Preview as guests.
Generation 2 VMs in Windows Server 2012 R2 Hyper-V will mean faster guest installs and faster boot times, but only Windows 8 and Windows Server 2012 guests are supported.
Generation 2 VMs can boot from a SCSI virtual hard disk or SCSI DVD or over the network. These new virtual devices deliver significantly faster boot times. You also get the ability to resize any VHDX attached to a SCSI controller even when the VM is running. This was not the case with previous versions of primary VM disk drives.
In previous versions of Hyper-V, every time you created a new virtual machine you were required to license it separately from the host machine. With Windows Server 2012 Datacenter R2, this is no longer the case. Every new VM running Windows Server 2012 will automatically be provisioned as licensed. This new license type is called an Automatic Virtual Machine Activation (AVMA) key for Datacenter Server. Guest virtual machines must be running Windows Server 2012 R2 Datacenter, Standard, or Essentials in order to use the AVMA key. The end result is a faster provisioning process for new VMs and the elimination of the need to connect to the Internet to activate a new installation.
The latest version of PowerShell includes a significant number of new cmdlets supporting Hyper-V. In addition, the default execution policy setting on Windows Server 2012 R2 Preview is now set to RemoteSigned. Previous versions had this set to Restricted, which would not allow any scripts to run without first changing the policy. This change, while minor, will save quite a bit of time and frustration on the part of newbie administrators. The following are a few new cmdlets specifically related to Hyper-V.
Measure-VM. This new cmdlet will gather a number of resource measurements for your perusal. It's important to point out that resource metering is not turned on by default. To enable it on all your VMs, simply type the following at a PowerShell prompt with administrator privileges:
This returns a nice list of statistics, including AggregatedAverageNormalizedIOPS for measuring overall disk performance.
Copy-VMFile. This new cmdlet allows administrators to copy files to a running VM without using a network connection. It does require Guest Services to be enabled on the Integration Services property page of the VM. A PowerShell cmdlet is also available to accomplish the same task:
Online VM export
With Hyper-V R2, you can now perform a VM export on a running virtual machine or a virtual machine checkpoint. You can accomplish this from Hyper-V Manager or by using the PowerShell cmdlet Export-VM or Export-VMSnapshot. This requires a Windows Server 2012 R2 host, as this feature is not supported on previous versions.
Shared virtual disks
Clustering is typically considered a capability of physical hardware. It's primarily intended to provide failover capability for highly available (HA) resources. Hyper-V in Windows Server 2012 R2 includes support for shared virtual hard disks (VHDX) hosted on either an SMB 3.0 Scale-Out File Server or a Cluster Shared Volume (CSV) to provide physical redundancy for the storage. This eliminates the need for costly SAN hardware to build out an HA solution using VMs and commodity storage. One thing you won't be able to do with Shared Virtual Disks is implement Storage QoS.
The new Measure-VM cmdlet in PowerShell 4.0 gathers all sorts of resource measurements for your virtual machine.
Online virtual disk resizing
VHDX files attached to a SCSI controller can be increased or decreased while the VM is running. You can use either the Edit Virtual Hard Disk Wizard, which is a part of Hyper-V Manager, or the Resize-VirtualDisk cmdlet in PowerShell. Online disk resizing works well with Generation 2 VMs as they use a SCSI disk by default. To perform an online resize with Generation 1 VMs, you will need to add a new SCSI controller. By default, Generation 1 VMs use an IDE controller.
Hyper-V R2 adds the ability to configure a minimum and a maximum IOPS allocated to individual VMs. The minimum value is not fully functional in the preview release, but is seen as a way to guarantee a minimum level of IO to a VM. The importance of this feature comes to light when you have multiple I/O-hungry VMs running on the same host. Storage QoS is also tied specifically to VHDs attached to a SCSI controller.
Remote Desktop enhancements
Previous versions of Hyper-V required a working and connected network to attach to a running VM from any machine other than the server. This is not a requirement with Hyper-V R2, which now supports a direct RDP connection to any running VM via the "VM bus." This means you can connect to a remote VM before assigning an IP address. In addition, a new Enhanced Session Mode supports access to audio, clipboard, display configuration, drives, smart cards, supported plug-and-play devices, and USB devices on the remote system. This functionality is currently limited to Windows 8.1 Preview and Windows Server 2012 R2 Preview guests.
SCVMM 2012 R2
It's easy to feel overwhelmed if you've never worked with Microsoft's System Center before. Many options exist, some of which must be accomplished either prior to or in conjunction with others. You will need to learn the new cloud terminology and understand the concepts of fabric and tenants, among others. If you're serious about evaluating SCVMM 2012 R2, you'll need a hefty lab for setup, according to Microsoft's evaluation plan. Microsoft recommends a total of six physical servers, each with 24 CPU cores and 128GB of memory. You'll also need a minimum of two physical switches to separate the networks.
One of the key themes Microsoft has promoted with all of the R2 releases is cloud integration. You can see this focus in multiple areas, including networking, service templates, and even Windows PowerShell. We'll address these topics from the perspective of administrators and IT management.
Large enterprises and service providers chafed at a significant limitation in Windows Server 2012 Hyper-V related to multiple tenants on a single host. This limitation required a single hardware NIC for each unique hosted gateway. That puts a big cramp on server hardware capable of running large numbers of VMs. In Windows Server 2012 R2 Hyper-V, this limitation goes away with support for multitenant virtual gateways.
SCVMM 2012 R2 is now capable of managing the entire data center networking infrastructure to include multiple sites connected using a site-to-site VPN. This role makes sense for SCVMM when you consider the potential for gotchas like IP address conflicts and multiple domains. Integration with IPAM (IP Address Manager) adds another implement to the toolbox for dealing with multiple IP address spaces.
System Center Virtual Machine Manager 2012 R2 recognizes the new Generation 2 VMs, but won't let you migrate one to a Windows Server 2012 or earlier host.
Network virtualization was initially introduced with the release of Windows Server 2012. Logical networks are the foundation upon which all other network virtualization pieces are laid. When you first get started with SCVMM, you must configure a logical network to which all other virtual networks can connect. By default, SCVMM will create a new logical network where all devices are interconnected and visible. SCVMM 2012 R2 supports the creation of VLAN-based independent networks as well as Private VLAN (PVLAN) networks.
On top of this is the new NVGRE (Network Virtualization using Generic Routing Encapsulation) gateway for site-to-site connectivity. NVGRE is a relatively new standard (currently in draft status) specifically designed for cloud computing environments. The basic principle is using encapsulation of Layer 2 packets for transmission over Layer 3 networks. Layer 2 is typically where all signaling and interaction with the physical layer (think MAC addresses) takes place. NVGRE makes it possible for devices on two completely separate Layer 3 networks (think IP addresses) to interact as if they were on the same Layer 2 subnet.
SCVMM adopted the concept of service templates quite some time ago, but in SCVMM 2012 R2, they really start to make sense. When you need to consistently create the same kind of service, be it a network gateway or provisioned storage resource, you'll want to use a service template. Microsoft announced at TechEd 2013 in New Orleans that it intends to make System Center components available as service templates in the future. Company reps also demoed the use of new script options to automate the creation of guest clusters with VMM Service Templates. On the networking side, you'll be able to use service templates to automate the provisioning of edge gateways and the full range of networking services.
Microsoft has traditionally offered token support for running various Linux distributions on Hyper-V, but that has started to change. Windows Azure got the ball rolling by offering a wide range of Linux-based applications, and the ball has bounced on over to System Center. SCVMM 2012 R2 now supports the creation and deployment of CentOS, Red Hat, Suse, and Ubuntu virtual machines, which in turn can be monitored via System Center Operations Manager. Some of these distributions, including Red Hat Enterprise Linux 5.9 and Ubuntu Server 12.04 LTS, have Microsoft's Linux Integration Services for Hyper-V already installed.
What doesn't work yet
SCVMM 2012 R2 does not support the management of Storage Spaces for Scale-Out File Servers on Windows Server 2012, leaving your options at Server Manager or PowerShell. The Physical to Virtual (P2V) functionality is being retired with SCVMM 2012 R2, so you'll have to find some other way to convert existing physical machines into virtual ones if that's a requirement. You can't manage the new storage tiering or write-back cache features of Windows Server 2012 R2 directly with VMM. You can still do that with PowerShell, and in theory, you could automate scripts through VMM to accomplish the task if necessary.
When adding a new host, System Center Virtual Machine Manager 2012 R2 will check for hardware support of features such as Multipath I/O and let you know if they're not enabled.
You cannot live migrate a VM from a Windows Server 2012 R2 host to any earlier version of Hyper-V. You can go the other direction, from a Windows Server 2012 host to a Windows Server 2012 R2 host. For live migration to work, you must have both host systems configured to the same logical network. This means you must have used the same naming convention when you created your virtual network on that host. That's one more good reason to use SCVMM to manage everything -- including your networks. SCVMM 2012 R2 does not support creating VMs that use differencing disks. You can accomplish the task with either Hyper-V Manager or PowerShell.
The list of features in Windows Server 2012 Hyper-V R2 fills in many missing pieces from the initial release. It's still just a preview, and bugs are to be expected. That said, I can attest it's a remarkably stable release, based on a number of weeks of heavy testing. In times past, you'd expect to have regular blue-screen crashes with an initial "preview," but that has not been my experience so far. The new features seem to work as advertised along with the improved ones. Many companies frequently wait for the first significant update of a major OS release before they begin any serious testing. Windows Server 2012 R2 and Hyper-V R2 seem to fit "significant" quite well.
SCVMM 2012 R2 gains incremental supporting updates, but nothing earth shattering. Nevertheless, for larger environments or for shops planning to leverage Hyper-V's new networking capabilities, it will need to come along for the ride.