你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。

将 SQL Server Always On 故障转移群集实例迁移到 Azure VMware 解决方案

本文介绍如何将 SQL Server 故障转移群集实例迁移到 Azure VMware 解决方案。 目前,Azure VMware 解决方案服务不支持通过 VMware 混合链接模式将本地 vCenter Server 连接到 Azure VMware 解决方案中运行的 vCenter Server。 由于这种限制,此过程需要使用 VMware HCX 进行迁移。 有关配置 HCX 的详细信息,请参阅在 Azure VMware 解决方案中安装和激活 VMware HCX。

VMware HCX 不支持迁移附加了处于物理共享模式的 SCSI 控制器的虚拟机。 但是,你可以克服这种限制,方法是执行此过程中所述的步骤,并使用 VMware HCX 冷迁移来移动构成群集的不同虚拟机。

该图显示了 Azure VMware 解决方案的 SQL Server 故障转移体系结构。

注意

此过程需要完全关闭群集。 由于迁移期间SQL Server服务不可用,因此请相应地规划停机时间。

Microsoft SQL Server 2019 和 2022 已通过 Windows Server 2019 和 2022 数据中心版(数据中心版)进行了测试,这些虚拟机部署在本地环境中。 Windows Server 和 SQL Server 是遵循 Microsoft 和 VMware 的最佳做法和建议配置的。 本地源基础结构是在 Dell PowerEdge 服务器和 Intel Optane P4800X SSD NVMe 设备上运行的 VMware vSphere 7.0 Update 3 和 VMware vSAN。

先决条件

  • 查看并记录群集中每个节点的存储和网络配置。
  • 查看并记录 WSFC 配置。
  • 维护所有 SQL Server 数据库的备份。
  • 备份群集虚拟机。
  • 将所有群集节点 VM 从其所属的任何分布式资源调度程序 (DRS) 组和规则中移除。
  • 在本地数据中心和运行已迁移工作负荷的Azure VMware 解决方案私有云之间配置 VMware HCX。 有关安装 VMware HCX 的详细信息,请参阅 Azure VMware 解决方案文档。
  • 确保 SQL Server 及其所用工作负载使用的所有网络段均已扩展到您的 Azure VMware 解决方案 私有云中。 若要验证此步骤,请参阅配置 VMware HCX 网络扩展。

VMware HCX over VPN 或 ExpressRoute 连接均可用作迁移的网络配置。

使用 VMware HCX over VPN 时,由于其带宽有限,因此它通常适用于能够承受较长停机时间的工作负载(例如非生产环境)。

对于以下任何实例,建议使用 ExpressRoute 连接进行迁移:

  • 生产环境
  • 具有大型数据库的工作负载
  • 在需要最大程度地减少停机时间的方案中,建议使用 ExpressRoute 连接进行迁移。

停机时间注意事项

迁移期间的停机时间取决于要迁移的数据库大小,以及专用网络与 Azure 云之间的连接速度。 将 SQL Server Always On 故障转移群集实例迁移到 Azure VMware 解决方案需要使数据库和所有群集节点完全停机;但是,应规划在业务非高峰时段并在已获批准的变更窗口内执行迁移。

下表指出了迁移每个 SQL Server 拓扑的预计停机时间。

场景 预计停机时间 说明
SQL Server 独立实例 低 迁移是使用 VMware vMotion 完成的。 数据库在迁移期间可用,但不建议在迁移期间提交任何关键数据。
SQL Server Always On 可用性组 低 在迁移第一个次要副本期间,主要副本将始终可用,并且在初次故障转移到 Azure 后,次要副本将变成主要副本。
SQL Server Always On 故障转移群集实例 高 群集的所有节点都将关闭,并通过 VMware HCX 冷迁移进行迁移。 停机时间取决于数据库大小,以及专用网络与 Azure 云之间的连接速度。

Windows Server 故障转移群集仲裁注意事项

Windows Server 故障转移群集需要通过仲裁机制来维护群集。

可以通过群集中奇数个节点或者使用见证来使用奇数个投票元素。 见证可以配置为三种不同的形式:

  • 磁盘见证
  • 文件共享见证
  • 云见证

如果群集使用磁盘见证,则必须使用迁移故障转移群集将磁盘与群集共享存储一起迁移。

如果群集使用在本地运行的 文件共享见证,则迁移后的群集所使用的见证类型取决于 Azure VMware 解决方案场景:

  • 数据中心扩展:将文件共享见证保留在本地。 工作负载分布在数据中心和 Azure VMware 解决方案中,因此两者之间的连接应始终可用。 无论在哪种情况下,都请考虑带宽限制并做好相应的规划。
  • 数据中心出口:对于此方案,可以使用两个选项。 在这两种情况下,都可以在迁移期间在本地维护文件共享见证,以防需要回滚。
    • 在 Azure VMware 解决方案私有云中部署新的文件共享见证。
    • 部署一个在 Azure VMware 解决方案私有云所在区域的 Azure Blob 存储中运行的云见证。
  • 灾难恢复和业务连续性:对于灾难恢复方案,最合适且最可靠的选项是创建一个在 Azure 存储中运行的云见证。
  • 应用程序现代化:对于此用例,最佳选择是部署云见证服务器。

