A virtual machine (or VM) is an entity that is stored on one virtualization host, and that runs an instance of an operating system and uses resources that are presented to it by the virtualization software on that host. In Hyper-V, a VM uses a set of configuration files, and one or more virtual disks (in the format of VHD files).

There may come a time when there is a need to move a VM or more between virtualization hosts. I will not go into a debate of why this needs to be done, however, I will just mention that the most common reasons for this would be:

  • To free up a virtualization host for maintenance tasks that may require a reboot
  • To free up resources on the virtualization host
  • To re-arrange VM placement

Before moving or migrating a VM from one host to another, one should carefully consider these issues:

  • Is there downtime involved when moving the VM?
  • How long is the downtime?
  • How long does the actual migration take?
  • Is performance of other VMs and the virtualization host and/or network affected by the migration process?

While other potential issues may play a key role in the migration planning, the main rule of thumb when moving the VM is as follows. Moving the VM should be as fast as possible, with little or no downtime to the VM, and with a limited effect on the performance of other VMs on that host or on the network subsystem.

Let's talk a bit about how you can migrate a virtual machine between 2 Hyper-V hosts.

Note that this article only deals with Hyper-V R2, and not with the RTM version of Hyper-V. Therefore, there may be changes in functionality, and if you're using the RTM version (isn't it time to upgrade already?), you may find that some of the options listed here are not available to you.

Basically, there are 3 possible ways to migrate a virtual machine between  Hyper-V hosts:

--> The rest is on Petri's website :