Virtual Machine Servicing Tool

Chapter 1: Introduction to the Virtual Machine Servicing Tool

The Virtual Machine Servicing Tool manages the workflow of updating large numbers of virtual machines according to their individual needs. You can use the tool to automatically update offline virtual machines in a library, stopped virtual machines on a host, virtual machine templates, and apply updates directly to virtual hard disks (VHDs). The tool is designed to work with Microsoft® System Center Virtual Machine Manager (VMM) 2008 or VMM 2008 R2, and with either of the following software update management systems:

  • Windows Server Update Services (WSUS) 3.0 SP1 or WSUS 3.0 SP2.
  • System Center Configuration Manager 2007 SP1, Configuration Manager 2007 R2, or Configuration Manager 2007 SP2.

Note The tool also provides the option to manually copy updates to service offline VHDs.

The tool works with Windows Task Scheduler to determine when to run the servicing job.

How to Use the Tool

The Virtual Machine Servicing Tool is straightforward to use:

  1. Install the tool into your environment.
  2. Use the configuration wizard to guide you through the process of connecting the tool to VMM and your software update management system. This Getting Started Guide will help you with this process.
  3. If you would like, you can configure groups for virtual machines, virtual machine templates or VHDs. You can group your virtual machines to simplify the process of creating servicing jobs. For more information, refer to the Virtual Machine Servicing Tool Help.
  4. Create and schedule servicing jobs. A servicing job specifies which virtual machines, virtual machine templates, or VHDs to update, what resources to use for the update process, and when to start the servicing job. You can schedule jobs to run immediately, or to run during low-traffic maintenance windows. For more information, refer to the Virtual Machine Servicing Tool Help.

For information about setting up your environment to use the tool, as well as how to install and configure the tool for your environment, see Chapter 2, "Installing and Configuring the Virtual Machine Servicing Tool," of this guide.

For information about using the tool to create groups and servicing jobs for virtual machines, virtual machine templates, and VHDs, and for references to the Help for the tool, see Chapter 3, "Next Steps."

Virtual Machine Servicing Tool Features

You use different features in the Virtual Machine Servicing Tool to update offline virtual machines in a VMM library, a stopped virtual machine on a host, virtual machine templates, and to make updates directly to virtual hard disks (VHDs).

The Virtual Machine Servicing Tool offers the following features:

  • Servicing offline virtual machines in a VMM library.
  • Servicing stopped virtual machines on a host.
  • Servicing virtual machine templates.
  • Servicing offline virtual hard disks (VHDs) in a VMM library.

Servicing Offline Virtual Machines in a VMM Library

This feature provides a workflow to automatically update virtual machines stored offline in a System Center Virtual Machine Manager (VMM) library. While stored, the virtual machines do not receive software updates. The tool enables you to keep offline virtual machines up-to-date so that when you are ready to bring them online, they cannot introduce vulnerabilities into your organization's IT infrastructure.

You can keep offline virtual machines in the VMM library up-to-date automatically by scheduling and running servicing jobs on selected virtual machines, and applying operating system and application packages to virtual machines.

The following figure illustrates the workflow to service offline virtual machines in the VMM library.

Figure 1. Workflow to service an offline virtual machine

The tool uses a servicing job to manage the update operations. For each virtual machine, the servicing job for this feature:

  1. "Wakes" the virtual machine from the VMM library by deploying it to a maintenance host and starting it.
  2. Invokes either Configuration Manager or WSUS to update the virtual machine.
  3. Shuts down the updated virtual machine and stores it in the VMM library.

Servicing Stopped Virtual Machines on a Host

This feature provides a workflow to automatically install software updates on the following types of virtual machines:

  • Stopped virtual machines on a host managed by VMM 2008 or VMM 2008 R2.
  • Saved state virtual machines on a host. This feature provides an option to include saved state virtual machines while you create a group or schedule a job.

Important The saved state of the virtual machines that you select to service will be lost, as well as unsaved user data, if the tool is required to restart the virtual machines to finish applying software updates.

The tool uses a servicing job to manage the update operations. The servicing job for this feature:

  1. "Wakes" a stopped or saved state virtual machine on a production host by deploying it to a maintenance host and starting it.
  2. Invokes either Configuration Manager or WSUS to update the virtual machine.
  3. Returns the virtual machine to the production host in its original state (either stopped or in a saved state).

Servicing Virtual Machine Templates

This feature provides a workflow to automatically update VHDs attached to virtual machine templates stored in the VMM library. A virtual machine template is a library resource consisting of a guest operating system profile, a hardware profile, and one or more virtual hard disks (.vhd files), which can be used to create a new virtual machine.

Note Computer identity information is removed from the VHD that contains the operating system files by using the System Preparation tool (Sysprep.exe). For more information about Sysprep, see How to Prepare Images for Disk Duplication with Sysprep.

