Automating Virtual Machine Migration from Hyper-V 2.0 To 3.0

Many customers (including many service providers) have deployed Windows Server 2012 with System Center 2012 SP1 to deliver cloud-based services for IaaS, DaaS and SaaS. These customers are reducing costs by leveraging their existing investments in a datacenter that has virtual machines (VMs) deployed under Windows Server 2008 R2. Now they need a way to smoothly migrate those VMs to Windows Server 2012.

The Problem

The in-box Cluster Migration Wizard of Failover Cluster Manager is a powerful tool. It manages migration of all VMs in a CSV to the destination cluster, whereas, in real-world scenario, all VMs migrating at the same time might be impossible in the following cases:

· A multi-tenant environment where multiple customer VMs are deployed on a single CSV volume.

· A dedicated (non-multi-tenant) environment where VMs cannot be moved or migrated due to application dependency

Solving through PowerShell Script Approach:

The approach adopted in the sample script uses a shared cluster disk “BRIDGE DISK” to store the selected VMs temporarily until it is migrated safely into the destination cluster.

The script uses the Cmdlets of WMI, Failover Cluster and Hyper-V, and it can be installed and run on a Windows Server 2012 machine to connect remotely (to both the source cluster and target cluster) to perform the migration process automatically.

Downloading and Using the PowerShell Script for VM Migration

The Hyper-V 2.0 to 3.0 virtual machine migration PowerShell script is available at:

To download, follow the link above and click on the “Download” button. Save and extract the contents of the .zip file (HV2.0-3.0-VM to a folder of your choice.

For setting up the script pre-requisites and executing it in your environment, go through the instructions in setup guide (Hyper-V 2.0 to 3.0 VM Migration – PowerShell Script – Setup Guide.docx) which is available in the .zip file.

If you have additional questions, please feel free to submit feedback in the comments section below!