Prepare the virtualization environment: Microsoft System Center Virtual Machine Manager

May 28, 2016

Follow this guidance if you use Hyper-V with Microsoft System Center Virtual Machine Manager (VMM) to provide virtual machines.

This release supports:

  • VMM 2012 — Provides improved management capabilities, letting you manage the entire virtualized datacenter as well as virtual machines. This release now orchestrates cluster host patching as well as integrating with Windows Server Update Services, allowing you to define baselines of patches that each host needs.
  • VMM 2012 SP1 — Provides performance improvements for Machine Creation Services ( MCS) when using SMB 3.0 on file servers with clustered shared volumes and Storage Area Networks (SANs). These file shares provide low cost caching and reduced IO on the SAN storage improving the performance.
  • VMM 2012 R2 — Enables at-scale management of major Windows Server 2012 R2 capabilities, including running VM snapshots, dynamic VHDX resize, and Storage Spaces.

This release supports only Generation 1 virtual machines with VMM 2012 R2. Generation 2 virtual machines are not supported for Machine Creation Services (MCS) and Provisioning Services deployments. When creating VMs with MCS or Provisioning Services, Generation 2 VMs do not appear in the selection list for a master VM; they have Secure Boot enabled by default, which prevents the VDA from functioning properly.

Upgrade VMM

  • Upgrade from VMM 2012 to VMM 2012 SP1 or VMM 2012 R2

    For VMM and Hyper-V Hosts requirements, see For VMM Console requirements, see

    A mixed Hyper-V cluster is not supported. An example of a mixed cluster is one in which half the cluster is running Hyper-V 2008 and the other is running Hyper-V 2012.

  • Upgrade from VMM 2008 R2 to VMM 2012 SP1

    If you are upgrading from XenDesktop 5.6 on VMM 2008 R2, follow this sequence to avoid XenDesktop downtime.

    1. Upgrade VMM to 2012 (now running XenDesktop 5.6 and VMM 2012)
    2. Upgrade XenDesktop to the latest version (now running the latest XenDesktop and VMM 2012)
    3. Upgrade VMM from 2012 to 2012 SP1 (now running the latest XenDesktop and VMM 2012 SP1)
  • Upgrade from VMM 2012 SP1 to VMM 2012 R2

    If you are starting from XenDesktop or XenApp 7.x on VMM 2012 SP1, follow this sequence to avoid XenDesktop downtime.

    1. Upgrade XenDesktop or XenApp to the latest version (now running the latest XenDesktop or XenApp, and VMM 2012 SP1)
    2. Upgrade VMM 2012 SP1 to 2012 R2 (now running the latest XenDesktop or XenApp, and VMM 2012 R2)

Installation and configuration summary

  1. Install and configure a hypervisor.

    1. Install Microsoft Hyper-V server and VMM on your servers. All Delivery Controllers must be in the same forest as the VMM servers.
    2. Install the System Center Virtual Machine Manager console on all Controllers.
    3. Verify the following account information:
      • The account you use to specify hosts in Studio is a VMM administrator or VMM delegated administrator for the relevant Hyper-V machines. If this account only has the delegated administrator role in VMM, the storage data is not listed in Studio during the host creation process.

      • The user account used for Studio integration must also be a member of the administrators local security group on each Hyper-V server to support VM life cycle management (such as VM creation, update, and deletion).

    Note: Installing Controller on a server running Hyper-V is not supported.

  2. Create a master VM.

    1. Install a Virtual Delivery Agent on the master VM, and select the option to optimize the desktop. This improves performance.
    2. Take a snapshot of the master VM to use as a backup.

    For more information, see Prepare a master image.

  3. Create virtual desktops. If you are using MCS to create VMs, when creating a Site or a connection,

    1. Select the Microsoft virtualization host type.
    2. Enter the address as the fully qualified domain name of the host server.
    3. Enter the credentials for the administrator account you set up earlier that has permissions to create new VMs.
    4. In the Host Details dialog box, select the cluster or standalone host to use when creating new VMs. Important: Browse for and select a cluster or standalone host even if you are using a single Hyper-V host deployment.

