在同一硬件上升级故障转移群集

故障转移群集是一组独立的计算机,这些计算机相互协作以提高应用程序和服务的可用性。 群集服务器(也称为 节点)通过物理电缆和软件连接。 如果其中一个群集节点发生故障,就会启动一个称为 故障转移 的过程,由另一个节点开始提供服务。 因此,用户在服务中断期间遇到的影响最小。

请务必尽可能使故障转移群集保持最新状态,尤其是在组织升级到更高版本的 Windows Server 时。 但是,升级 Windows Server 不需要升级硬件。 本文介绍如何在不更改硬件的情况下升级现有群集节点。

概述

从 Windows Server 2012 R2 开始,可以通过将现有节点加入运行下一个最新版本 Windows Server 的群集来升级故障转移群集。 此更高版本称为 升级 版本,因为它比你当前的 Windows Server 版本要高一级。

从 Windows Server 2012 R2 开始,下面是上层联接的工作原理:

  • 可以将 Windows Server 2012 R2 节点加入 Windows Server 2016 群集。
  • 可以将 Windows Server 2016 节点加入 Windows Server 2019 群集。
  • 可以将 Windows Server 2019 节点加入 Windows Server 2022 群集。

这种方法也适用于相反的情况,即节点可以加入到比其当前版本低一个版本的群集中。 例如:

  • 可以将 Windows Server 2019 节点加入 Windows Server 2016 群集。
  • 可以将 Windows Server 2022 节点加入 Windows Server 2019 群集。

以这种方式加入节点支持群集 OS 滚动升级,这样就可以在不停止应用程序的情况下升级群集。

但是,只能联接彼此相隔一层的 Windows Server 节点和群集。 尝试将节点加入两个级别或更低级别的群集不起作用。 例如,Windows Server 2016 节点将无法加入 Windows Server 2022 群集。 若要将 Windows Server 2016 部署升级到 Windows Server 2022,你必须逐级升级,进行链式升级,直到达到所需的版本。

在开始升级之前,请查看 Windows Server 升级内容 中的信息,了解不同版本的 Windows Server 的升级兼容性。 就地升级时,只能向前升级一个或两个版本。 例如,如果服务器群集当前使用 Windows Server 2012 R2 或 Windows Server 2016,则可以就地升级到 Windows Server 2019。

还可以使用群集迁移向导升级故障转移群集,但它只能支持比当前运行的版本晚两个版本的升级。

本文中的说明介绍如何将 Windows Server 2012 故障转移群集服务器升级到 Windows Server 2019。

先决条件

在开始升级之前,应执行以下操作:

  • 查看 Windows Server 升级内容 以了解不同版本的 Windows Server 的升级兼容性。

  • 执行备份,以确保如果安装过程未按预期工作,你可以还原到故障转移群集的最新版本。

  • 将所有驱动程序和固件更新为要升级到的 Windows Server 版本所需的认证级别。

  • 安装复制群集角色向导,该向导需要共享存储才能按预期工作。

规划升级时,还应记住以下注意事项和限制:

  • 如果初始群集运行的是早期版本的 Windows Server,则可能需要执行多个就地升级才能访问最新版本。

  • 如果群集正在运行虚拟机(VM),则必须在 PowerShell 中运行 Update-VmVersion 命令,在完成群集升级后升级 VM。

  • 复制群集向导仅复制内置角色,例如通用服务、物理磁盘和 IP 地址。 它不会复制 SQL Server、Exchange Server 或第三方应用程序。 如果使用复制群集向导升级节点,则 SQL Server、Exchange Server 和第三方应用程序等应用程序不会自动迁移。

  • 需要共享存储才能使用“复制群集角色”向导。

步骤 1:逐出第一个节点并升级到 Windows Server 2016

升级故障转移群集需要一次升级一个节点。 本文中的说明仅介绍一个双节点故障转移群集,其中节点标记为 NODE1 和 NODE2,但可以根据需要对部署的其他节点重复这些步骤。

若要逐出和升级部署的第一个节点,请执行以下操作:

  1. 登录到第一个节点,然后打开故障转移群集管理器

  2. 右键单击第一个节点,然后选择暂停>清空角色,将所有资源从 NODE1 清空到 NODE2。

    故障转移群集管理器的屏幕截图,其中显示了“暂停 > 清空角色”选项。

  3. 通过右键单击节点名称并选择更多操作>逐出,从群集中逐出 NODE1。

    故障转移群集管理器的屏幕截图,其中显示了“更多操作 > 逐出”选项。

  4. 如果需要,请将节点与正在使用的存储分离。 如果不确定是否需要分离存储或操作方法,请向存储供应商询问指导。

  5. 将第一个节点升级到目标 Windows Server 版本。 确保已添加所有必要的角色、功能、驱动程序和安全更新。

  6. 在故障转移群集管理器中,转到 管理,然后选择 创建群集 以创建新群集。 在此示例中,新群集标记为CLUSTER1。

    故障转移群集管理器“管理”窗格的屏幕截图,其中显示了调出的“创建群集”选项。

  7. 创建新群集后,需要将角色从原始群集迁移到此新群集。 在新集群上,右键单击新集群名称,然后选择“更多操作>复制集群角色”。

    故障转移群集管理器的屏幕截图,其中显示了“更多操作 > 复制群集”选项。

  8. 完成所有资源的迁移后,关闭原始群集中的第二个节点,并将其与存储断开连接。

  9. 将存储重新连接到第一个节点。

  10. 重新打开所有资源,并确保它们按预期工作。

步骤 2:将第二个节点重新生成到 Windows Server 2019

完成第一个节点升级后,可以将第二个节点升级到 Windows Server 2019 并将其加入群集。

升级第二个节点:

  1. 在第二个节点上执行 Windows Server 2019 的全新安装。 请确保添加所有必要的角色、功能、驱动程序和安全更新。

  2. 请确保已删除原始群集。

  3. 现在原始群集已消失,可以保留新群集名称 as-is 或将其名称更改为原始群集的名称。 如果要使用原始群集的名称,请执行以下步骤:

    • 在故障转移群集管理器中,转到第一个节点,右键单击群集的名称,然后选择属性

    • “常规”选项卡上,通过在名称字段中输入所需名称来重命名群集。

    • 选择 应用。 应会看到以下对话框。

    “请确认操作”对话框的屏幕截图。

    • 重启群集以完成更改的应用。
  4. 在故障转移群集管理器中,转到第一个节点,然后右键单击 节点 并选择“添加节点”将第二个节点添加到群集。

  5. 将存储重新附加到第二个节点。

  6. 右键单击第一个节点,然后选择暂停>清空角色,以将所有资源从第一个节点清空到第二个节点。

  7. 测试资源,确保它们全部联机并按预期运行。

步骤 3:将第一个节点重新生成到 Windows Server 2019

最后,需要重新生成第一个节点,并将复制的资源移回其中。

重新生成第一个节点:

  1. 按照 步骤 1 中的说明操作:逐出第一个节点并升级到 Windows Server 2016 以从群集逐出第一个节点并断开存储的连接。

  2. 重新生成或升级第一个节点到 Windows Server 2019。 请确保已添加所有必要的角色、功能、驱动程序和安全更新。

  3. 重新附加存储并将第一个节点添加回群集。

  4. 将所有资源移回第一个节点,并确保它们都按预期工作。

  5. 当前群集功能级别仍为 Windows 2016。 在 PowerShell 窗口中,运行 Update-ClusterFunctionalLevel 命令,将功能级别更新为 Windows 2019。

故障转移群集现已升级到 Windows Server 2019。