From 0f08c879834b2992844595f52f5d9356d0585631 Mon Sep 17 00:00:00 2001 From: "m365-skilling-repo-management[bot]" <201154859+m365-skilling-repo-management[bot]@users.noreply.github.com> Date: Sat, 19 Jul 2025 09:46:21 -0500 Subject: [PATCH 1/2] [AutoPublish] main to live - 07/18 13:33 PDT | 07/19 02:03 IST (#4030) * Update * Move code in DESCRIPTION to an Example (#4031) --------- Co-authored-by: Xelu86 Co-authored-by: Xelu86 <103963494+Xelu86@users.noreply.github.com> Co-authored-by: Sean Wheeler --- .../Update-ClusterFunctionalLevel.md | 73 +++++++++++-------- 1 file changed, 42 insertions(+), 31 deletions(-) diff --git a/docset/winserver2025-ps/FailoverClusters/Update-ClusterFunctionalLevel.md b/docset/winserver2025-ps/FailoverClusters/Update-ClusterFunctionalLevel.md index 430173056f..0a7f76de4e 100644 --- a/docset/winserver2025-ps/FailoverClusters/Update-ClusterFunctionalLevel.md +++ b/docset/winserver2025-ps/FailoverClusters/Update-ClusterFunctionalLevel.md @@ -2,7 +2,7 @@ description: Use this topic to help manage Windows and Windows Server technologies with Windows PowerShell. external help file: Microsoft.FailoverClusters.PowerShell.dll-Help.xml Module Name: FailoverClusters -ms.date: 11/23/2022 +ms.date: 07/18/2025 online version: https://learn.microsoft.com/powershell/module/failoverclusters/update-clusterfunctionallevel?view=windowsserver2025-ps&wt.mc_id=ps-gethelp schema: 2.0.0 title: Update-ClusterFunctionalLevel @@ -26,34 +26,18 @@ The `Update-ClusterFunctionalLevel` cmdlet updates the functional level of a mix cluster. You can update the cluster after all nodes have been updated. Starting with Windows Server 2016, you can add a node that runs a more recent version of the Windows -operating system into a cluster of nodes that run a previous version of the Windows operating -system. To add a cluster node, use the `Add-ClusterNode` cmdlet. +operating system (OS) into a cluster of nodes that run a previous version of the Windows OS. -After you add a node that runs a different version of the Windows operating system, the cluster -becomes a mixed-version cluster. You can implement a mixed-version cluster to continue to run while -you upgrade the operating system on each node in the cluster. +After you add a node that runs a different version of the Windows OS, the cluster becomes a +mixed-version cluster. You can implement a mixed-version cluster to continue to run while you +upgrade the OS on each node in the cluster. We recommend that you upgrade all nodes in the cluster within a month. We don't recommend using a mixed-version cluster permanently. -You can use this cmdlet to support a rolling operating system upgrade for a cluster. If you use -cluster that runs Hyper-V in which all the nodes run Windows Server 2012 R2, you can upgrade the -nodes of that cluster without downtime for your virtual machines. - -First, drain one cluster node by specifying the **Drain** parameter of the `Suspend-ClusterNode` -cmdlet. This cmdlet causes all virtual machines to live-migrate to one of the other hosts. - -Next, remove the host from the cluster by using the `Remove-ClusterNode` cmdlet. - -Next, install a new version of the operating system. Don't perform an upgrade or in-place -installation. - -Next, add the Hyper-V role and the **Failover Clustering** feature by using the -`Install-WindowsFeature` cmdlet. For more information, type `Get-Help Install-WindowsFeature`. - -Finally, add the node into the cluster by using the `Add-ClusterNode` cmdlet. - -Repeat these steps for each node of the cluster. +You can use this cmdlet to support a rolling OS upgrade for a cluster. If you use a cluster that +runs Hyper-V in which all the nodes run Windows Server 2012 R2, you can upgrade the nodes of that +cluster without downtime for your virtual machines. ## EXAMPLES @@ -64,7 +48,7 @@ Update-ClusterFunctionalLevel -WhatIf ``` This command tests whether an update would finish successfully. Because the command includes the -**WhatIf** common parameter, the command doesn't perform the update. +**WhatIf** parameter, the command doesn't perform the update. ### Example 2: Update a cluster functional level @@ -75,12 +59,39 @@ Update-ClusterFunctionalLevel -Cluster "cluster_17" This command updates the cluster functional level of the cluster named `cluster_17`. All of the nodes of this cluster must already be updated before you run this command. +### Example 3: Rolling OS upgrade of a cluster + +First, drain one cluster node by specifying the **Drain** parameter of the `Suspend-ClusterNode` +cmdlet. This cmdlet causes all virtual machines to live-migrate to one of the other hosts. + +Next, remove the host from the cluster by using the `Remove-ClusterNode` cmdlet. + +Next, perform an in-place upgrade to install the new version of the OS. Note that a cluster can only +be upgraded one OS version at a time, for example: + +- Windows Server 2012 R2 to Windows Server 2016 +- Windows Server 2016 to Windows Server 2019 +- Windows Server 2019 to Windows Server 2022 +- Windows Server 2022 to Windows Server 2025 + +Next, add the **Hyper-V** role and the **Failover Clustering** feature, if not already installed, by +running the following command: + +```powershell +Install-WindowsFeature -Name Hyper-V -IncludeManagementTools +Install-WindowsFeature -Name Failover-Clustering -IncludeManagementTools +``` + +Finally, add the node into the cluster by using the `Add-ClusterNode` cmdlet. + +Repeat these steps for each node in the cluster. + ## PARAMETERS ### -Cluster Specifies the name of the cluster on which to run this cmdlet. If the input for this parameter is -`.` or it is omitted, then the cmdlet runs on the local cluster. +`.` or it's omitted, then the cmdlet runs on the local cluster. ```yaml Type: String @@ -164,13 +175,13 @@ This cmdlet returns a **Cluster**. This cmdlet updates the functional level of t ## NOTES -* This cmdlet performs a one-time, one-way transformation of the cluster functional level. You - cannot lower this level. +Once you update the cluster functional level using this cmdlet, the change is permanent and can't be +reverted to a previous level. ## RELATED LINKS -[Add-ClusterNode](./Add-ClusterNode.md) +[Add-ClusterNode](add-clusternode.md) -[Suspend-ClusterNode](./Suspend-ClusterNode.md) +[Suspend-ClusterNode](suspend-clusternode.md) -[Remove-ClusterNode](./Remove-ClusterNode.md) +[Remove-ClusterNode](remove-clusternode.md) From d2e36f3ab9f1872d48c364744b706bf65db6f9c4 Mon Sep 17 00:00:00 2001 From: "m365-skilling-repo-management[bot]" <201154859+m365-skilling-repo-management[bot]@users.noreply.github.com> Date: Sat, 19 Jul 2025 13:38:55 -0500 Subject: [PATCH 2/2] [AutoPublish] main to live - 07/19 10:33 PDT | 07/19 23:03 IST (#4032) * Update * Move code in DESCRIPTION to an Example (#4031) --------- Co-authored-by: Xelu86 Co-authored-by: Xelu86 <103963494+Xelu86@users.noreply.github.com> Co-authored-by: Sean Wheeler pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy