Converting a Cluster from Server Core to native Hyper-V
June 24, 2011
Posted by on
I learned something rather odd: RemoteFX is not supported on any Server Core install. I have no idea what the rationale is behind this. This doesn’t impact me a lot, since we’re running purely server OSs in our virtual environment, and even when we do implement VDI, it’s unlikely that we’ll need what RemoteFX has to offer. Still, it sparked a question in me: can you convert an existing Server Core cluster to Hyper-V, and most importantly, can it be done without downtime? The answer is yes!
If what I’m saying doesn’t make sense, understand that there are two ways to run Hyper-V: one is as a role inside an installation of Server Core or Full. The other is to install Hyper-V directly to your host hardware. Since we have licenses for Windows 2008 R2 Datacenter Edition, I’d installed that with Hyper-V as a role, thinking it would give us some more flexibility by having a more robust base operating system. From what I can tell on a test machine, nothing is really lost by installing Hyper-V directly, and as stated above, it’s the only way to get RemoteFX.
I’ll update the master document and write another covering the full installation of a Hyper-V base installation, but the existing document could be followed to do it. The short to-do list if this is something you want to replicate is:
- LiveMigrate all the guest VMs off the machine you want to start with.
- Remove the cluster from SCVMM (not exactly required, but will save some steps later).
- Use Failover Cluster Manager or SERVICES.MSC to stop the Failover Cluster Service on the host to be switched over.
- Use Failover Cluster Manager to evict that node.
- If that host is a member of your domain, it is best to remove it. When it asks for a restart, just shut it down or reboot right to the Hyper-V installation DVD. If you intend to allow it to reboot, use SERVICES.MSC to disable the Failover Cluster service. Expect it to generate lots of errors and warnings regarding its iSCSI targets.
- Boot the host to the Hyper-V installation media. The installation is very straightforward and should be familiar, since it is essentially a Server 2008 R2 Core image. About the only thing you’ll need to change during installation is to delete the partitions that Server Core was installed on.
- From there, you’ll pretty much follow the directions from the master document. However, there is a Server Configuration menu that can make some of these steps a little easier.
- One difference from the master document is in the order of operations regarding the iSCSI targets and the Failover Cluster. If you try connecting it to the iSCSI targets first, it will sort of work, but you’ll be pretty much unable to look at the drives in Computer Management because it will be really struggling to talk to those objects since they’re cluster resources and that server isn’t part of the cluster yet. Joining it to the cluster before adding the drives will eliminate all this. I wouldn’t run the validation tool first due to the interruption and because it will complain about the disks being missing.
- Once it’s back in the cluster and you’ve reconnected all the resources, move through the remaining members of the cluster. Before converting the last original member of the cluster, double- and triple-check that you can move ownership of all items to another member! Especially check your cluster shared volumes!
- Re-add the cluster in SCVMM.
I learned that even after a reinstall, Broadcom cards that were in iSCSI HBA mode remain in HBA mode. They were completely invisible to the operating system. They didn’t retain their settings, though (IP and MTU).
To install RemoteFX on Hyper-V, enter the following commands:
- import-module ServerManager
- Add-WindowsFeature RDS-Virtualization
- Add-WindowsFeature RDS-RemoteFX
Reboot the server, and that’s it.