群集操作系统滚动升级Cluster operating system rolling upgrade

适用于:Windows Server 2019、Windows Server 2016Applies to: Windows Server 2019, Windows Server 2016

群集操作系统滚动升级允许管理员升级群集节点的操作系统,而无需停止 Hyper-v 或横向扩展文件服务器工作负荷。Cluster OS Rolling Upgrade enables an administrator to upgrade the operating system of the cluster nodes without stopping the Hyper-V or the Scale-Out File Server workloads. 使用此功能可以避免服务级别协议 (SLA) 的停机时间损失。Using this feature, the downtime penalties against Service Level Agreements (SLA) can be avoided.

群集操作系统滚动升级具有以下优势:Cluster OS Rolling Upgrade provides the following benefits:

  • 运行 Hyper-v 虚拟机和横向扩展文件服务器(SOFS)工作负荷的故障转移群集可以从 Windows Server 2012 R2 (在群集的所有节点上运行)升级到 Windows Server 2016 (在群集的所有群集节点上运行),而无需停机。Failover clusters running Hyper-V virtual machine and Scale-out File Server (SOFS) workloads can be upgraded from Windows Server 2012 R2 (running on all nodes in the cluster) to Windows Server 2016 (running on all cluster nodes of the cluster) without downtime. 其他群集工作负荷(如 SQL Server)将在故障转移到 Windows Server 2016 的时间内不可用(通常不到五分钟)。Other cluster workloads, such as SQL Server, will be unavailable during the time (typically less than five minutes) it takes to failover to Windows Server 2016.

  • 它不需要任何其他硬件。It doesn't require any additional hardware. 尽管可以在群集操作系统滚动升级过程中将其他群集节点暂时添加到小型群集,以提高群集的可用性。Although, you can add additional cluster nodes temporarily to small clusters to improve availability of the cluster during the Cluster OS Rolling Upgrade process.

  • 群集不需要停止或重新启动。The cluster doesn't need to be stopped or restarted.

  • 不需要新群集。A new cluster is not required. 升级现有群集。The existing cluster is upgraded. 此外,将使用存储在 Active Directory 中的现有群集对象。In addition, existing cluster objects stored in Active Directory are used.

  • 升级过程是可逆的,在客户选择 "无回车键"、所有群集节点都在运行 Windows Server 2016 时以及运行 Update-clusterfunctionallevel PowerShell cmdlet 时进行恢复。The upgrade process is reversible until the customer choses the "point-of-no-return", when all cluster nodes are running Windows Server 2016, and when the Update-ClusterFunctionalLevel PowerShell cmdlet is run.

  • 群集在混合 OS 模式下运行时可以支持修补和维护操作。The cluster can support patching and maintenance operations while running in the mixed-OS mode.

  • 它通过 PowerShell 和 WMI 支持自动化。It supports automation via PowerShell and WMI.

  • 群集公共属性update-clusterfunctionallevel属性指明 Windows Server 2016 群集节点上的群集的状态。The cluster public property ClusterFunctionalLevel property indicates the state of the cluster on Windows Server 2016 cluster nodes. 可以使用 PowerShell cmdlet 从属于故障转移群集的 Windows Server 2016 群集节点查询此属性:This property can be queried using the PowerShell cmdlet from a Windows Server 2016 cluster node that belongs to a failover cluster:

    Get-Cluster | Select ClusterFunctionalLevel  
    

    8表示群集正在 Windows Server 2012 R2 功能级别运行。A value of 8 indicates that the cluster is running at the Windows Server 2012 R2 functional level. 9表示群集正在 Windows Server 2016 功能级别运行。A value of 9 indicates that the cluster is running at the Windows Server 2016 functional level.

本指南介绍群集操作系统滚动升级过程的各个阶段、安装步骤、功能限制和常见问题(Faq),适用于 Windows Server 2016 中的以下群集操作系统滚动升级方案:This guide describes the various stages of the Cluster OS Rolling Upgrade process, installation steps, feature limitations, and frequently asked questions (FAQs), and is applicable to the following Cluster OS Rolling Upgrade scenarios in Windows Server 2016:

  • Hyper-v 群集Hyper-V clusters
  • 横向扩展文件服务器群集Scale-Out File Server clusters

Windows Server 2016 不支持以下方案:The following scenario is not supported in Windows Server 2016:

  • 群集操作系统使用虚拟硬盘(.vhdx 文件)作为共享存储的来宾群集的滚动升级Cluster OS Rolling Upgrade of guest clusters using virtual hard disk (.vhdx file) as shared storage

System Center Virtual Machine Manager (SCVMM)2016完全支持群集操作系统滚动升级。Cluster OS Rolling Upgrade is fully supported by System Center Virtual Machine Manager (SCVMM) 2016. 如果你使用的是 SCVMM 2016,请参阅在 VMM 中执行 hyper-v 主机群集到 Windows Server 2016 的滚动升级,以获取有关升级群集和自动执行本文档中所述步骤的指导。If you are using SCVMM 2016, see Perform a rolling upgrade of a Hyper-V host cluster to Windows Server 2016 in VMM for guidance on upgrading the clusters and automating the steps that are described in this document.

要求Requirements

