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.
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 |
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) |
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 |
Hyper-V Virtual Machine Files
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 |
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:
* Launch the VMM 2008 R2 Administrator Console and then select Convert Virtual Machine in the Actions pane.
* In the Convert Virtual Machine Wizard, on the Select Source page, select the VMware ESX virtual machine, and then click Next.
* On the Virtual Machine Identity page, specify the virtual machine name, a Windows account, a description, and then click Next.
* On the Virtual Machine Configuration page, select the number of processors and memory, and then click Next.
* On the Select Host page, select the desired Hyper-V host, and then click Next.
* On the Select Path page, enter the location for the virtual machines files (the default will be displayed), and then click Next.
* 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.
* On the Additional Properties page, select the Automatic Start and Stop actions, and then click Next.
* On the Summary page, verify the options and then click Convert.