Before setting up a servicing job for this feature, you must use the VMM Administrator Console to create a new virtual machine from a virtual machine template, and then configure it to be what this guide calls a gold virtual machine according to the requirements and software update setting options in the "Preparing the Virtual Machines" section of this guide. This feature also requires you to first create a Virtual Machine Template group that associates a virtual machine template with a gold virtual machine. You can then select this association while configuring the servicing job.

The servicing job for this feature:

  1. Allows you to select the association of the virtual machine template and the gold virtual machine that you created in the group for the servicing job.

    Note Only one virtual machine template can be associated with the gold virtual machine. We recommend only using the gold virtual machine to apply software updates.

  2. Mounts the gold virtual machine associated with the virtual machine template on the maintenance host.
  3. Starts the gold virtual machine on the maintenance host, and then invokes either Configuration Manager or WSUS to update it.
  4. Clones the updated gold virtual machine, creates a template from the cloned virtual machine, and then uses Sysprep to generalize the cloned gold virtual machine to remove hardware ID information.
  5. Shuts down the updated gold virtual machine, and returns it to the offline VMM Library.

    Note If you select the tool's Backup option for this feature, the tool renames the original VHD associated with the virtual machine template as "old.vhd."

  6. Associates the .vhd file of the cloned virtual machine template with the original template, and then deletes the cloned virtual machine template.

Servicing Offline VHDs in a VMM Library

This feature provides a workflow to automatically update offline VHDs stored in a VMM library by using the DiskPart and Deployment Image Servicing and Management (DISM) tools, which are built in to the Windows® 7 and Windows Server 2008 R2 operating systems. This feature uses DiskPart to attach the VHDs to a maintenance host, and then uses the DISM tool to inject updates directly to the VHD files. This feature only supports VHDs running Window 7 or Windows Server 2008 R2. The maintenance host must also be running Windows 7 or Windows Server 2008 R2. However, the maintenance host does not have to be configured with a VMM library to use this feature.

For more information about the DiskPart tool, see DiskPart.

For more information about the DISM tool, see the Deployment Image Servicing and Management Technical Reference.

Important Servicing offline .vhd files attached to saved state virtual machines in a VMM library is not supported.

The servicing job for this feature does the following:

  1. Uses DiskPart to mount a VHD that you specify on a host running either Windows 7 or Windows Server 2008 R2.
  2. Uses DISM to inject the updates to the VHD from either a shared folder or downloaded updates from WSUS.

    Note If you choose the shared folder option, you must manually copy the updates that you want to inject into the VHD to the following location: %ProgramFiles%\Microsoft Offline Virtual Machine Servicing Tool\Updates folder.

  3. Uses DiskPart to unmount the updated VHD and store it in the VMM library.

    Note If you select the tool's Backup option for this feature, the tool renames the original VHD as "old.vhd " before copying the updated VHD back to the VMM library.

For more information about using these tool features to create and manage virtual machine groups, and then create servicing jobs to perform software updates, see Chapter 3, "Next Steps."

Chapter 2: Installing and Configuring the Virtual Machine Servicing Tool

This chapter helps you integrate the Virtual Machine Servicing Tool into your management infrastructure. The chapter covers the following topics:

  • Concepts to know. Lists concepts you should be familiar with before you begin to work with the tool.
  • Setting up the environment. Lists requirements and recommendations for your environment's infrastructure, server types and capacities, and management configuration.
  • Installing the tool. Provides instructions for installing the tool package.
  • Configuring the tool. Provides instructions for configuring the tool to work with your management infrastructure.

By the end of this chapter, you should be ready to start configuring servicing jobs.

Concepts to Know

Before you start to use this tool, you should be familiar with the following:

  • Software update management systems. You should know how to use either Configuration Manager or WSUS to keep physical servers or virtual servers updated.
  • Virtual machines and Virtual Machine Manager. You should be able to create virtual machines from virtual machine templates, store them in the VMM library, and deploy them from the library.
  • Network topologies and managed switches. You should be able to set up an isolated VLAN, or have contact with a network administrator who can do so.

Setting up the Environment

The Virtual Machine Servicing Tool is designed to work in an environment that uses Configuration Manager or WSUS as a software update management system, and uses VMM to manage virtual machines. In addition, the updates must be ready for the software update management system to deploy and the virtual machines must be configured to receive updates.

The following sections guide you through the process of preparing your environment. These steps include:

  • Preparing the infrastructure and servers.
  • Preparing the virtual machines.
  • Preparing the updates.

Preparing the Infrastructure and Servers

This section describes how to ensure that your servers have sufficient capacity and provides recommendations for optimizing server performance.

Domain Requirements and Recommendations

You must have Active Directory® Domain Services running on at least one domain controller, with a domain and DNS infrastructure in place. All servers and virtual machines must be domain-joined.

Note Although the domain controller can be a virtual server, a physical server gives best performance.