在开始群集 OS 滚动升级过程之前,请完成以下要求:Complete the following requirements before you begin the Cluster OS Rolling Upgrade process:

  • 从运行 Windows Server (半年频道)、Windows Server 2016 或 Windows Server 2012 R2 的故障转移群集开始。Start with a Failover Cluster running Windows Server (Semi-Annual Channel), Windows Server 2016, or Windows Server 2012 R2.
  • 不支持将存储空间直通群集升级到 Windows Server 1709 版。Upgrading a Storage Spaces Direct cluster to Windows Server, version 1709 isn't supported.
  • 如果群集工作负载为 Hyper-v Vm 或横向扩展文件服务器,则可以预见到零停机时间的升级。If the cluster workload is Hyper-V VMs, or Scale-Out File Server, you can expect zero-downtime upgrade.
  • 使用以下方法之一验证 Hyper-v 节点具有支持二级寻址表(SLAT)的 Cpu。Verify that the Hyper-V nodes have CPUs that support Second-Level Addressing Table (SLAT) using one of the following methods;
    -查看您的 SLAT 兼容的 @no__t 0Are?WP8 SDK Tip 01 @ no__t-0 本文介绍两种检查 CPU 是否支持 SLATs 的方法- Review the Are you SLAT Compatible? WP8 SDK Tip 01 article that describes two methods to check if a CPU supports SLATs
    -下载Coreinfo v 3.31工具以确定 CPU 是否支持 SLAT。- Download the Coreinfo v3.31 tool to determine if a CPU supports SLAT.

群集操作系统滚动升级期间的群集转换状态Cluster transition states during Cluster OS Rolling Upgrade

本部分介绍使用群集操作系统滚动升级来升级到 Windows Server 2016 的 Windows Server 2012 R2 群集的各种转换状态。This section describes the various transition states of the Windows Server 2012 R2 cluster that is being upgraded to Windows Server 2016 using Cluster OS Rolling Upgrade.

为了使群集工作负荷在群集操作系统滚动升级过程中保持运行,将群集工作负荷从 Windows Server 2012 R2 节点移至 Windows Server 2016 节点的工作方式与两个节点都运行的是 Windows Server 2012 R2 操作系统相同。In order to keep the cluster workloads running during the Cluster OS Rolling Upgrade process, moving a cluster workload from a Windows Server 2012 R2 node to Windows Server 2016 node works as if both nodes were running the Windows Server 2012 R2 operating system. 将 Windows Server 2016 节点添加到群集时,它们会在 Windows Server 2012 R2 兼容模式下运行。When Windows Server 2016 nodes are added to the cluster, they operate in a Windows Server 2012 R2 compatibility mode. 称为 "混合 OS 模式" 的新概念群集模式允许不同版本的节点存在于同一群集中(请参阅图1)。A new conceptual cluster mode, called "mixed-OS mode", allows nodes of different versions to exist in the same cluster (see Figure 1).

@no__t 0Illustration 显示群集操作系统滚动升级的三个阶段:所有节点 Windows Server 2012 R2、混合 OS 模式和所有节点 Windows Server 2016 @ no__t-1Illustration showing the three stages of a cluster OS rolling upgrade: all nodes Windows Server 2012 R2, mixed-OS mode, and all nodes Windows Server 2016
**图 1:群集操作系统状态转换 @ no__t-0Figure 1: Cluster operating system state transitions

将 Windows Server 2016 节点添加到群集时,Windows Server 2012 R2 群集将进入混合 OS 模式。A Windows Server 2012 R2 cluster enters mixed-OS mode when a Windows Server 2016 node is added to the cluster. 此过程完全可逆-可以从群集中删除 Windows Server 2016 节点,并且可以在此模式下将 Windows Server 2012 R2 节点添加到群集中。The process is fully reversible - Windows Server 2016 nodes can be removed from the cluster and Windows Server 2012 R2 nodes can be added to the cluster in this mode. 如果在群集上运行 Update-clusterfunctionallevel PowerShell cmdlet,则会出现 "不返回点"。The "point of no return" occurs when the Update-ClusterFunctionalLevel PowerShell cmdlet is run on the cluster. 为了使此 cmdlet 成功,所有节点都必须是 Windows Server 2016,并且所有节点必须都处于联机状态。In order for this cmdlet to succeed, all nodes must be Windows Server 2016, and all nodes must be online.

执行滚动 OS 升级时,四个节点的群集的转换状态Transition states of a four-node cluster while performing Rolling OS Upgrade

本部分介绍和描述了群集的四个不同阶段,其中包含共享存储,其节点从 Windows Server 2012 R2 升级到 Windows Server 2016。This section illustrates and describes the four different stages of a cluster with shared storage whose nodes are upgraded from Windows Server 2012 R2 to Windows Server 2016.

"阶段 1" 是初始状态-从 Windows Server 2012 R2 群集开始。"Stage 1" is the initial state - we start with a Windows Server 2012 R2 cluster.

显示初始状态的0Illustration:所有节点 Windows Server 2012 R2 @ no__t-1 @no__tIllustration showing the initial state: all nodes Windows Server 2012 R2
图 2:初始状态:Windows Server 2012 R2 故障转移群集(阶段1)Figure 2: Initial State: Windows Server 2012 R2 Failover Cluster (Stage 1)

