Q. What is the upgrade approach for a Windows Server 2012 R2 cluster to Windows Server vNext?
A. Windows Server vNext supports a true rolling upgrade which enables a cluster to contain both Windows Server 2012 R2 and Windows Server vNext nodes during the upgrade process. This avoids the need to create a new cluster with nodes running the target operating system and having to deal with duplicate resources, new names. and actually migrating workloads between clusters.
The process is straightforward:
- Make sure you have a backup of critical data, just in case of a problem. Also realize that during the process you will be taking nodes out of the cluster for a limited time. You should account for this loss of a node when considering the remaining resiliency and tolerance to other node failures during the upgrade process
- Initially you start with a Windows Server 2012 R2 failover cluster where all nodes are running Windows Server 2012 R2 as shown...
- Pause one of the nodes and drain the roles from the node
- Evict the node from the cluster as shown...
- The evicted node is reinstalled with Windows Server vNext (an in-place upgrade is not typically performed for servers nor supported as some roles/features, for example NIC Teaming (LBFO) do not support in-place upgrades)
- A cluster validation is run and once complete the vNext node is added to the cluster and various roles can be migrated to the vNext node. At this point the cluster is running 2012 R2 functional level and no Windows Server vNext cluster functionality will be available such as storage replica, leveraging cloud witness, VM compute resiliency or node quarantine...
- The process is repeated for the remaining nodes. The node is paused, roles drained, node evicted, node rebuilt with vNext, cluster validation executed then the node added to the cluster. During this time you will receive 1548 cluster events notifying you that the cluster is in mixed mode...
- At this point you can still go back to 2012 R2 by adding 2012 R2 nodes to the cluster.
- Once all nodes are running vNext you perform the switch so the cluster runs in native vNext mode which will enable Windows Server vNext functionality. Note that a cluster should only stay in mixed mode for a limited time (think: days). Run a cluster validation before making the switch. To switch, run the following PowerShell cmdlet.
If you now run Get-Cluster | fl * you will notice the ClusterFunctionalLevel has changed from 8 to 9. There is now no return to 2012 R2.
- If you have clustered Storage Pools they should also be updated using Update-StoragePool
During this process all management should be done from a vNext node or using the vNext tools and not from a 2012 R2 node or the 2012 R2 management tools. Also while in mixed mode you should not provision new storage or change storage formats as this is not supported.
Important Note - While in the mixed mode make sure you do not use new capabilities of vNext roles as those capabilities would not work if the role moved from a vNext node to a 2012 R2 node. This should not be a major issue as you should only be in mixed mode for a few days.