Performing a V2V Conversion from VMware vSphere to Hyper-V R2 using System Center VMM 2008 R2

by [Published on 10 Feb. 2011 / Last Updated on 10 Feb. 2011]

In this article, you learn how to use System Center Virtual Machine Manager 2008 R2 to perform a virtual-to-virtual (V2V) conversion of a VMware virtual machine to a Hyper-V virtual machine.

Creating Virtual Machines using VMM 2008 R2

System Center Virtual Machine Manager 2008 R2 (VMM 2008 R2) provides the ability to create a Hyper-V virtual machine using several different methods. The most basic method is to create a new virtual machine with a blank virtual hard disk, configure the virtual hardware, and then load a guest operating system using a physical disc or an ISO image. You can also create a new virtual machine from an existing virtual machine (cloning) or from a template with pre-defined hardware and guest operating system settings. This is a solution that allows you to reduce manual configuration errors, as well as being best suited for an environment with a higher volume of virtual machines that need to be created from a standard profile. While the methods just described allow the creation of new virtual machines, VMM 2008 R2 also allows creation of virtual machines through Physical to Virtual (P2V) and Virtual to Virtual (V2V) conversions.  

In a P2V conversion, a physical server’s configuration and data is captured and converted into the virtual machine format. VMM 2008 R2 can perform both online and offline P2V conversions. Because an online P2V conversion requires deployment of a VMM agent to the source physical server, it can only support Windows guest operating systems. The advantage of a P2V conversion is that it is performed while the source physical server is powered on and responding to users, and does not require an interruption in service. An offline P2V conversion requires rebooting the source physical server into the Windows Preinstallation Environment (WINPE). Using a VMM agent running in WINPE, the source server configuration information, as well as the operating system and data is captured and transferred to the target virtualization host to create the virtual machine. Neither online or offline P2V conversions are destructive processes, so that the source server remains intact at the end of the conversion procedure.

In VMM 2008 R2, a V2V conversion allows you to take an existing VMware ESX virtual machine and convert it to a virtual machine that can run on Virtual Server 2005 R2 or Hyper-V. A V2V conversion can be performed for a virtual machine deployed on a VMware ESX host that is managed by VMM 2008 R2, or one that is stored in the VMM library, or on an accessible network share. If the source virtual machine is deployed to a VMware ESX host managed by VMM 2008 R2, it must be powered off before the V2V conversion can be performed. As is the case for a P2V conversion, a V2V conversion is itself a non-destructive process. However, if the source virtual machine is on a managed VMware ESX host, it will be deleted after the V2V process is complete. Therefore, if you want to retain the source virtual machine, you must copy the files or clone the virtual machine before beginning the V2V conversion.

Understanding the V2V Conversion Process in VMM 2008 R2

A virtual machine, whether created using Hyper-V or VMware ESX, is a collection of files that captures virtual hardware settings, as well as guest operating system and application files and data. And in fact, a V2V conversion performed using VMM 2008 R2 primarily converts a subset of virtual machine files from the VMware ESX format into the Hyper-V format. For supported guest operating systems, the V2V conversion also includes modifications to the operating system to ensure that the virtual machine is bootable in Hyper-V. As you can see in Table 1, VMM 2008 R2 currently provides this support for Windows operating systems with volumes formatted using NTFS or FAT32. Other guest operating system flavors may require manual configuration to make them bootable in Hyper-V after the V2V conversion.

Guest Operating System

VMM 2008 R2 Support

Windows XP Professional with Service Pack 3 (SP3)

Yes

Windows XP 64-Bit Edition SP3

Yes

Windows Server 2003 Standard Edition (32-bit x86)

Yes (SP2 or later)

Windows Server 2003 Enterprise Edition (32-bit x86)

Yes (SP2 or later)

Windows Server 2003 Datacenter Edition (32-bit x86)

Yes (SP2 or later)

Windows Server 2003 x64 Standard Edition

Yes (SP2 or later)

Windows Server 2003 Enterprise x64 Edition

Yes (SP2 or later)

Windows Server 2003 Datacenter x64 Edition

Yes (SP2 or later)

Windows Server 2003 Web Edition

Yes

Windows Small Business Server 2003

Yes

Windows Vista with Service Pack 1 (SP1)

Yes

64-bit edition of Windows Vista with Service Pack 1 (SP1)

Yes

Windows Server 2008 Standard 32-Bit

Yes

Windows Server 2008 Enterprise 32-Bit

Yes

Windows Server 2008 Datacenter 32-Bit

Yes

64-bit edition of Windows Server 2008 Standard

Yes

64-bit edition of Windows Server 2008 Enterprise

Yes

64-bit edition of Windows Server 2008 Datacenter

Yes

Windows Web Server 2008

Yes

Windows 7

Yes

64-bit edition of Windows 7

Yes

64-bit edition of Windows Server 2008 R2 Standard

Yes

64-bit edition of Windows Server 2008 R2 Enterprise

Yes

64-bit edition of Windows Server 2008 R2 Datacenter

Yes

Windows Web Server 2008 R2

Yes

Table 1: VMM 2008 R2 supported guest operating systems

VMware ESX Virtual Machine Files

Table 2 contains a list of the virtual machine files that are created in VMware ESX for a virtual machine named VM1.

File

Description