有关仲裁配置和管理的详细信息,请参阅故障转移群集文档。 有关在 Azure Blob 存储中部署云见证的详细信息,请参阅为故障转移群集部署云见证文档。

迁移故障转移群集

出于演示目的,在本文档中,我们将使用包含 Windows Server 2019 Datacenter 和 SQL Server 2019 Enterprise 的双节点群集。 此过程也支持 Windows Server 2022 和 SQL Server 2022。

  1. 在“vSphere 客户端”中,关闭群集的第二个节点。

  2. 访问群集的第一个节点,并打开“故障转移群集管理器”。

    • 验证第二个节点处于 脱机 状态,并且所有群集服务和存储都受第一个节点的控制。 该图显示 Windows Server 故障转移群集管理器中的群集存储验证情况。

    • 关闭群集。

      该图显示了使用 Windows Server 故障转移群集管理器关闭群集。

    • 检查所有群集服务是否均已成功停止,且未报错。

  3. 关闭群集的第一个节点。

  4. 在“vSphere 客户端”中,编辑群集第二个节点的设置。

    • 从虚拟机配置中删除所有共享磁盘。
    • 确保未选中“ 从数据存储中删除文件 ”复选框,因为它会永久删除数据存储中的磁盘。 如果发生这种情况,需要从以前的备份恢复群集。
    • 在用于共享存储的虚拟 SCSI 控制器中,将“SCSI 总线共享”从“物理”设置为“无”。 通常,这些控制器属于 VMware 半虚拟类型。
  5. 编辑第一个节点虚拟机的设置。 在 SCSI 控制器中,将“SCSI 总线共享”从“物理”设置为“无”。

  6. 在“vSphere 客户端”中,转到 HCX 插件区域。 在服务下,选择迁移>迁移。

    • 选择第二个节点虚拟机。
    • 在远程私有云中设置 vSphere 群集,该群集将用作计算容器,托管迁移的一个或多个 SQL Server VM。
    • 选择vSAN 数据存储作为远程存储。
    • 如果你要将虚拟机放入特定的文件夹中,请选择一个文件夹。 此操作并非强制性的,但建议将 Azure VMware 解决方案私有云中的不同工作负载分开。
    • 保留“与源相同的格式”。
    • 为“冷迁移”选择“迁移配置文件”。
    • 在“扩展选项”中,选择“迁移自定义属性”。
    • 验证本地网段在Azure中是否具有正确的远程拉伸段。
    • 选择验证,并确保所有检查均已完成并处于通过状态。 最常见的错误与存储配置有关。 确认不存在启用了“物理共享”设置的 SCSI 控制器。
    • 选择开始后,迁移即会开始。
  7. 对第一个节点重复相同的过程。

  8. 访问“Azure VMware 解决方案 vSphere 客户端”,编辑第一个节点的设置,并在管理共享磁盘的一个或多个 SCSI 控制器中,设置回物理 SCSI 总线共享。

  9. 在“vSphere 客户端”中编辑第二个节点的设置。

    • 在管理共享存储的 SCSI 控制器中,将“SCSI 总线共享”设置回“物理”。
    • 将群集共享磁盘作为附加存储添加到节点。 将它们分配到第二个 SCSI 控制器。
    • 确保存储配置与迁移前记录的存储配置相同。
  10. 开启第一个节点虚拟机。

  11. 使用“VMware 远程控制台”访问第一个节点 VM。

    • 验证虚拟机网络配置,并确保它可以访问本地和 Azure 资源。

    • 打开故障转移群集管理器并验证群集服务。

      该图显示了故障转移群集管理器中的群集摘要。

  12. 启动第二个节点虚拟机。

  13. 从“VMware 远程控制台”访问第二个节点 VM。

    • 验证Windows Server是否可以访问存储。
    • 在 故障转移群集管理器中,验证第二个节点状态显示为 “联机”。 该图显示了故障转移群集管理器中的群集节点状态。
  14. 使用SQL Server Management Studio连接到 SQL Server 群集资源网络名称。 确认所有数据库均已联机且可访问。

该图显示了验证 SQL Server Management Studio 与已迁移的群集实例数据库的连接。

检查基础结构中其他系统和应用程序与 SQL Server 的连接。 确认所有使用该数据库或这些数据库的应用程序仍可访问它们。

详细信息