在 "阶段 2" 中,使用 Windows Server 2016 暂停、排出、逐出、重新格式化和安装两个节点。In "Stage 2", two nodes have been paused, drained, evicted, reformatted, and installed with Windows Server 2016.

![Illustration 在混合 OS 模式下显示群集:在示例4节点群集外,两个节点正在运行 Windows Server 2016,两个节点正在运行 Windows server 2012 R2 @ no__t-1Illustration showing the cluster in mixed-OS mode: out of the example 4-node cluster, two nodes are running Windows Server 2016, and two nodes are running Windows Server 2012 R2
图 3:中间状态:混合 OS 模式:Windows Server 2012 R2 和 Windows Server 2016 故障转移群集(阶段2)Figure 3: Intermediate State: Mixed-OS mode: Windows Server 2012 R2 and Windows Server 2016 Failover cluster (Stage 2)

在 "阶段 3" 中,群集中的所有节点都已升级到 Windows Server 2016,并且群集已准备好使用 Update-clusterfunctionallevel PowerShell cmdlet 进行升级。At "Stage 3", all of the nodes in the cluster have been upgraded to Windows Server 2016, and the cluster is ready to be upgraded with Update-ClusterFunctionalLevel PowerShell cmdlet.

备注

在此阶段,可以完全反转进程,并将 Windows Server 2012 R2 节点添加到此群集中。At this stage, the process can be fully reversed, and Windows Server 2012 R2 nodes can be added to this cluster.

@no__t 0Illustration 显示群集已完全升级到 Windows Server 2016,并且已准备好 Update-clusterfunctionallevel cmdlet,使群集功能级别提升到 Windows Server 2016 @ no__t-1Illustration showing that the cluster has been fully upgraded to Windows Server 2016, and is ready for the Update-ClusterFunctionalLevel cmdlet to bring the cluster functional level up to Windows Server 2016
图4:中间状态:所有节点已升级到 Windows Server 2016,已准备好进行 Update-clusterfunctionallevel (第3阶段)Figure 4: Intermediate State: All nodes upgraded to Windows Server 2016, ready for Update-ClusterFunctionalLevel (Stage 3)

运行 ClusterFunctionalLevelcmdlet 后,群集将进入 "阶段 4",其中可以使用新的 Windows Server 2016 群集功能。After the Update-ClusterFunctionalLevelcmdlet is run, the cluster enters "Stage 4", where new Windows Server 2016 cluster features can be used.

@no__t 0Illustration 显示群集滚动 OS 升级已成功完成;所有节点都已升级到 Windows Server 2016,并且群集正在 Windows Server 2016 群集功能级别 @ no__t-1 上运行Illustration showing that the cluster rolling OS upgrade has been successfully completed; all nodes have been upgraded to Windows Server 2016, and the cluster is running at the Windows Server 2016 cluster functional level
图5:最终状态:Windows Server 2016 故障转移群集(阶段4)Figure 5: Final State: Windows Server 2016 Failover Cluster (Stage 4)

群集操作系统滚动升级过程Cluster OS Rolling Upgrade Process

本部分介绍用于执行群集操作系统滚动升级的工作流。This section describes the workflow for performing Cluster OS Rolling Upgrade.

@no__t 0Illustration 显示用于升级群集 @ no__t 的工作流Illustration showing the workflow for upgrading a cluster
**Figure 6:群集操作系统滚动升级过程工作流 @ no__t-0Figure 6: Cluster OS Rolling Upgrade Process Workflow

群集操作系统滚动升级包括以下步骤:Cluster OS Rolling upgrade includes the following steps:

  1. 为操作系统升级准备群集,如下所示:Prepare the cluster for the operating system upgrade as follows:

    1. 群集操作系统滚动升级需要从群集中一次删除一个节点。Cluster OS Rolling Upgrade requires removing one node at a time from the cluster. 检查群集上是否有足够的容量来维护 HA Sla (当从群集中删除其中一个群集节点进行操作系统升级时)。Check if you have sufficient capacity on the cluster to maintain HA SLAs when one of the cluster nodes is removed from the cluster for an operating system upgrade. 换句话说,在群集操作系统滚动升级过程中,如果从群集中删除一个节点,你是否需要将工作负荷故障转移到另一个节点?In other words, do you require the capability to failover workloads to another node when one node is removed from the cluster during the process of Cluster OS Rolling Upgrade? 如果从群集中删除一个节点进行群集操作系统滚动升级,则群集是否具有运行所需工作负荷的容量?Does the cluster have the capacity to run the required workloads when one node is removed from the cluster for Cluster OS Rolling Upgrade?

    2. 对于 Hyper-v 工作负荷,请检查所有 Windows Server 2016 Hyper-v 主机具有 CPU 支持二级地址表(SLAT)。For Hyper-V workloads, check that all Windows Server 2016 Hyper-V hosts have CPU support Second-Level Address Table (SLAT). 仅支持 SLAT 的计算机可以使用 Windows Server 2016 中的 Hyper-v 角色。Only SLAT-capable machines can use the Hyper-V role in Windows Server 2016.

    3. 检查是否已完成任何工作负荷备份,并考虑备份群集。Check that any workload backups have completed, and consider backing-up the cluster. 在将节点添加到群集时停止备份操作。Stop backup operations while adding nodes to the cluster.

    4. 使用@no__t cmdlet 检查所有群集节点是否处于联机状态/running/up (参见图7)。Check that all cluster nodes are online /running/up using the Get-ClusterNode cmdlet (see Figure 7).

      @no__t 0Screencap,显示运行 Start-clusternode cmdlet @ no__t-1 的结果Screencap showing the results of running the Get-ClusterNode cmdlet
      **Figure 7:使用 Start-clusternode cmdlet @ no__t 确定节点状态-0Figure 7: Determining node status using Get-ClusterNode cmdlet

    5. 如果正在运行群集感知更新(CAU),请使用群集感知更新UI 或@no__t cmdlet 验证 CAU 当前是否正在运行(请参见图8)。If you are running Cluster Aware Updates (CAU), verify if CAU is currently running by using the Cluster-Aware Updating UI, or the Get-CauRun cmdlet (see Figure 8). 使用Disable-CauClusterRole CMDLET 停止 cau (参见图9),以防止在群集 OS 滚动升级过程中任何节点被 CAU 暂停和排出。Stop CAU using the Disable-CauClusterRole cmdlet (see Figure 9) to prevent any nodes from being paused and drained by CAU during the Cluster OS Rolling Upgrade process.

      @no__t 0Screencap 显示 Invoke-caurun cmdlet @ no__t 的输出Screencap showing the output of the Get-CauRun cmdlet
      **Figure 8:使用Get-CauRun cmdlet 确定群集上的更新是否正在群集 @ no__t-2 上运行Figure 8: Using the Get-CauRun cmdlet to determine if Cluster Aware Updates is running on the cluster

      @no__t 0Screencap 显示 Add-cauclusterrole cmdlet @ no__t 的输出Screencap showing the output of the Disable-CauClusterRole cmdlet
      **Figure 9:使用@no__t cmdlet @ no__t-2 禁用群集感知更新角色Figure 9: Disabling the Cluster Aware Updates role using the Disable-CauClusterRole cmdlet

  2. 对于群集中的每个节点,完成以下操作:For each node in the cluster, complete the following:

    1. 使用群集管理器 UI,选择节点并使用 "暂停" |排出节点以排出节点(请参阅图10)或使用@no__t Cmdlet (参见图11)。Using Cluster Manager UI, select a node and use the Pause | Drain menu option to drain the node (see Figure 10) or use the Suspend-ClusterNode cmdlet (see Figure 11).

      @no__t 0Screencap 演示如何通过群集管理器 UI @ no__t 来排出角色Screencap showing how to drain roles with the Cluster Manager UI
      **Figure 10:使用故障转移群集管理器 @ no__t 从节点排出角色-0Figure 10: Draining roles from a node using Failover Cluster Manager

      @no__t 0Screencap 显示 Start-clusternode cmdlet @ no__t-1 的输出Screencap showing the output of the Suspend-ClusterNode cmdlet
      **Figure 11:使用Suspend-ClusterNode cmdlet @ no__t-2 从节点排出角色Figure 11: Draining roles from a node using the Suspend-ClusterNode cmdlet

    2. 使用群集管理器 UI,从群集中逐出暂停的节点,或使用@no__t cmdlet。Using Cluster Manager UI, Evict the paused node from cluster, or use the Remove-ClusterNode cmdlet.

      @no__t 0Screencap 显示 Start-clusternode cmdlet @ no__t 的输出Screencap showing the output of the Remove-ClusterNode cmdlet
      **Figure 12:使用Remove-ClusterNode cmdlet @ no__t-2 从群集中删除节点Figure 12: Remove a node from the cluster using Remove-ClusterNode cmdlet

    3. 重新格式化系统驱动器,并使用 **Custom 在节点上执行 Windows Server 2016 的 "干净操作系统安装":仅在 setup.exe 中安装 Windows (高级) @no__t 0 安装(见图13)。Reformat the system drive and perform a "clean operating system install" of Windows Server 2016 on the node using the Custom: Install Windows only (advanced) installation (See Figure 13) option in setup.exe. 避免选择 **Upgrade:安装 Windows 并保留文件、设置和应用程序 @ no__t-0 选项,因为群集操作系统滚动升级不鼓励就地升级。Avoid selecting the Upgrade: Install Windows and keep files, settings, and applications option since Cluster OS Rolling Upgrade doesn't encourage in-place upgrade.

      ![Screencap of Windows Server 2016 安装向导,其中显示 "自定义安装" 选项已选中 @ no__t-1Screencap of the Windows Server 2016 installation wizard showing the custom install option selected
      **Figure 13:Windows Server 2016 @ no__t 的可用安装选项-0Figure 13: Available installation options for Windows Server 2016

    4. 将节点添加到相应的 Active Directory 域。Add the node to the appropriate Active Directory domain.

    5. 将相应用户添加到管理员组。Add the appropriate users to the Administrators group.

    6. 使用服务器管理器 UI 或 Add-windowsfeature PowerShell cmdlet 安装所需的任何服务器角色,如 Hyper-v。Using the Server Manager UI or Install-WindowsFeature PowerShell cmdlet, install any server roles that you need, such as Hyper-V.

      Install-WindowsFeature -Name Hyper-V  
      
    7. 使用服务器管理器 UI 或 Add-windowsfeature PowerShell cmdlet 安装故障转移群集功能。Using the Server Manager UI or Install-WindowsFeature PowerShell cmdlet, install the Failover Clustering feature.

      Install-WindowsFeature -Name Failover-Clustering  
      
    8. 安装群集工作负载所需的任何其他功能。Install any additional features needed by your cluster workloads.

    9. 使用故障转移群集管理器 UI 检查网络和存储连接设置。Check network and storage connectivity settings using the Failover Cluster Manager UI.

    10. 如果使用的是 Windows 防火墙,请检查群集的防火墙设置是否正确。If Windows Firewall is used, check that the Firewall settings are correct for the cluster. 例如,启用群集感知更新(CAU)的群集可能需要防火墙配置。For example, Cluster Aware Updating (CAU) enabled clusters may require Firewall configuration.

    11. 对于 Hyper-v 工作负荷,请使用 Hyper-v 管理器 UI 启动 "虚拟交换机管理器" 对话框(请参阅图14)。For Hyper-V workloads, use the Hyper-V Manger UI to launch the Virtual Switch Manager dialog (see Figure 14).

      检查群集中的所有 Hyper-v 主机节点所使用的虚拟交换机的名称是否相同。Check that the name of the Virtual Switch(s) used are identical for all Hyper-V host nodes in the cluster.

      @no__t 0Screencap 显示 Hyper-v 虚拟交换机管理器对话框 @ no__t 的位置Screencap showing the location of the Hyper-V Virtual Switch Manager dialog
      **Figure 14:虚拟交换机管理器 @ no__t-0Figure 14: Virtual Switch Manager

    12. 在 Windows Server 2016 节点(请勿使用 Windows Server 2012 R2 节点)上,使用故障转移群集管理器(请参阅图15)连接到群集。On a Windows Server 2016 node (do not use a Windows Server 2012 R2 node), use the Failover Cluster Manager (see Figure 15) to connect to the cluster.

      @no__t 0Screencap 显示 "选择群集" 对话框 @ no__t-1Screencap showing the select cluster dialog
      **Figure 15:使用故障转移群集管理器 @ no__t 将节点添加到群集Figure 15: Adding a node to the cluster using Failover Cluster Manager

    13. 使用故障转移群集管理器 UI 或@no__t cmdlet (参见图16)将节点添加到群集。Use either the Failover Cluster Manager UI or the Add-ClusterNode cmdlet (see Figure 16) to add the node to the cluster.

      @no__t 0Screencap 显示 Start-clusternode cmdlet @ no__t 的输出Screencap showing the output of the Add-ClusterNode cmdlet
      **Figure 16:使用Add-ClusterNode cmdlet @ no__t-2 将节点添加到群集Figure 16: Adding a node to the cluster using Add-ClusterNode cmdlet

      备注

      当第一个 Windows Server 2016 节点加入群集时,群集将进入 "混合 OS" 模式,并且群集核心资源会移动到 Windows Server 2016 节点。When the first Windows Server 2016 node joins the cluster, the cluster enters "Mixed-OS" mode, and the cluster core resources are moved to the Windows Server 2016 node. 混合操作系统模式群集是一个功能齐全的群集,其中的新节点在与旧节点兼容模式下运行。A "Mixed-OS" mode cluster is a fully functional cluster where the new nodes run in a compatibility mode with the old nodes. "混合 OS" 模式是群集的暂时性模式。"Mixed-OS" mode is a transitory mode for the cluster. 这并不是永久性的,并且期望客户在四周更新其群集的所有节点。It is not intended to be permanent and customers are expected to update all nodes of their cluster within four weeks.

    14. 将 Windows Server 2016 节点成功添加到群集后,可以(可选)将某些群集工作负荷移动到新添加的节点,以便在群集中重新均衡工作负荷,如下所示:After the Windows Server 2016 node is successfully added to the cluster, you can (optionally) move some of the cluster workload to the newly added node in order to rebalance the workload across the cluster as follows:

      @no__t 0Screencap 显示 Move-clustervirtualmachinerole cmdlet @ no__t 的输出Screencap showing the output of the Move-ClusterVirtualMachineRole cmdlet
      **Figure 17:使用@no__t cmdlet @ no__t-2 移动群集工作负荷(群集 VM 角色)Figure 17: Moving a cluster workload (cluster VM role) using Move-ClusterVirtualMachineRole cmdlet

      1. 使用虚拟机的故障转移群集管理器中的实时迁移@no__t cmdlet (参见图17)执行虚拟机的实时迁移。Use Live Migration from the Failover Cluster Manager for virtual machines or the Move-ClusterVirtualMachineRole cmdlet (see Figure 17) to perform a live migration of the virtual machines.

        Move-ClusterVirtualMachineRole -Name VM1 -Node robhind-host3  
        
      2. 对于其他群集工作负荷,请使用从故障转移群集管理器或@no__t Cmdlet 进行移动Use Move from the Failover Cluster Manager or the Move-ClusterGroup cmdlet for other cluster workloads.

  3. 如果每个节点都已升级到 Windows Server 2016 并添加回群集,或者已逐出任何其他 Windows Server 2012 R2 节点,请执行以下操作:When every node has been upgraded to Windows Server 2016 and added back to the cluster, or when any remaining Windows Server 2012 R2 nodes have been evicted, do the following:

    重要

    • 更新群集功能级别后,无法返回到 Windows Server 2012 R2 功能级别,并且无法将 Windows Server 2012 R2 节点添加到群集。After you update the cluster functional level, you cannot go back to Windows Server 2012 R2 functional level and Windows Server 2012 R2 nodes cannot be added to the cluster.
    • 在运行@no__t 1 cmdlet 之前,该进程是完全可逆的,可以将 windows Server 2012 R2 节点添加到此群集,并且可以删除 windows server 2016 节点。Until the Update-ClusterFunctionalLevel cmdlet is run, the process is fully reversible and Windows Server 2012 R2 nodes can be added to this cluster and Windows Server 2016 nodes can be removed.
    • 运行@no__t 1 cmdlet 后,新功能将可用。After the Update-ClusterFunctionalLevel cmdlet is run, new features will be available.
    1. 使用故障转移群集管理器 UI 或Get-ClusterGroup cmdlet 检查群集上的所有群集角色是否按预期运行。Using the Failover Cluster Manager UI or the Get-ClusterGroup cmdlet, check that all cluster roles are running on the cluster as expected. 在以下示例中,未使用可用存储,而是使用 CSV,因此,可用存储显示脱机状态(请参阅图18)。In the following example, Available Storage is not being used, instead CSV is used, hence, Available Storage displays an Offline status (see Figure 18).

      @no__t 0Screencap 显示 Get-clustergroup cmdlet @ no__t 的输出Screencap showing the output of the Get-ClusterGroup cmdlet
      **Figure 18:使用Get-ClusterGroup cmdlet @ no__t-2 验证所有群集组(群集角色)是否正在运行Figure 18: Verifying that all cluster groups (cluster roles) are running using the Get-ClusterGroup cmdlet

    2. 使用@no__t cmdlet 检查所有群集节点是否处于联机状态且正在运行。Check that all cluster nodes are online and running using the Get-ClusterNode cmdlet.

    3. 运行@no__t cmdlet-不应返回任何错误(参见图19)。Run the Update-ClusterFunctionalLevel cmdlet - no errors should be returned (see Figure 19).

      @no__t 0Screencap 显示 Update-clusterfunctionallevel cmdlet @ no__t-1 的输出Screencap showing the output of the Update-ClusterFunctionalLevel cmdlet
      **Figure 19:使用 PowerShell @ no__t 更新群集的功能级别Figure 19: Updating the functional level of a cluster using PowerShell

    4. 运行@no__t 1 cmdlet 后,可以使用新功能。After the Update-ClusterFunctionalLevel cmdlet is run, new features are available.

  4. Windows Server 2016-恢复常规群集更新和备份:Windows Server 2016 - resume normal cluster updates and backups:

    1. 如果以前运行过 CAU,请使用 CAU UI 重启它或使用@no__t cmdlet (请参阅图20)。If you were previously running CAU, restart it using the CAU UI or use the Enable-CauClusterRole cmdlet (see Figure 20).

      @no__t 0Screencap 显示 Add-cauclusterrole @ no__t 的输出Screencap showing the output of the Enable-CauClusterRole
      **Figure 20:使用@no__t cmdlet @ no__t-2 启用群集感知更新角色Figure 20: Enable Cluster Aware Updates role using the Enable-CauClusterRole cmdlet

    2. 恢复备份操作。Resume backup operations.

  5. 启用并使用 Hyper-v 虚拟机上的 Windows Server 2016 功能。Enable and use the Windows Server 2016 features on Hyper-V Virtual Machines.

    1. 群集升级到 Windows Server 2016 功能级别后,许多工作负荷(如 Hyper-v Vm)将具有新功能。After the cluster has been upgraded to Windows Server 2016 functional level, many workloads like Hyper-V VMs will have new capabilities. ,获取新的 Hyper-v 功能的列表。For a list of new Hyper-V capabilities. 请参阅迁移和升级虚拟机see Migrate and upgrade virtual machines

    2. 在群集中的每个 Hyper-v 主机节点上,使用Get-VMHostSupportedVersion cmdlet 查看主机支持的 hyper-v VM 配置版本。On each Hyper-V host node in the cluster, use the Get-VMHostSupportedVersion cmdlet to view the Hyper-V VM configuration versions that are supported by the host.

      @no__t 0Screencap 显示 VMHostSupportedVersion cmdlet @ no__t 的输出Screencap showing the output of the Get-VMHostSupportedVersion cmdlet
      **Figure 21:查看主机 @ no__t 支持的 Hyper-v VM 配置版本Figure 21: Viewing the Hyper-V VM configuration versions supported by the host

    3. 在群集中的每个 Hyper-v 主机节点上,可以通过使用用户计划简短的维护时段、备份、关闭虚拟机以及运行Update-VMVersion cmdlet 来升级 hyper-v VM 配置版本(请参阅图22)。On each Hyper-V host node in the cluster, Hyper-V VM configuration versions can be upgraded by scheduling a brief maintenance window with users, backing up, turning off virtual machines, and running the Update-VMVersion cmdlet (see Figure 22). 这将更新虚拟机版本并启用新的 Hyper-v 功能,从而无需以后再进行 Hyper-v 集成组件(IC)更新。This will update the virtual machine version, and enable new Hyper-V features, eliminating the need for future Hyper-V Integration Component (IC) updates. 此 cmdlet 可从托管 VM 的 Hyper-v 节点运行,或 -ComputerName 参数可用于远程更新 VM 版本。This cmdlet can be run from the Hyper-V node that is hosting the VM, or the -ComputerName parameter can be used to update the VM Version remotely. 在此示例中,我们将 VM1 的配置版本从5.0 升级到7.0,以利用与此 VM 配置版本关联的许多新 Hyper-v 功能,如生产检查点(应用程序一致性备份)和二进制 VM配置文件。In this example, here we upgrade the configuration version of VM1 from 5.0 to 7.0 to take advantage of many new Hyper-V features associated with this VM configuration version such as Production Checkpoints (Application Consistent backups), and binary VM configuration file.

      ![Screencap 在操作 @ no__t 中显示 VMVersion cmdletScreencap showing the Update-VMVersion cmdlet in action
      **Figure 22:使用 VMVersion PowerShell cmdlet @ no__t 升级 VM 版本Figure 22: Upgrading a VM version using the Update-VMVersion PowerShell cmdlet

  6. 可以使用StoragePool PowerShell cmdlet 升级存储池-这是一个联机操作。Storage pools can be upgraded using the Update-StoragePool PowerShell cmdlet - this is an online operation.

尽管我们的目标是私有云方案(特别是可以在不停机的情况下升级的 Hyper-v 和横向扩展文件服务器群集),但群集 OS 滚动升级过程可用于任何群集角色。Although we are targeting Private Cloud scenarios, specifically Hyper-V and Scale-out File Server clusters, which can be upgraded without downtime, the Cluster OS Rolling Upgrade process can be used for any cluster role.

限制/限制Restrictions / Limitations

  • 此功能仅适用于 Windows Server 2012 R2 到 Windows Server 2016 版本。This feature works only for Windows Server 2012 R2 to Windows Server 2016 versions only. 此功能无法将早期版本的 Windows Server (如 Windows Server 2008、Windows Server 2008 R2 或 Windows Server 2012)升级到 Windows Server 2016。This feature cannot upgrade earlier versions of Windows Server such as Windows Server 2008, Windows Server 2008 R2, or Windows Server 2012 to Windows Server 2016.
  • 每个 Windows Server 2016 节点应重新格式化/仅新安装。Each Windows Server 2016 node should be reformatted/new installation only. 不建议 "就地" 或 "升级" 安装类型。"In-place" or "upgrade" installation type is discouraged.
  • Windows Server 2016 节点必须用于向群集添加 Windows Server 2016 节点。A Windows Server 2016 node must be used to add Windows Server 2016 nodes to the cluster.
  • 管理混合 OS 模式群集时,始终从运行 Windows Server 2016 的上级节点执行管理任务。When managing a mixed-OS mode cluster, always perform the management tasks from an uplevel node that is running Windows Server 2016. 下层 Windows Server 2012 R2 节点不能对 Windows Server 2016 使用 UI 或管理工具。Downlevel Windows Server 2012 R2 nodes cannot use UI or management tools against Windows Server 2016.
  • 我们鼓励客户快速浏览群集升级过程,因为某些群集功能没有针对混合 OS 模式进行优化。We encourage customers to move through the cluster upgrade process quickly because some cluster features are not optimized for mixed-OS mode.
  • 由于从 Windows server 2016 节点故障转移到下层 Windows Server 2012 R2 节点的故障转移可能不兼容,因此应避免在 Windows Server 2016 节点上创建或调整其大小。Avoid creating or resizing storage on Windows Server 2016 nodes while the cluster is running in mixed-OS mode because of possible incompatibilities on failover from a Windows Server 2016 node to down-level Windows Server 2012 R2 nodes.

常见问题解答Frequently asked questions

故障转移群集在混合 OS 模式下运行的时间有多长?How long can the failover cluster run in mixed-OS mode?
我们鼓励客户在四周内完成升级。We encourage customers to complete the upgrade within four weeks. Windows Server 2016 中有很多优化。There are many optimizations in Windows Server 2016. 我们已成功升级 Hyper-v 和横向扩展文件服务器群集,在四个小时内不会出现停机时间。We have successfully upgraded Hyper-V and Scale-out File Server clusters with zero downtime in less than four hours total.

是否会将此功能移植回 Windows Server 2012、Windows Server 2008 R2 或 Windows Server 2008?Will you port this feature back to Windows Server 2012, Windows Server 2008 R2, or Windows Server 2008?
我们没有任何计划将此功能移植回以前的版本。We do not have any plans to port this feature back to previous versions. 群集操作系统滚动升级是将 Windows Server 2012 R2 群集升级到 Windows Server 2016 和更高版本的愿景。Cluster OS Rolling Upgrade is our vision for upgrading Windows Server 2012 R2 clusters to Windows Server 2016 and beyond.

Windows Server 2012 R2 群集是否需要在开始群集 OS 滚动升级过程之前安装所有软件更新?Does the Windows Server 2012 R2 cluster need to have all the software updates installed before starting the Cluster OS Rolling Upgrade process?
是,在开始群集 OS 滚动升级过程之前,请验证是否已更新所有群集节点的最新软件更新。Yes, before starting the Cluster OS Rolling Upgrade process, verify that all cluster nodes are updated with the latest software updates.

节点关闭或暂停时,能否运行@no__t cmdlet?Can I run the Update-ClusterFunctionalLevel cmdlet while nodes are Off or Paused?
否。No. 所有群集节点都必须处于 "已启用" 和 "活动" 成员身份, Update-ClusterFunctionalLevel cmdlet 才能工作。All cluster nodes must be on and in active membership for the Update-ClusterFunctionalLevel cmdlet to work.

0Does 群集操作系统滚动升级是否适用于任何群集工作负荷? @no__t它是否适用于 SQL Server? @no__tDoes Cluster OS Rolling Upgrade work for any cluster workload? Does it work for SQL Server?
是的,群集操作系统滚动升级适用于任何群集工作负荷。Yes, Cluster OS Rolling Upgrade works for any cluster workload. 但是,Hyper-v 和横向扩展文件服务器群集只需零停机时间。However, it is only zero-downtime for Hyper-V and Scale-out File Server clusters. 大多数其他工作负荷会在故障转移时导致停机(通常几分钟),并且在群集 OS 滚动升级过程中至少需要一次故障转移。Most other workloads incur some downtime (typically a couple of minutes) when they failover, and failover is required at least once during the Cluster OS Rolling Upgrade process.

是否可以使用 PowerShell 自动执行此过程?Can I automate this process using PowerShell?
是的,我们已设计好群集操作系统滚动升级,可以使用 PowerShell 自动完成。Yes, we have designed Cluster OS Rolling Upgrade to be automated using PowerShell.

对于具有额外工作负荷和故障转移容量的大型群集,能否同时升级多个节点?For a large cluster that has extra workload and failover capacity, can I upgrade multiple nodes simultaneously?
是。Yes. 从群集中删除一个节点以升级 OS 时,群集将有一个较小的故障转移节点,因此,故障转移能力会降低。When one node is removed from the cluster to upgrade the OS, the cluster will have one less node for failover, hence will have a reduced failover capacity. 对于具有足够工作负荷和故障转移容量的大型群集,可以同时升级多个节点。For large clusters with enough workload and failover capacity, multiple nodes can be upgraded simultaneously. 可以暂时将群集节点添加到群集,以便在群集操作系统滚动升级过程中提供改善的工作负荷和故障转移容量。You can temporarily add cluster nodes to the cluster to provide improved workload and failover capacity during the Cluster OS Rolling Upgrade process.

如果成功运行@no__t后在群集中发现问题,该怎么办?What if I discover an issue in my cluster after Update-ClusterFunctionalLevel has been run successfully?
如果在运行Update-ClusterFunctionalLevel之前已使用系统状态备份对群集数据库进行了备份,则应该能够在 Windows Server 2012 R2 群集节点上执行权威还原,并还原原始群集数据库和配置。If you have backed-up the cluster database with a System State backup before running Update-ClusterFunctionalLevel, you should be able to perform an Authoritative restore on a Windows Server 2012 R2 cluster node and restore the original cluster database and configuration.

是否可以对每个节点使用就地升级,而不是通过重新格式化系统驱动器来使用干净的安装?Can I use in-place upgrade for each node instead of using clean-OS install by reformatting the system drive?
我们不鼓励使用 Windows Server 的就地升级,但我们知道,在使用默认驱动程序的某些情况下,它可以正常工作。We do not encourage the use of in-place upgrade of Windows Server, but we are aware that it works in some cases where default drivers are used. 请仔细阅读群集节点就地升级过程中显示的所有警告消息。Please carefully read all warning messages displayed during in-place upgrade of a cluster node.

如果要在 Hyper-v 群集上为 Hyper-v VM 使用 Hyper-v 复制,则在群集操作系统滚动升级过程中和之后,复制是否保持不变?If I am using Hyper-V replication for a Hyper-V VM on my Hyper-V cluster, will replication remain intact during and after the Cluster OS Rolling Upgrade process?
是的,在群集操作系统滚动升级过程中和之后,Hyper-v 副本将保持不变。Yes, Hyper-V replica remains intact during and after the Cluster OS Rolling Upgrade process.

是否可以使用 System Center 2016 Virtual Machine Manager (SCVMM)来自动执行群集操作系统滚动升级过程?Can I use System Center 2016 Virtual Machine Manager (SCVMM) to automate the Cluster OS Rolling Upgrade process?
是的,你可以使用 System Center 2016 中的 VMM 自动执行群集操作系统滚动升级过程。Yes, you can automate the Cluster OS Rolling Upgrade process using VMM in System Center 2016.

请参阅See also