Rolling cluster upgrades

Rolling Cluster Upgrades is a new feature in Windows Server 2016 that enables you to upgrade the operating system of your cluster nodes from Windows Server 2012 R2 to Windows Server 2016, without the need to stop the underlying Hyper-V workloads or services.

There are a number of benefits to this approach. It does not require any additional hardware to upgrade, although you can add additional nodes temporarily to the cluster to provide some additional availability during the upgrade process. Failover clusters running Hyper-V virtual machine workloads can be upgraded from Windows Server 2012 R2 to Windows Server 2016, without incurring any downtime, that is, the cluster does not need to be stopped or restarted to perform the upgrade procedure.

A new cluster running in parallel is not required. The existing cluster is upgraded a node at a time in a round-robin fashion. In addition, existing cluster objects stored in Active Directory are leveraged. In fact, the upgrade process is even reversible, at least until you choose the "point-of-no-return". When all cluster nodes are upgraded and running Windows Server 2016, and you are happy with how the cluster is operating, then and only then can you update the functional level of the cluster. This is the stage that you can't roll back from. Nor do you have the ability to introduce Windows Server 2012 R2 cluster nodes into the cluster.

Getting ready

Upgrading failover clusters in previous versions of Windows required that you either introduce new hardware, form a new cluster, and use the Cluster Migration Wizard to migrate the cluster roles or, if you didn't have access to new hardware to form a new cluster, evict the cluster nodes, destroy the cluster, upgrade the operating system on each node, and create a new cluster. While there were a number of variations on this method, this approach typically impacted the availability of the cluster in some way or form.

Before you begin, you need ensure that you have a functioning Windows 2012 R2 failover cluster. This can be achieved by running the Cluster Validation Wizard, which can be run on a production cluster; this can be executed without incurring any downtime or impacting the cluster. The only validation tests that require downtime to run are the storage tests on a disk.

When you include storage tests, such as when you run a complete validation, by default, none of the disks which are in use are included. Validation is an opt-in model, and you can selectively choose which disks you want to include in the tests.

How to do it…

The following steps will demonstrate how to upgrade your cluster to Windows Server 2016 using the rolling cluster upgrade:

Note

If you're running Cluster-Aware Updating, you need to verify if CAU is actually running before you carry out a Rolling Cluster Upgrade. This can be achieved by using either the Cluster-Aware Updating UI, or the Get-CauRun cmdlet. If CAU is running, to stop CAU, you can use the Disable-CauClusterRole cmdlet. Importantly, this will prevent any cluster nodes from being paused and automatically drained by CAU during the Cluster Rolling Upgrade process.

  1. To initiate a rolling cluster upgrade, launch the Start menu and type Cluadmin.msc to open Failover Cluster Manager.
  2. In the Failover Cluster Manager window, in the left-hand pane, select Nodes. In the middle pane you will see the list of available nodes; right-click on the node that you want to upgrade and select the Pause | Drain roles option to drain the node:
    How to do it…

    Failover Cluster Manager – Draining a node

  3. Once the node is drained from all running virtual machines, right-click on the node again and select More actions, and then click Evict to remove the selected node from the cluster:
    How to do it…

    Failover Cluster Manager – Evicting a node

  4. Format the system drive of the evicted node and perform a clean operating system install of Windows Server 2016.
  5. Install any appropriate Windows Server 2016 roles and features, for example, Failover Clustering and Hyper-V. Ensure you install any additional roles or features needed for your specific cluster configuration.
  6. Verify both your network and storage connectivity settings are configured correctly by using Failover Cluster Manager.
  7. Domain-join the node back into your Active Directory domain.
  8. Verify that the name of the virtual switch or switches used by this upgraded node are identical for all the remaining Hyper-V host nodes in the existing cluster by using Hyper-V Manager.
  9. On the upgraded Windows Server 2016 node, launch the Start menu and type Cluadmin.msc to open Failover Cluster Manager, right-click Failover Cluster Manager in the left-hand pane, click Manage a cluster, and then select or specify the cluster that you want to manage; here, enter the name of your existing cluster.
  10. Select the cluster name that you entered previously, then, in the Actions pane, click Add node. Enter the name of the node to add and click OK.
  11. After you have successfully added the Windows Server 2016 node to the existing cluster, you can move some of the cluster virtual machines to the newly added node; this will allow you to rebalance the workload across the cluster.

    Note

    As soon as the first Windows Server 2016 node joins the cluster, the cluster enters into a mixed-OS mode, and the cluster core resources are migrated to the Windows Server 2016 node.

    A mixed-OS-mode cluster is a fully functional cluster. Here, the new node runs in a compatibility mode with the older nodes. Mixed-OS mode is a transitory state for the cluster. This is not intended to be permanent, and Microsoft expects you to properly update the remaining nodes of the cluster within a four-week window.

  12. Once every node has been upgraded to Windows Server 2016 and re-joined back into the cluster, or when you have evicted any remaining Windows Server 2012 R2 nodes, run the PowerShell command, Update-ClusterFunctionalLevel.

    Note

    However, after you update the cluster functional level, you can't go back to Windows Server 2012 R2 functional level and you can't introduce Windows Server 2012 R2 nodes into the cluster. Until that point, the upgrade is fully reversible: Windows Server 2012 R2 nodes can join the cluster, and Windows Server 2016 nodes can be evicted.

How it works…

Rolling Cluster Upgrades allows you to upgrade cluster nodes one by one, until all the nodes are running Windows Server 2016. Even up until this point, the cluster upgrade process is still fully reversible. If you decide that you don't want to upgrade your cluster at this time, you can simply revert to Windows Server 2012 R2.

The upgrade to Windows Server 2016 only becomes permanent if you decide to raise the cluster functional level with Update-ClusterFunctionalLevel.

The first step in the upgrade process is to pause and drain the node that you intend to upgrade. Once the node is drained of all running virtual machines, it can be evicted from the cluster.

Once the node is evicted, you perform a clean operating-system installation of Windows Server 2016. This is a clean operating-system install, rather than an in-place upgrade, as this is not supported by Microsoft.

You then install any required Windows Server 2016 roles and features, for example, Failover Cluster and Hyper-V, plus ensure that any additional roles or features needed to run your applications are installed.

Next, once you have verified that both your networking and storage connectivity has been set up correctly, you can rejoin the node to your Active Directory domain. You also need to verify that the name of any virtual switches used in the existing cluster are created on the upgraded node.

You then rejoin the upgraded node to the existing cluster, using Windows Server 2016 Failover Cluster Manager, and move workloads back onto this node. You then rinse and repeat the process until you have upgraded every Windows Server 2012 R2 node, or you have evicted every down-level node.

There's more…

To be able to determine your Cluster Functional level, you can use the following PowerShell command:

Get-Cluster | select ClusterFunctionalLevel

If Get-Cluster | Select ClusterFunctionalLevel returns a value of 8, this indicates that the features and functionality match of that cluster match Windows Server 2012 R2, and that Update-ClusterFunctionalLevel has not been executed. If a value of 9 is returned, this indicates that the features and functionality match for Windows Server 2016, and that the cluster has been updated.

See also…

  • The Installing Windows Server 2016, Microsoft Hyper-V Server 2016, and Nano Server recipe in Chapter 1, Installing and Managing Hyper-V in Full, Server Core, and Nano Server
  • The Installing and configuring the Windows Failover Clustering feature recipe in this chapter
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.17.128.129