Infrastructure Recommendations

These recommendations improve your environment's ability to update the virtual machines quickly and without endangering the rest of your environment.

  • Storage area network (SAN) infrastructure. For best performance, consider using a Fibre Channel SAN infrastructure (2 GB or faster) with virtual machines. With Host Bus Adapter (HBA) connectors of 2 GB or faster, a SAN greatly reduces the time required to deploy virtual machines or store them in the library.
  • Network infrastructure. You should create an isolated VLAN to manage the virtual machine update process. The isolated VLAN approach is recommended for security reasons because stored virtual machines could be in an unhealthy state, and might attack the network or be susceptible to attack. Ensure that all of the servers or server roles involved in the update process can access this VLAN, as shown in the following figure.

Figure 2. Use an isolated VLAN to update virtual machines

Compatibility Requirements and Recommendations

Version 3.0 of the Virtual Machine Servicing Tool is designed to work with either VMM 2008 or VMM 2008 R2. The tool has been tested with these versions of VMM and a specific set of WSUS, Configuration Manager, and Windows versions.

Available management software versions:

  • System Center Virtual Machine Manager 2008
  • System Center Virtual Machine Manager 2008 R2
  • Windows Server Update Services 3.0 SP1
  • Windows Server Update Services 3.0 SP2
  • System Center Configuration Manager 2007 SP1
  • System Center Configuration Manager 2007 R2
  • System Center Configuration Manager 2007 SP2

Available operating system versions for the management servers:

  • Windows Server 2008 SP2, 32 bit or 64 bit
  • Windows Server 2008 R2, 64 bit

The lists later in this section identify which combinations of management software and operating systems have been tested with the Virtual Machine Servicing Tool.

Important The lists do not include all possible management software and operating system combinations. They do include combinations tested with the Virtual Machine Servicing Tool 3.0.

Supported Operating System and Software Combinations

This section references operating system and software combinations that the new features of the Virtual Machine Servicing Tool support.

To service virtual machines in a VMM library, stopped virtual machines, and virtual machine templates, see the list of combinations listed under "What guest operating systems do you need to support servicing virtual machines, stopped virtual machines, and virtual machine templates?"

To service .vhd files, the tool requires Windows Server 2008 R2 and Windows 7 to support this feature.

To identify the combination that best meets your needs, consider the following questions:

  • What guest operating systems do you need to support servicing virtual machines, stopped virtual machines, and virtual machine templates?

    For Virtual Machine Manager 2008 and VMM 2008 R2, virtual machine guest operating systems supported by the Virtual Machine Servicing Tool 3.0 include:

    • Windows Server 2003 R2 SP2, 32 bit or 64 bit versions
    • Windows Server 2003 SP2, 32 bit or 64 bit versions
    • Windows XP Professional SP2 (x64), SP3(x86), 32 bit or 64 bit versions
    • Windows Vista® SP1, SP2, 32 bit or 64 bit versions
    • Windows Server 2008, SP2, 32 bit or 64 bit versions
    • Windows Server 2008 R2, 64 bit version
    • Windows 7, 32 bit or 64 bit versions
  • What virtualization technology are you using, and what operating system are you using on your host servers?

    For Virtual Machine Manager 2008, maintenance host operating systems supported by the Virtual Machine Servicing Tool 3.0 include:

    • Virtual Server 2005 R2 SP1, 32 bit or 64 bit versions
    • Hyper-V running on Windows Server 2008 SP2, 64 bit version

    For Virtual Machine Manager 2008 R2, maintenance host operating systems supported by the Virtual Machine Servicing Tool 3.0 include:

    • Virtual Server 2005 R2 SP1, 32 bit or 64 bit versions
    • Hyper-V running on Windows Server 2008 SP2, 64 bit version
    • Hyper-V R2 running on Windows Server 2008 R2, 64 bit version

    Important The Virtual Machine Servicing Tool supports only Virtual Server 2005 R2 SP1 as a maintenance host for virtual machines hosted or created on Virtual Server 2005 R2 SP1.

  • What versions of update management software are you using, and on which operating systems?

    Software update management systems supported by the Virtual Machine Servicing Tool 3.0 include:

    • Windows Server Updates Services 3.0 SP1
    • Windows Server Updates Services 3.0 SP2
    • System Center Configuration Manager 2007 SP1
    • System Center Configuration Manager 2007 R2
    • System Center Configuration Manager 2007 SP2

    Important WSUS 3.0 SP2 is required to update Windows Server 2008 R2 and Windows 7 guests. WSUS 3.0 SP2 is required to support Configuration Manager 2007 SP2 software update management for the Windows 7 and Windows Server 2008 R2 operating systems.

    Important The computer running Microsoft SQL Server® that hosts the Configuration Manager database must be configured to allow remote connections.

Server Capacity Requirements and Recommendations

