Convert SBS 2003 to a virtual server
I recently needed to virtualize an SBS 2003, that is to say convert it from a physical machine to a virtual machine on a Hyper-V host. I have done SBS conversions to VMware hosts in the past with with little or no problem, but converting to Hyper-V, my preference , was a little more involved. I first Googled the task and found many suggestions which based on the various articles and instinct, using Microsoft’s disk2vhd was the simplest solution. I was wrong. The first run on a test machine using a single disk worked well but did require several ‘tweaks’, and then when I added the data drives, which may have been unrelated, I ran into many problems, especially when I tried installing the Integration Services components. Though disk2vhd has worked well for me with other operating systems in the past, for some reason the HAL in this case caused problems.
I am not suggesting the following is the best method, or even a good method, but perhaps it will be of some help to those attempting the same task. I have posted the steps that worked flawlessly for me on a test server, trail run, and final move. All of the following was done remotely.
Note: The process will require re-activation of the SBS license. If SBS is an OEM version; it is a licensing violation to install on different hardware or virtualize, the activation will probably fail, and if it does Microsoft will not assist.
- If working remotely you will need to maintain access at least to the Hyper-V host throughout entire process. You can use RDP, VPN, LogMeIn, or any of a dozen other alternatives, but make sure it is in place and working, your existing RWW is about to stop functioning until complete.
- Clean up the initial machine: Remove the second/WAN NIC if present (not the LAN NIC) and run the CEICW (Configure e-mail and Internet Connection Wizard). Note that making network changes remotely can be risky, you can loose access.
- Run the SBS 2003 Best Practices Analyzer and resolve any problems.
- Presumably you do not want e-mail delivered to the server, or remote users accessing the server, during the move, so log onto the router and disable port forwarding on the necessary SBS ports 25, 443, 444, 1723 and 4125, for now.
- Download and run the free VMware converter tool. When running the tool make sure you right click on the program icon and choose “run as administrator”, if not you will receive an error; “A general system error occurred: Crypto Exception: error:02001005:system library:fopen:Input/ output error:unable to load C:\ProgramData\VMware\VMware vCenter Converter Standalone\ssl\rui.crt”.
- Clicking Next will deploy the conversion agent
- In the “Destination System” window choose destination type as “VMware Workstation or other VMware virtual machine” and “VMware Server 2.x”. The destination file location path must be to a network share, even if on the local machine. I also found if running VMware Converter on the Hyper-V server, due to limited name resolution services running and not being a domain member, using the IP in conjunction with the user name worked best, such as 192.168.123.123\UserName, even if it is the local machine. This was a simple workaround for the common credential error received by many; “The operation could not be completed for username due to incorrect user credentials”
- Review the specifications for the resulting VM as to how much RAM is to be assigned (SBS 2003 is limited to 4GB), number of processors, and if you want to change/increase disk sizes.
- In my experience the tool took less than 3 hours to convert about 100GB of files on 2 drives using a 10/100 mbps network, a relatively small site.
- Next download and run the Starwind’s free V2V conversion tool . This will allow you to convert the vdmk file, or files, created by the VMware converter to vhd files which will be compatible with Hyper-V. If you have more than one vdmk, you will need to convert one at a time. You only need the vdmk’s, the other config file/s created by the VMware converter are not necessary.
- When running the tool, point to the vdmk file and choose to convert to “MS Virtual PC” format. You can also choose whether the resulting vhd (Hyper-V disk) is to be a “pre-allocated” or “growable” image. These are Starwind’s terms for a “fixed size” or “dynamically expanding” disk. The former, “fixed” is recommended on domain controllers, but not a requirement on recent Hyper-V servers.
- I found the V2V conversion took about 60-70% as long as the previous P2V step. Once completed if you need the drive space you can delete the .vdmk and other files created by the VMware Converter tool.
- Using the Hyper-V management console you can now create a new VM using the wizard. When doing so presumably you want the maximum RAM, so set to 4000 MB, leave the network adapter as “not connected”, under “Connect Virtual Hard Disk” choose “Use an existing virtual hard disk” and select your system disk (disk containing the C: partition) created by the P2V/V2V steps above, under “Installation Options” select “Install an operating system later”, and click finish.
Next, open the settings console for the newly created VM. It will have added a network adapter, remove it and add a legacy network adapter but again if the existing SBS is still powered up on the same network segment choose “not connected”, if you have multiple physical or virtual processors (cores) adjust the number of processors, if you have multiple disks add the others, and review the remaining settings.
You are ready to start up the new VM. Boot the Virtual SBS and log in. Ignore any offers to discover and add new hardware. You will be a notice you have 3 days to activate. I recommend waiting until complete before doing so. As mentioned do not install any hardware, but you may be prompted at different stages to reboot which you should do. Note that you will have no mouse for this or the next 4 steps.
Manually configure the server’s NIC with the LAN IP, Gateway, and DNS pointing to its LAN NIC IP. You can keep the same IP as the previous server if using the steps I have outlined.
Run the “Change Server IP Wizard” located under Server Management / Internet and E-mail, and keep the same IP as you just set. The wizard will likely tell you it failed and you should run again due to inaccessibility to the LAN. You can ignore.
Run the CEICW (Configure E-mail and Internet Connection Wizard) angin located under Server Management / Internet and E-mail, and make no changes, just accept the existing configurations.
Install the Hyper-V Integration Services by clicking “Insert Integration services Start Up Disk” under “Action” on the menu bar. Allow this to complete and reboot as requested. This can take a little while to run sometimes.
After reboot you may want to do some tweaking such as changing display size settings.
You may also receive a message after rebooting; “At least one service or driver failed during system startup”. Though this could be anyone of a dozen services, reviewing the event logs may show a parallel port service error. To resolve this, on the VM from a command line run; sc config parport start= disabled
If not automatically removed, uninstall the VMware vCenter Converter Standalone Agent, using add/remove programs in the contol panel.
Flush the DNS, NetBIOS, and arp cache to be safe using “ipconfig /flushdns”, “nbtstat –R”, and “arp –d * “
At this point you should be able to shut down the old server. You may want to verify WakeOnLan is enabled and record the MAC address if you think you might have to remotely restart. If so, you can download Solarwind’s Wake-On-LAN tool.
You can now enable the Virtual NIC on the SBS by choosing the physical NIC (Virtual Switch) to which you want to associate the Virtual NIC, in the settings configuration of the VM.
Perform any internal testing such as access to other LAN resources, Internet access, printer availability, services by clients are working such as redirected My Documents, and anything else with which you might be concerned.
Assuming all is well you can now forward the ports on the router to the new Virtual SBS to allow incoming e-mail and remote access by users.
Test e-mail reception, and finally activate the server through windows Activation process.