In this post, I am going to show you how to perform a Rolling Cluster Upgrade from Windows Server 2012 r2 to Windows Server 2016. I will then show you how to upgrade the functional level of the cluster to the latest version.
This guide does not show you how to install the failover cluster role. I would hope that if you are performing a cluster upgrade then you already know how to do that.
Adding a 2016 node to an existing Cluster
On your new Windows Server 2016 Cluster Node.
Open Failover Cluster Manager
In the Actions Pane, click Connect to Cluster…
Enter cluster name and click OK
Expand the cluster and select Nodes
Under the Actions Pane. Click Add Node…
Click Next
Enter the New Server’s Name, click Add and then click Next
[themify_box style=”black warning”]
As this is only in my lab I will select no to the cluster validation. In production environments always do a cluster validation!
[/themify_box]
Click Next
Click Next after confirming information and then click Finish
You should now see the newly added Node under the Nodes Pane. In this case, PIXEL-VHM10 being the one running 2016.
Evicting old 2012 r2 Nodes
In the node pane. Select one 2012 r2 node
Right click it, then select Pause and then select Drain Roles
You have now live migrated all Roles off of the server and paused the node so nothing can run on it.
Keep the Paused node highlighted
Under the Actions Pane on right. Click More actions near the bottom
Click Evict
Make sure you are evicting the correct node and then click Yes
We now have one 2012 r2 Node and one 2016 Node.
You can just repeat the above guide to in till all of your nodes are Windows Server 2016.
Updating Cluster Functional Level
[themify_box style=”black warning”]
Only Update the Clusters Functional Level when all nodes are running Windows Server 2016
[/themify_box]
To Check the Cluster Functional Level
Open PowerShell with Elevated permissions.
Type:
# Check Cluster Functional Level | |
Get-Cluster | Select ClusterFunctionalLevel |
If the result is 8 then you are running a 2012 r2 cluster
Check nodes are UP
Open PowerShell with Elevated permissions.
Type:
# Check Nodes are UP | |
Get-ClusterNode |
Upgrade the Cluster functional level
Open PowerShell with Elevated permissions.
Type:
# Upgrade Functional Level | |
Update-ClusterFunctionalLevel |
To make sure that the command completed successfully
Type:
# Check Cluster Functional Level | |
Get-Cluster | Select ClusterFunctionalLevel |
If it was successful you should see the number 9. this means you are now running a 2016 Cluster.
[AdSense-A]
2 Comments
Phonce · July 4, 2017 at 12:00 pm
Thanks for posting but what about having a FOC with sql already installed. Should i install same sql version at the new w2016 then evict the w2012 nodes? What should be the right procedure?
Thanks
Pixel Robots. · July 5, 2017 at 7:53 pm
Hello
You should install the same version to start with. And then if you want to upgrade the SQL version you can once the FOC has been fully updated.
Hope that helps.