MCS on SMB 3 file shares

For Machine Catalogs created with MCS on SMB 3 file shares for VM storage, make sure that credentials meet the following requirements so that calls from the Controller’s Hypervisor Communications Library (HCL) connect successfully to SMB storage:

  • VMM user credentials must include full read write access to the SMB storage.
  • Storage virtual disk operations during VM life cycle events are performed through the Hyper-V server using the VMM user credentials.

When you use SMB as storage, enable the Authentication Credential Security Support Provider (CredSSP) from the Controller to individual Hyper-V machines when using VMM 2012 SP1 with Hyper-V on Windows Server 2012. For more information, see CTX137465.

Using a standard PowerShell V3 remote session, the HCL uses CredSSP to open a connection to the to Hyper-V machine. This feature passes Kerberos-encrypted user credentials to the Hyper-V machine, and the PowerShell commands in the session on the remote Hyper-V machine run with the credentials provided (in this case, those of the VMM user), so that communication commands to storage work correctly.

The following tasks use PowerShell scripts that originate in the HCL and are then sent to the Hyper-V machine to act on the SMB 3.0 storage.

  • Consolidate Master Image - A master image creates a new MCS provisioning scheme (machine catalog). It clones and flattens the master VM ready for creating new VMs from the new disk created (and removes dependency on the original master VM).

    ConvertVirtualHardDisk on the root\virtualization\v2 namespace


    pre codeblock $ims = Get-WmiObject -class $class -namespace "root\virtualization\v2"; $result = $ims.ConvertVirtualHardDisk($diskName, $vhdastext) $result

  • Create difference disk - Creates a difference disk from the master image generated by consolidating the master image. The difference disk is then attached to a new VM.

    CreateVirtualHardDisk on the root\virtualization\v2 namespace


    pre codeblock $ims = Get-WmiObject -class $class -namespace "root\virtualization\v2"; $result = $ims.CreateVirtualHardDisk($vhdastext); $result

  • Upload identity disks - The HCL cannot directly upload the identity disk to SMB storage. Therefore, the Hyper-V machine must upload and copy the identity disk to the storage. Because the Hyper-V machine cannot read the disk from the Controller, the HCL must first copy the identity disk through the Hyper-V machine as follows.

    1. The HCL uploads the Identity to the Hyper-V machine through the administrator share.

    2. The Hyper-V machine copies the disk to the SMB storage through a PowerShell script running in the PowerShell remote session. A folder is created on the Hyper-V machine and the permissions on that folder are locked for the VMM user only (through the remote PowerShell connection).

    3. The HCL deletes the file from the administrator share.

    4. When the HCL completes the identity disk upload to the Hyper-V machine, the remote PowerShell session copies the identity disks to SMB storage and then deletes it from the Hyper-V machine.

      The identity disk folder is recreated if it is deleted so that it is available for reuse.

  • Download identity disks - As with uploads, the identity disks pass though the Hyper-V machine to the HCL. The following process creates a folder that only has VMM user permissions on the Hyper-V server if it does not exist.

    1. The HyperV machine copies the disk from the SMB storage to local Hyper-V storage through a PowerShell script running in the PowerShell V3 remote session.
    2. HCL reads the disk from the Hyper-V machine’s administrator share into memory.
    3. HCL deletes the file from the administrator share.
  • Personal vDisk creation - If the administrator creates the VM in a Personal vDisk machine catalog, you must create an empty disk (PvD).

    The call to create an empty disk does not require direct access to the storage. If you have PvD disks that reside on different storage than the main or operating system disk, then the use remote PowerShell to create the PvD in a directory folder that has the same name of the VM from which it was created. For CSV or LocalStorage, do not use remote PowerShell. Creating the directory before creating an empty disk avoids VMM command failure.

    From the Hyper-V machine, perform a mkdir on the storage.

Prepare the virtualization environment: Microsoft System Center Virtual Machine Manager