Use the following table to ensure that your servers have sufficient resources to support the virtual machine update processes. For requirements other than those identified in the table, refer to the appropriate product documentation.

Important Keep all infrastructure servers up to date. Normal infrastructure update processes should manage this process automatically.

Table 1. Hardware and Software Requirements for Servers

Server role

Hardware and Software Requirements

WSUS

For WSUS 3.0 SP1, see the "WSUS 3.0 SP1 System Prerequisites" section of Windows Server Update Services 3.0 SP1.

For WSUS 3.0 SP2, see the "WSUS 3.0 SP2 System Prerequisites" section of Windows Server Update Services 3.0 SP2.

Configuration Manager

See the "System Requirements" section of Configuration Manager Supported Configurations.

VMM server

See System Requirements: VMM Server.

VMM Administrator Console

See System Requirements: VMM Administrator Console.

VMM library

See System Requirements: VMM Library Server.

Maintenance hosts

High capacity physical servers only.*

* "High capacity" refers to environments in which more than 20 virtual machines must be kept updated.

Scaling and Performance Factors

In the context of this tool, an environment that contains no more than 20 virtual machines is considered a low-capacity environment and can be managed using the minimum required configuration (for example, some server roles can reside on virtual machines, as described previously). If your environment contains more than 20 virtual machines that need to receive updates regularly, you should refer to the recommended configurations described in the previous table.

The configurations you need for your environment also depend on the average virtual machine hardware profile, in particular the memory and physical disk capacity allocated for each virtual machine. As you increase the resources required for each virtual machine, you will also need to increase the hardware capacity and number of physical machines.

For environments with large numbers of virtual machines, you can improve the performance of the updating process by modifying topology factors such as:

  • CPU speed of the VMM server.
  • Size of each virtual machine, in terms of host server resources.
  • Traffic level on the software update management servers.
  • Number of maintenance hosts, and the CPU speed of each.
  • Available network bandwidth.
  • Server disk speeds.
  • SAN transfer rate.
VMM Platform Requirements and Recommendations

The Virtual Machine Servicing Tool must be installed on the same server as the VMM Administrator Console (the Administrator Console provides Windows PowerShell™ support). The VMM server and library components can reside on the same server or on one or more additional servers. See the following sections for details about the supporting software required on the VMM servers (including the maintenance hosts that will hold the virtual machines during the update process).

For more information about configuring VMM components, see the following topics in the Virtual Machine Manager Help:

  • "Configuring Virtual Machine Manager"
  • "Using the Virtual Machine Manager Command Shell"
  • "How to Configure Virtual Networks on a Host"
  • "Host Groups"

VMM Administrator Console

The server that hosts the VMM Administrator Console requires the following software:

  • Operating system: Windows Server 2008 or Windows Server 2008 R2 64bit version.
  • .NET Framework 3.0.
  • Windows PowerShell 1.0 or 2.0.

    Important Set the Windows PowerShell execution policy on the VMM server to remotesigned. To find the execution policy on your system, type the following in the Windows PowerShell-Virtual Machine Manager command shell:

    get-executionpolicy

    To change the execution policy on your system to remotesigned, type:

    set-executionpolicy remotesigned

  • VMM Administrator Console component.
  • PsExec Utilities. Download the PsExec utilities (PsExec.exe and pdh.dll files), unblock the files, and then place the files in the %ProgramFiles%\Microsoft Offline Virtual Machine Servicing Tool\Bin folder using the following steps:
  1. In the list of files in the folder you downloaded, right-click psexec.exe, and then click Properties.
  2. Near the bottom of the dialog box, click Unblock, and then click OK.
  3. Repeat these steps for the pdh.dll file.
  4. Copy the unblocked files to %ProgramFiles%\Microsoft Offline Virtual Machine Servicing Tool\Bin folder.

VMM Server Role

The server that hosts the VMM server component requires the following software:

  • Operating system: Windows Server 2008 and Windows Server 2008 R2, 64-bit version

    Important VMM 2008 R2 requires Windows Server 2008 with Service Pack 2 for Hyper-V hosts.

  • .NET Framework 3.0.
  • Internet Information Services (IIS) with ASP.NET.
  • Windows Remote Management.
  • SQL Server 2005 SP2 or SP3 or SQL Server 2008.
  • VMM server component.

VMM Library Role

The server that hosts the VMM library requires the following software:

  • Operating system: Windows Server 2008 and Windows Server 2008 R2, 64-bit version

When you configure the VMM library, consider the number of virtual machines with which you need to work. In the context of the Virtual Machine Servicing Tool, an environment where more than 20 virtual machines must be kept updated can be considered "high capacity."

  • Minimum configuration. Use a single library share to store both virtual machine templates and virtual machines.
  • High capacity configuration. Use separate library shares (or even separate library servers) to store virtual machine templates and virtual machines.

