I was tasked with migration of two virtual machines from Virtual Server 2005 R2 to Hyper-V in order to prepare them for upgrade from SQL Server 2005 SP3 to SQL Server 2008 R2 SP1. Unfortunately, not everything went as smoothly as initally planned, mostly due to incosistencies in the environment.
First of all, the upgrade is quite straightforward:
- Shutdown the VM in Virtual Server.
- Copy the VHDs to Hyper-V server.
- Create new VM in Hyper-V and assign resources – CPUs, RAM and network. Do not create VHDs in the wizard.
- Attach previously copied VHDs.
- Start the virtual machine.
- Install Hyper-V integration services (requires several restarts).
Now there are few things you need to remember:
- You need to have Virtual Server 2005 R2 SP1 Virtual Machine Additions (VMA) installed in the VM to allow upgrade to Hyper-V Integration Services. The lowest version possible is 13.813 (previous version summary available here).
- If you have earlier VS 2005 R2 VMA prior to SP1, either uninstall it or upgrade it to SP1. Now, upgrade of VMA = uninstall old version, install new one. Remember to have correct ISO at hand – you can’t uninstall VMA version 13.552 (2005 R2) using version 13.813 (2005 R2 SP1).
- Upgrade of VMA does not take place automatically – you have to do it yourself, otherwise you may have a VM with 2005 R2 additions in VS 2005 R2 SP1 which impact VM performance.
There are many benefits in upgrading VMs from VS 2005 to Hyper-V:
- ability to assign multiple CPUs to a machine
- support for large (up to 127 GB) VHDs
- better integration with host operating system (especially when running the same system in host and guest)
- in Windows Server 2008 R2 SP1, dynamic memory allocation based on guest demand
In my case I struggled to uninstall VMA because I had no source prepared, but finally managed to do it by ripping it off VS 2005 R2 installation. The refreshed machines are happy working with additional resources avialable.