There was a time, not that long ago, when VMware Inc.'s products were the virtualization solutions.
These days, however, VMware is just one of a panoply of virtualization options. Now, some IT shops consolidate their VM infrastructure on other solutions, such as Microsoft Hyper-V, in part because Microsoft offerings can be closely integrated with it.
There are a number of different ways to move an existing virtual machine (VM) from VMware to Hyper-V, but Microsoft has a tool of its own to do the job: the Virtual Machine Converter (VMC), which is currently in release candidate status. Its job is to convert VMware VMs, including their attendant hard disk images, into Hyper-V VMs.
As you might guess, VMC's conversion functionality is strongly Windows-centric. It supports converting VMs running either Windows Server (2003, 2008) or Windows Vista/7 to Hyper-V hosts that run under Windows Server 2008 R2 SP1, Microsoft Hyper-V Server 2008 R2 SP1 and 2012 RC, and the Windows Server 2012 RC. Other, non-Microsoft, host OSes aren't supported, because the conversion process for VMs includes making changes to the host OS.
VMC can convert a virtual disk or both the disk and the machine description file. The former is the advanced option, because it's up to you to provide a proper virtual machine in Hyper-V to employ the disk. The latter is easier, but has a few more prerequisites, which are described in the product's documentation.
(The caveat here is that Windows Server 2003 disks can only be converted offline.)
VMC also comes in two basic incarnations: a scriptable command-line interface and a convenient GUI. The former works with conventional batch scripts or PowerShell scripts, so it can be used as part of a programmatic effort to convert multiple VMs at once. The latter uses a wizard-driven interface, so it makes one-off conversion of VMs easy and lets you step through the whole process a bit at a time.
The VMC was recently in a public beta-test period, offered via Microsoft Connect. It's a valuable addition to the growing arsenal of Hyper-V tools out there, especially for those converting their virtualized infrastructure from VMware's offerings.
No matter what the approach, here are the top things to keep in mind when using the tool to perform a conversion:
The VMware virtual machine to be converted must be running when conversion is initiated.
For a variety of reasons, VMC can't work on a stopped VM. Bear this in mind if it's not possible for you to have all the VMs to be converted running at the same time -- for instance, because of physical limitations on the part of the host (such as not having enough memory). You may need to bring up the VMs to be converted in batches and convert them a few at a time -- something to note if you're automating the process.
VMs to be converted must meet some other key prerequisites.
Specifically, they need to have VMware tools installed (see below for more on this); they must be joined to an Active Directory domain and have a DNS name; and they must have WMI enabled on both the VM and the Hyper-V host that is the conversion target. Having WMI not enabled on the source VM is a common stumbling block, since there may be environments where it's not used.
VMware tools are uninstalled automatically from the converted VM and replaced with Microsoft's own integration services where needed.
This ensures the VM can be migrated cleanly to a Microsoft environment, without the presence of VMware's VM services as a possible stumbling block. The way VMC does this is actually non-destructive: It takes a snapshot of the VM in question, shuts down the VM, converts it (removing the tools in the process) and then restores the snapshot on the source VM, so the original can continue to be used if anything breaks. Integration services are then added to the converted disk, if you're running a version of Windows that isn't hypervisor-aware, such as Windows Server 2003.
The user account used to run VMC needs to have proper permissions.
Specifically, the user account has to be recognized as a local administrator on the source VM and must have write access to the conversion destination. If you're doing a batch conversion, you might want to create an account that has the needed privileges for the machines in question and use that, then disable the account in question when you're done, as a security measure.
Dynamically-sized VHDs are expanded to their full size post-conversion.
VMC works with a great variety of source disk types, including both dynamically sized and fixed disks. However, when a dynamically sized disk is converted, the resulting disk is always expanded to its full size. To that end, make sure you have enough room on the destination system for the fully expanded disks. It is possible to edit the disks after conversion and reduce their size via the Edit Virtual Hard Disk Wizard, but for the most part you're best off making sure you have the space to begin with.