Maintenance Host Role

The servers that are used as maintenance hosts require the following software:

  • Operating system: Windows Server 2008 SP2, Windows Server 2008 R2, 64-bit version, configured for the Virtualization role.

When you configure VMM to use these servers as maintenance hosts, configure the following:

  • Maintenance host groups. In VMM, create groups of maintenance hosts that will be convenient to use during the update process. The Virtual Machine Servicing Tool works with one maintenance host group at a time.
  • Common virtual network. For the VMM server and each maintenance host, configure the physical network adapter to connect to a common virtual network. Each network adapter must use the same name for the virtual network, or VMM may not be able to move virtual machines.

Preparing the Virtual Machines

The Virtual Machine Servicing Tool is designed to work with fully functional virtual machines that are capable of running as soon as they are deployed from the library. Ensure that each virtual machine is prepared as follows:

  • All are domain members.
  • DHCP is enabled.

    Important To be compatible with DHCP, the virtual machines must use static media access control (MAC) addresses.

  • VMM Virtual Guest Services are installed.
    • For Virtual Server 2005 virtual machines: Latest version of Virtual Machine Additions is installed and registering a "heartbeat" signal for the virtual machine. (For instructions, see Installing Virtual Machine Additions.)

      If the heartbeat signal is not functioning, and Windows PowerShell cannot detect the virtual machine, check that the local computer name of the virtual machine matches the fully qualified domain name (FQDN) of the virtual machine.

    • For Hyper-V virtual machines: Latest version of integration services installed and registering a heartbeat signal for the virtual machine. (For instructions, see Hyper-V Getting Started Guide.)
  • Enable the following Windows Firewall exceptions:
    • File and Printer Sharing
    • Windows Management Instrumentation (WMI)
    • Remote Administration
    • Incoming Echo Request for ICMP v4/v6.

Important Virtual machines that are configured to replace existing virtual or physical servers in case of failure (sometimes referred to as "hot spares") require extra preparation to update with this tool. Each hot spare virtual machine requires two network adapters:

Network adapter 1: To be used by the servicing job. Configure this adapter to use a dynamic IP address and a static MAC address, and connect this adapter to an isolated VLAN. Make sure that the physical server that corresponds to the hot spare virtual machine cannot connect to this network.

Network adapter 2: To be used by the hot spare virtual machine during its normal operation as a replacement server.

When you create a servicing job to update a hot spare virtual machine, make sure that the servicing job uses the isolated VLAN.

  • A gold virtual machine to be associated with a template to be serviced must be created from the same virtual machine template and must be stopped and stored in the same library.
Preparing Virtual Machines for WSUS Updates

If you are using WSUS to manage updates, ensure that:

  • Each virtual machine has a WSUS client agent installed.
  • Each virtual machine is subject to a domain Group Policy object (GPO) that identifies the WSUS server as the intranet update service location.

In addition, consider creating WSUS computer groups for the virtual machines. Using Group Policy, you can set up client-side targeting so that virtual machines can add themselves to the appropriate groups. This approach will streamline the process of targeting updates to the virtual machines.

Preparing Virtual Machines for Configuration Manager Updates

If you use Configuration Manager to manage updates, ensure that:

  • Each virtual machine has a Configuration Manager client agent installed.
  • Each virtual machine is recorded in the Configuration Manager inventory database.
  • The virtual machines are grouped into collections in Configuration Manager.

In addition, consider using Configuration Manager to create computer groups for the virtual machines. Using Group Policy, you can set up client-side targeting to automatically add virtual machines to the appropriate groups. This approach streamlines the process of targeting updates to the virtual machines.

Preparing the Updates

The Virtual Machine Servicing Tool does not allow virtual machines to connect directly to an external update store (such as Microsoft Update). The tool relies on Configuration Manager or WSUS to synchronize and manage update files and metadata. The virtual machines will only receive updates that have been prepared in the software update management system.

If you use WSUS to manage updates:

  • Ensure that the WSUS server has synchronized the updates to download the update metadata and update files.
  • Approve the updates for the virtual machine computer groups.
  • Set the deployment deadline. To specify installing updates as soon as possible (the next time the virtual machines contact the WSUS server), set the deadline to a past date to cause approved updates to be installed immediately.

Note The tool will install all updates approved for the target machine group regardless of whether you set a deadline in the past, the future, or do not set a deadline at all.

If you use WSUS to update offline VHDs, configure the WSUS server to download approved updates by using the following the steps:

  1. Launch WSUS console.
  2. In the console, navigate to Update Services, <server name>, and then Options.
  3. In the Options pane, click Update Files and Languages.
  4. In the Update Files and Languages dialog box, choose the Store update files locally on this computer option.
  5. Optionally select the Download files only when updates are approved check box to conserve disk space.

