Upgrade a Windows Server failover cluster with a cluster OS rolling upgrade
Windows Server Datacenter Core 2022 -> 2025
Prepare the cluster for the upgrade.
PS C:\> Get-ClusterNode
Name State Type ------------- HYPER-V-1 Up Node HYPER-V-2 Up Node
PS C:\> Get-CauRun RunNotInProgress WARNING: No Updating Run is currently in progress on cluster MyCluster.
PS C:\> Disable-CauClusterRole
Are you sure? Do you want to disable the Cluster-Aware Updating clustered role on cluster "MyCluster"? [Y] Yes[N] No[S] Suspend[?] Help (default is "Y"): Disable-CauClusterRole : The current cluster (MyCluster) is not configured with a Cluster-Aware Updating clustered role. At line:1 char:1 + Disable-CauClusterRole + ~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [Disable-CauClusterRole], ClusterUpdateException + FullyQualifiedErrorId : ClusterResourceNotFound,Microsoft.ClusterAwareUpdating.Commands.DisableCauClusterRoleCom mand
Transfer workloads off a node.
PS C:\> Suspend-ClusterNode-Name HYPER-V-1-Drain
Name State Type ------------- HYPER-V-1 Paused Node
PS C:\> Remove-ClusterNode-Name HYPER-V-1
Remove-ClusterNode Are you sure you want to evict node HYPER-V-1? [Y] Yes[N] No[S] Suspend[?] Help (default is "Y"):
Collect diagnostic information
PS C:\> Get-NetLbfoTeam
Name : Team_Htbt Members : {Ethernet4, Ethernet5} TeamNics : Team_Htbt TeamingMode : SwitchIndependent LoadBalancingAlgorithm : Dynamic Status : Up
Name : Team_Mgmt Members : {Ethernet0, Ethernet1} TeamNics : Team_Mgmt TeamingMode : SwitchIndependent LoadBalancingAlgorithm : Dynamic Status : Up
Updating the functional level for cluster MyCluster. Warning: You cannot undo this operation. Do you want to continue? [Y] Yes[A] Yes to All [N] No[L] No to All [S] Suspend[?] Help (default is "Y"):
Resume normal cluster operations and turn on new functionality.
PS C:\> Enable-CauClusterRole
Are you sure? Do you want to enable the Cluster-Aware Updating clustered role on cluster "MyCluster"? [Y] Yes[N] No[S] Suspend[?] Help (default is "Y"): Enable-CauClusterRole : The current cluster (MyCluster) is not configured with a Cluster-Aware Updating clustered role. At line:1 char:1 + Enable-CauClusterRole + ~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [Enable-CauClusterRole], ClusterUpdateException + FullyQualifiedErrorId : ClusterResourceNotFound,Microsoft.ClusterAwareUpdating.Commands.EnableCauClusterRoleComm and
Name Version IsDefault -------------------- Microsoft Windows 10 Anniversary Update/Server 20168.0 False Microsoft Windows 10 Creators Update 8.1 False Microsoft Windows 10 Fall Creators Update/Server 17098.2 False Microsoft Windows 10 April 2018 Update/Server 18038.3 False Microsoft Windows 10 October 2018 Update/Server 20199.0 False Microsoft Windows 10 May 2019 Update/Server 19039.1 False Microsoft Windows 10 May 2020 Update/Server 20049.2 False Microsoft Windows 10 (Manganese) 9.3 False Microsoft Windows Server 202210.0 False Microsoft Host OS (Cobalt+) 10.5 False Microsoft Windows 11 (22H2) 11.0 False Microsoft Windows 11 (Copper) 11.1 False Microsoft Windows 11 (Zinc) 11.2 False Microsoft Windows Server 202512.0 True
PS C:\> Get-VM-ComputerName'HYPER-V-2'
Name State CPUUsage(%) MemoryAssigned(M) Uptime Status Version -------------------------------------------------------- VM1 Running 0102400:06:15.1570000 Operating normally 10.0
PS C:\> Update-VMVersion-ComputerName'HYPER-V-2'-Name * -WhatIf What if: Performing a configuration version update of "VM1" will prevent it from being migrated to or imported on previous versions of Windows. This operation is not reversible.