I had to figure this out so I thought I'd post my documentation here for others. I hope it helps someone!
-
To migrate a Hyper-V Virtual Machine to a VMWare cluster:
You have two choices. You can use a converter tool to convert the hard
disk while the VM is down, or you can hot clone the VM while it's running. If
you aren't resizing the hard disk, the hot clone seems to work quickly and
well.
*Confirm that the VM is working correctly as is BEFORE you move it,
so if it doesn't work after the move you know it was the move and not some
preexisting condition.*
To hot clone:
- make sure the Hyper-V VM has no snapshots. When you delete them, make
sure you've given Hyper-V enough time to roll them all up. You can check this
by looking at the hard drive location in Settings. It shouldn't be in the
Snapshots folder. However, you may have to hit Refresh to get this updated
correctly.
*YOU MUST UNINSTALLTHE HYPER-V Integration Tools before moving the
VM in order to CLEANLY uninstall them.*
*But when you remove them, you will no longer have network access,
so you have to shut down the OS, add a "legacy network adapter" first in
Hyper-V, delete the old adapter, edit the new adapter ethernet address to match
the old, and then you will be able to access the network to do the hot
clone.*
Windows 2003 server and older:
Note the IP settings in the Network connection.
Shut down.
Add a legacy network adapter in settings.
Ensure it's connected with the
correct EA.
Delete the old network adapter.
Boot.
Insert the integration services setup disk.
From the command prompt (run
as admin in W2K8) run:d:\support\x86\setup /uninstall
It may give an "access denied" error when it's done, but it always does.
*ENSURE that you REMOVE the Integration Services virtual setup disk
after uninstalling the services, or it may autoinstall them again on
reboot.*
Reboot the server.
- stop all services that might result in clients connecting while you're
doing the clone, such as SQL server, web sites, etc.
Proceed with hot clone process as below.
Windows 2008 server:
Note the IP settings in the Network connection.
Shut down.
Add a legacy network adapter in settings. Ensure it's connected with the
correct EA.
Delete the old network adapter.
Boot.
Insert the integration services setup disk. From the command prompt (run
as admin) run:d:\support\x86\setup /uninstall
It may give an "access denied" error when it's done, but it always does.
Leave the server up. 2008 will autoreinstall the Hyper-v integration tools
on reboot, so DO NOT REBOOT. - stop all services that might result in clients connecting while you're
doing the clone, such as SQL server, web sites, etc.
Proceed with hot clone process as below. If hot clone doesn't work from the VSphere client, install the VMware
conversion standalone version on the VM and push the clone up to the server
instead.
Hot clone process:
- Use the vSphere client to connect to your VMWare manager server with an account
that has Admin privs.
(Before you do the next step, you will have to install the vCenter
Converter plugin for your vSphere Client. Just do that from the Plug-ins
Manager. Then restart vSphere Client..)
- Select the cluster from the Hosts and Clusters view. Right click and
select Import Machine.- NOTE that the Hyper-V VM must be up and running and on the network for
this to work.
- type to import is "Physical Computer". Yeah I know. Ssssh don't tell
vSphere.
- enter the full name, and username/pass of an admin on that computer- it will install a client on the server. I usually choose to uninstall it
afterwards.- You will have to choose the server the VM will start out on. Don't worry,
it can move around afterward, this is just for the cloning.- Choose a Storage repository.
- you can choose to resize the disk, but be aware this will vastly increase
the time required to clone the VM. Vastly.
- Once the VM is imported, BE SURE TO go shut down the original VM, and edit
the settings of the new VM to modify the Ethernet Address and add a CD ROM
Drive. For some reason it doesn't seem to add the CD ROM drive.
- start up the new VM.
- install VMWare Tools and reboot.
That's it!
You can import more than one VM at a time, but watch the
network usage.
Troubleshooting:
- if you get an error when installing the VCenter Converter Agent, go to
the Hyper-V VM and redo the uninstall of the Hyper-V stuff, then reboot.
Sometimes it doesn't uninstall cleanly.
To cold clone:
You can use the Starwind Converter tool to convert the VHD disk to VMDK.
Then use the Veeam tool fastscp to copy it up to the storage on the VMware
cluster.
NOTES: Fastscp is flaky on 64-bit systems, as they admit in their release
notes in version 3.
IF YOU ARE COPYING UP AN IDE DRIVE: The vmdk file that contains the disk
descriptor info (the smaller file of the two, without "flat" in the name) needs
to have the line
ddb.adapterType = "ide"
So that VMWare will allow you to add it as an IDE disk. If you add it as a
SCSI disk, it will probably bluescreen on boot.
To edit the vmdk file, use fastscp to view the file and right click it and
choose edit.
If you have a VM with two disks and you've already added them to the VM, you
may have to remove them both, add the boot drive as IDE, boot up, shut down,
then add the second drive as SCSI or IDE.