If you use Configuration Manager to manage updates:

  • Ensure that the software update point has downloaded the updates.
  • Ensure that the updates have been packaged for deployment.
  • Create deployments for the updates that include the deployment deadline. To specify that the updates should be installed as soon as possible (the next time the virtual machines contact the Configuration Manager database) set the deadline to the shortest possible interval, so that the deadline has passed by the time the servicing jobs starts to run.

    The Configuration Manager deployment must also identify the virtual machine collections to which the updates apply.

Note The tool will install all updates with past deadlines on the virtual machines, but will not install updates with future deadlines.

If you are updating VHDs and you want to download the updates manually, and then copy them to the %ProgramFiles%\Microsoft Offline Virtual Machine Servicing Tool\Updates folder, use either of the following steps to download the updates:

  • If you have configured a Configuration Manager server in your environment, download the updates to a deployment package using the Configuration Management Console. See the following resources for instructions on how to do this:
    • How to Download Software Updates
    • How to Create a Deployment Package

    – Or –

  • Download updates from the Windows Update Catalog. For more information about this option, see the Microsoft Knowledge Base article 323166: "How to download updates that include drivers and hotfixes from the Windows Update Catalog."

Prerequisite Checklist

The following checklists summarize the configuration details required or recommended in this guide:

Requirements:

  • Active Directory Domain Services domain structure configured
  • DNS infrastructure configured
  • Software update management system deployed and operating
  • System Center Virtual Machine Manager (VMM) deployed and operating
    • Administrator Console and server component installed
    • Windows PowerShell execution policy set to remotesigned
    • PsExec utilities. Download the PsExec utilities (PsExec.exe and pdh.dll files), unblock the files, and then place the files in the %ProgramFiles%\Microsoft Offline Virtual Machine Servicing Tool\Bin folder. Follow the steps in the "Preparing the Virtual Machines" section.
    • VMM library configured
    • Maintenance host groups created
  • Virtual machines configured
    • All are domain members
    • DHCP enabled
    • Virtual Machine Additions/Integration Services installed and registering heartbeats
    • Agent for software update management system installed
    • WSUS: Group Policy for intranet update service location defined
    • WSUS: Computer groups for updates defined
    • Configuration Manager: virtual machines accounted for in the Configuration Manager inventory database
  • Updates configured
    • WSUS: Update metadata downloaded, updates approved
    • Configuration Manager: Updates downloaded and packaged, deployment created

Recommendations:

  • Fibre Channel SAN, 2 GB or faster, in place
  • Isolated VLAN in place

Installing the Tool

After you verify that your environment meets the requirements and recommendations defined in this guide, complete the following procedures as needed to install the tool. Remember to install the tool on the VMM server.

Important To install the tool, use a domain user account that has administrative permissions on the VMM server. The tool does not support backward compatibility.

To back up configuration settings for a previous version of the Virtual Machine Servicing Tool

  1. In the Microsoft Virtual Machine Servicing Tool folder (%ProgramFiles%\Microsoft Offline Virtual Machine Servicing Tool), copy the Config folder.
  2. Paste the Config folder to a temporary location in a folder outside of the Microsoft Virtual Machine Servicing Tool folder (for example, C:\Data).
  3. Uninstall the earlier version of the tool.

To install Virtual Machine Servicing Tool v3.0

  1. Download the Windows® Installer file (VMServicing_X86.msi or VMServicing_X64.msi, according to your chip set) to a computer that has the VMM Administrator Console installer, and then open the .msi file to start the installation process wizard.
  2. On the Welcome page of the wizard, click Next.
  3. Read the End User License Agreement, click I accept the terms in the License Agreement, and then click Next.
  4. On the Features to Install page, click Next.
  5. On the next page, click Install to install the Virtual Machine Servicing Tool.
  6. On the final page, click Finish to complete the installation wizard.
  7. If you have backed up the Config folder to preserve settings from earlier version of the tool, replace your settings by moving the Config folder from its temporary location to the %ProgramFiles%\Microsoft Offline Virtual Machine Servicing Tool folder.

You can upgrade to Virtual Machine Servicing Tool version 3.0 from version 2.1 and from beta version 3.0 of the tool. Please note that upgrading from beta refresh build version 3.0.400 is not supported.

Important To upgrade the tool, a user must have administrative rights to the computer where the tool is being upgraded.

To upgrade from these previous versions of the tool

  1. Download the Windows Installer file (VMServicing_X86.msi or VMServicing_X64.msi, according to your chip set) to a computer that has either Offline Virtual Machine Servicing Tool v2.1 or Virtual Machine Servicing Tool v3.0 beta installed. Start the downloaded Windows Installer file from an elevated command prompt using the following command:

    Msiexec /I <download path/>VMServicing_x86.msi

    – Or –

    Msiexec /I <download path/>VMServicing_x64.msi

    Important Ensure that the Windows PowerShell execution policy on the VMM server is set to remotesigned before starting the upgrade process wizard. To find the execution policy on your system, type the following in the Windows PowerShell-Virtual Machine Manager command shell:

    get-executionpolicy

    To change the execution policy on your system to remotesigned, type:

    set-executionpolicy remotesigned

  2. On the Welcome page of the wizard, click Next.
  3. Read the End User License Agreement, click I accept the terms in the License Agreement, and then click Next.
  4. On the Features to Upgrade page, click Next.
  5. On the Ready to Upgrade page, click Upgrade to upgrade to Virtual Machine Servicing Tool v3.0.
  6. On the final page of the wizard, click Finish to complete the upgrade.

Important Scheduled and recurring jobs that you configured using a previous version of the tool display with the job status "Needs Editing" in version 3.0 of the tool, and the tasks corresponding to these jobs have been deleted from the Task Scheduler. If you want to run these jobs, edit each job in version 3.0 of the tool to schedule it, and then click Finish. The dates and times you set for these servicing jobs in the previous version of the tool are not available after you upgrade.

Configuring the Tool

The first time you start the Virtual Machine Servicing Tool, you must complete the Configuration wizard. This wizard establishes the connections between the tool and the other applications and services with which the tool works.

Important To configure the tool, use an account that has administrative permissions on the Configuration Manager server, the VMM server, the library server, the virtual machines, and the maintenance hosts. In addition, this account must be a member of the Delegated Administrator user role in VMM. This role must also have access to the hyper-V hosts and the library servers intended to be used with this tool.

To configure the Virtual Machine Servicing Tool

  1. In the Actions pane, click Configure Tool.
  2. On the Configure Servers page of the wizard, type the name of the VMM server (always required), and then the name of either the Configuration Manager server, or the WSUS server as follows, and then click Next:
    1. If you are using a WSUS server that is running on the default port, define the WSUS server as <Server Name>.
    2. If you are using a WSUS server that is running on a non-default port, define the WSUS server as <Server Name>:<Port>.

    Important If you use Configuration Manager to manage updates and your infrastructure includes multiple Configuration Manager servers, provide the central site server name. Also ensure that the following Windows Firewall exceptions are enabled:

  • Windows Management Instrumentation (WMI)
  • Remote Administration
  • Incoming Echo Request for ICMP v4/v6
  1. On the Configure Maintenance Hosts page of the wizard:
    1. Expand the Maintenance Host Group drop-down list to specify the maintenance host group with which the tool will work.
    2. In the Available hosts area of the page, select one or more hosts from the group that you specified, click the arrow button to move them into the Selected maintenance hosts area, and then click Next. (These are the maintenance hosts that will be available for servicing jobs.)

    Important The tool can only work with hosts from a single maintenance host group. To see all of the available maintenance hosts, click All Hosts. The All Hosts group automatically includes all of the maintenance hosts regardless of other group memberships.

  2. The Configure Maintenance Hosts for Servicing Offline VHDs page is optional in the wizard. You only need to provide information to complete this page of the wizard if you want to service offline VHDs. To complete this page:
    1. Under Configure Account Information, type information to define the Domain, User Name, and Password fields.

      Note These credentials are only used to validate the computer name and the folder name. These credentials are not stored.

    2. In the Host name field, type the name of the Windows 7 or Windows Server 2008 R2 host folder share that will service the VHDs that you want to update.

      Note Verify that the maintenance host has at least 5 available drive letters to attach the VHDs to be serviced.

    3. In the Path field, type a local path to a location where you want to copy and update the VHDs, and then click Add.

      Note The following Windows Firewall exceptions must be enabled on the maintenance hosts used for servicing offline VHDs:

  • File and Printer Sharing
  • Windows Management Instrumentation (WMI)
  • Remote Administration
  1. Verify this information displays under Host Name and Path, and then click Next.

Note If you want to remove this configuration information from the tool, click Delete.

  1. On the Configure Global Setting page of the wizard, specify the move and update time-out limits for the servicing jobs.

    Note The capacity of the maintenance hosts you use determines how many virtual machines, virtual machine templates, or VHDs the servicing job can process at once. The servicing job creates "batches" to process a large number of these simultaneously. The move and update timeouts that you specify on this page apply to move and update processes for each virtual machine, virtual machine template or VHD.

  2. To complete the wizard, click Finish.

You can configure some of the parameters in the Config.xml file for the Virtual Machine Servicing Tool v3.0 to meet the needs of your environment. All time values mentioned in the following list of parameters are in minutes.

Important We do not recommend changing the default values of any of these parameters unless issues in your environment require you to do so.