VM1.vmx

This is a text file that contains the virtual hardware configuration, guest operating system information, and other pertinent details of the virtual machine

VM1.vmdk

This file contains information that describes the virtual hard disk characteristics

VM1-flat.vmdk

This file contains the guest operating system, application, and data files

VM1.nvram

This file contains the virtual machine BIOS state

VM1.vswp

This file contains the virtual machine swap file

VM1.vmsd

This file contains metadata and information for the virtual machine snapshots (if any have been created)

vmware.log

This file contains virtual machine log information (if there is more than a single log file named with a sequential numbering scheme, such as vmware-1.log, vmware-2.log, and so on)

Table 2: VMware ESX primary virtual machine files

Additional files are created and associated with a virtual machine depending on its state (running, suspended, and so), or if one or more snapshots have been created. Because of the differences in the implementation of snapshots between Hyper-V and VMware ESX, VMM 2008 R2 does not provide a method to perform a V2V conversion of a VMware ESX virtual machine along with all of its snapshots.

VMware ESX also provides multiple VMDK format options to allow creation of single files or collection of VMDK files that contain the virtual machine guest operating system, application, and data. Table 3 contains a list of the VMDK files supported for a VMM 2008 R2 V2V conversion.

VMDK Format

Description

MonolithicFlat

This represents a single VMDK file that is preallocated in size.

MonolithicSparse

This represents a single VMDK file that is dynamically growing in size, and that also contains an embedded file descriptor instead of an external one

Vmfs

This represents a variation of a MonolithicFlat format

twoGbMaxExtentSparse

This represents a collection of VMDK files that are preallocated in 2GB chunks

twoGBMaxExtentFlat

This represents a collection of VMDK files that dynamically grow in size, each up to 2GB chunks

Table 3: VMware ESX VMDK formats supported by VMM 2008 R2 V2V conversion

Hyper-V Virtual Machine Files

Table 4 contains a list of the virtual machine files that are created in Hyper-V for a virtual machine named VM1.

File

Description

<GUID>.xml

This file contains the virtual machine configuration details and is named with a GUID that is used to internally identify the virtual machine

VM1.vhd

This file contains the guest operating system, application, and data files

<GUID>.avhd

This file contains the guest operating system, application, and data files for a snapshot and it is implemented as a differencing disk

<GUID>.vsv

This file contains the saved state from the devices associated with the virtual machine

<GUID>.bin

This file contains the memory of a virtual machine or snapshot that is in a saved state

Table 4: Hyper-V primary virtual machine files

V2V File Conversion

VMM supports V2V conversion of virtual machine files created with VMware ESX 3.0 and later versions. In order to convert virtual machines created by VMware 2.5, VMware Workstation, or VMware Server, you must use VMware Converter to convert the virtual machine files to VMware ESX format and then move the virtual machine to a VMware ESX host managed by VMM 2008 R2.

Even though several files compose a virtual machine, a V2V conversion only converts the VMDK files into corresponding Hyper-V VHD files. Since a VMware ESX virtual machine must be powered off prior to conversion (and always if it is stored in a VMM library), there are no state files to convert. In addition, there is no VMX conversion. Because the virtual machine must be managed by VMM 2008 R2, it can rely on the virtual machine configuration information contained in its database to create the Hyper-V XML configuration file.

Performing a V2V Conversion from a VMM 2008 R2 Managed VMware ESX Host

If the source VMware ESX host is not currently managed by VMM 2008 R2, you have to first add the VMware VirtualCenter or vCenter server that is managing the host to VMM 2008 R2, and then configure the VMware ESX host security. You can find the procedure to do this in one of my previous articles posted on the VirtualizationAdmin.com site.

Prior to initiating a V2V conversion of a VMware ESX hosted virtual machine; you must remove the VMware Tools from the guest operating system. Then use the following procedure to initiate the V2V conversion from the VMM 2008 R2 Admin Console:

  1. Launch the VMM 2008 R2 Administrator Console and then select Convert Virtual Machine in the Actions pane.
  2. In the Convert Virtual Machine Wizard, on the Select Source page, select the VMware ESX virtual machine, and then click Next.
  3. On the Virtual Machine Identity page, specify the virtual machine name, a Windows account, a description, and then click Next.
  4. On the Virtual Machine Configuration page, select the number of processors and memory, and then click Next.
  5. On the Select Host page, select the desired Hyper-V host, and then click Next.
  6. On the Select Path page, enter the location for the virtual machines files (the default will be displayed), and then click Next.
  7. On the Select Networks page, specify the virtual network that the virtual machine should be attached to on the Hyper-V host, and then click Next.
  8. On the Additional Properties page, select the Automatic Start and Stop actions, and then click Next.
  9. On the Summary page, verify the options and then click Convert.

Conclusion

System Center VMM 2008 R2 provides the ability to perform P2V and V2V conversions from a VMware ESX environment to a Hyper-V environment, as long as the VMware ESX host is managed by VMM 2008 R2. The V2V conversion consists primarily of converting the VMware ESX virtual machine VMDK file (or files) to the Hyper-V VHD file format. For a subset of supported Windows guest operating systems, the V2V conversion also involves the modification of operating system files to allow the virtual machine to properly boot on Hyper-V. For non-supported guest operating systems, this process is a manual one.

Featured Links