The following list includes parameters in the Config.xml file that you can configure:

  • WaitForSchedule. This parameter determines the time-out duration for the job workflow to schedule servicing jobs for virtual machines, virtual machine templates, and virtual hard disks. The workflow times out if it fails to initiate the servicing of any of these entities within the time period for this parameter.
  • ITOMove. This parameter determines the polling interval between two consecutive status checks to verify the completion of a virtual machine deployment operation and a virtual hard disk copy operation.
  • ITOReboot. This parameter determines the polling interval between two consecutive status checks to verify the completion of a virtual machine reboot operation.
  • ITOUpdate. This parameter determines the polling interval between two consecutive status checks to verify the completion of virtual machine and virtual hard disk update operations.
  • ITORefresh. This parameter determines the polling interval between two consecutive status checks to verify the completion of the System Center Configuration Manager Refresh Collection operation.
  • ITOClientStatus. This parameter determines the polling interval between two consecutive status checks to verify the Configuration Manager/WSUS client status verification operation.
  • SupportedCultures. This parameter determines the list of locales supported by System Center Virtual Machine Manager 2008 and the Windows Server 2008 R2 Administration Console.
  • MaximumVHDsPerHost. This parameter determines the maximum number of virtual hard disks that can be serviced on one maintenance host.
  • MaximumVMsPerHost. This parameter determines the maximum number of virtual machine deployment jobs that can run on one maintenance host.

    The deployment job types include Move-VM, Store-VM, Create-VM, Clone-VM, and Create-Template operations. Job workflow initiates virtual machine deployment operations so that the cumulative job count does not exceed the limit of this parameter. The default value of this parameter is 10, which is also the maximum recommended value for this parameter.

  • MaximumRunningJobs. This parameter determines the maximum number of virtual machine manager jobs that the tool can initiate at one time.

    The jobs for this parameter include Move-VM, Store-VM, Create-VM, and Create-Templates operations. The default value of this parameter is set to 80, which is also the recommended value for this parameter.

  • Trace. This parameter allows you to enable logging for the user interface of the tool. The default value for this parameter is FALSE.

Chapter 3: Next Steps

After you install and configure the Virtual Machine Servicing Tool, you are ready to create virtual machine groups and servicing jobs. This chapter discusses different virtual machine groups that you can create, and different servicing jobs that you can schedule to trigger the software update process.

Note For information about tool features to service different types of virtual machines, see the "Virtual Machine Servicing Tool Features" section in Chapter 1, "Introduction to the Virtual Machine Servicing Tool."

Creating Virtual Machine Groups

Although you do not need to create virtual machine groups to use the Virtual Machine Servicing Tool, doing so can ease the process of defining servicing jobs for software updates. In this way, when you create a servicing job, you can select one virtual machine group instead of selecting a number of individual virtual machines.

You can use the tool to create the following types of groups:

  • Virtual Machines in Library Groups. Use this type of group to service offline virtual machines in the VMM library.
  • Virtual Machines on Host Groups. Use this type of group to service stopped and saved virtual machines mounted on a host.
  • Virtual Machine Templates Groups. Use this type of group to service virtual machine templates.

    Before using this type of group, you must use the VMM Administrator Console to create a new virtual machine from a virtual machine template, and then configure it to be a gold virtual machine according to the requirements and software update setting options described in the "Preparing the Virtual Machines" section of this guide.

    After configuring the gold virtual machine, you can associate it with the source template.

    Note Only one virtual machine template can be associated with the gold virtual machine. We recommend only using the gold virtual machine to apply software updates.

  • Virtual Hard Disks Groups. Use this type of group to service offline virtual hard disks (VHDs) stored in a VMM library.

For more detailed information about working with virtual machine groups, see the "Using the Virtual Machine Servicing Tool" topic in the Virtual Machine Servicing Tool Help. This section in the Help for the tool includes information about the following topics:

  • Creating or editing virtual machine groups.
  • Deleting virtual machine groups.

Creating Servicing Jobs

The Virtual Machine Servicing Tool uses "servicing jobs" to perform the actual work of providing software updates to offline virtual machines in a library, a stopped virtual machine on a host, virtual machine templates, and apply updates directly to virtual hard disks (VHDs).

You can use the tool to create the following types of servicing jobs:

  • Virtual Machines in Library Jobs. Use this servicing job wizard to schedule updates for offline virtual machines in a VMM library.
  • Virtual Machines on Host Jobs. Use this servicing job wizard to schedule updates for offline virtual machines deployed on one or more hosts.
  • Virtual Machine Templates Jobs. Use this servicing job wizard to schedule updates for virtual machines templates.
  • Virtual Hard Disks Jobs. Use this servicing job wizard to schedule updates for offline VHDs stored in a VMM library.

For more detailed information about scheduling servicing jobs, see the "Using the Virtual Machine Servicing Tool" topic in the Virtual Machine Servicing Tool Help. This section in the Help for the tool includes information about the following topics:

  • Creating or editing servicing jobs
  • Deleting servicing jobs
  • Reviewing the status of servicing jobs
  • Copying and creating a servicing job by using an existing job