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

使用 Azure 弹性 SAN 创建 FCI(预览版) - Azure VM 上的 SQL Server

适用于: Azure VM 上的 SQL Server

本文介绍了如何在 Azure 虚拟机 (VM) 上搭配使用 Azure 弹性 SAN 卷和 SQL Server 来创建故障转移群集实例 (FCI)。

若要了解详细信息,请参阅对 Azure VM 上的 SQL Server 的 FCI群集最佳做法的概述。

注意

对于 Azure VM 上的 SQL Server 而言,使用 Azure 弹性 SAN 来配置故障转移群集实例目前处于预览阶段。

先决条件

在按本文中的说明操作之前,你应已具备以下条件:

提示

通过在同一 Azure 虚拟网络中的多个子网中创建 SQL Server 虚拟机 (VM),可以简化部署,使故障转移群集实例不再需要 Azure 负载均衡器或分布式网络名称 (DNN)。

创建 Azure 弹性 SAN

按照说明创建 Azure 弹性 SAN

弹性 SAN 应:

  • 在与 Azure VM 上的 SQL Server 相同的资源组中。
  • 已配置区域冗余。
  • 在与主 SQL Server VM 相同的可用性区域中。

将弹性 SAN 卷连接到虚拟机

按照说明将弹性 SAN 卷连接到两个 SQL Server VM。

使用磁盘管理来设置弹性 SAN 卷的格式并使其在线。

创建 Windows 故障转移群集

创建 Windows Server 故障转移群集的步骤在单个子网和多子网环境之间有所不同。 若要创建群集,请按照多子网方案单子网方案教程中的步骤执行操作。 尽管这些教程可创建可用性组,但创建群集的步骤对于故障转移群集实例是相同的。

配置仲裁

由于磁盘见证是最可复原的仲裁选项,因此建议将磁盘见证配置为仲裁解决方案。 Azure Elastic SAN 目前不支持云见证。

如果群集中的投票数为偶数,请配置最适合你的业务需求的仲裁解决方案。 有关详细信息,请参阅 SQL Server VM 上的仲裁

验证群集

使用故障转移群集管理器 UI 或 PowerShell 在其中一个虚拟机上验证群集。

在验证群集之前,请按照以下步骤使弹性 SAN 卷离线:

  1. 在“服务器管理器”下,依次选择“工具”、“故障转移群集管理器”。

  2. 在群集下,选择“存储”下的“磁盘”。

  3. 右键单击弹性 SAN 磁盘,然后选择“离线”:

    故障转移群集管理器的屏幕截图,其中选择了磁盘并突出显示了离线状态。

  4. 在“离线群集共享卷”对话框中选择“是”以确认您已确定,并想要使磁盘离线。

若要使用 UI 验证群集,请执行以下步骤:

  1. 右键单击“故障转移群集管理器”中的群集,选择“验证群集”以打开“验证配置向导”。
  2. 在“验证配置向导”中,选择“下一步”。
  3. 在“选择服务器或群集”页面中,输入两个虚拟机的名称。
  4. 在“测试选项”页上,选择“运行所有测试(推荐)”,然后选择“下一步”。
  5. 在“确认”页面上,选择“下一步”。 “验证配置”向导会运行验证测试。

若要使用 PowerShell 验证群集,请在某个虚拟机上通过管理员 PowerShell 会话运行以下脚本:

Test-Cluster –Node ("<node1>","<node2>") –Include "Cluster Configuration", "Inventory", "Network", "Storage", "System Configuration"

验证群集后,请在“故障转移群集管理器”中使用群集的“磁盘”页面,让弹性 SAN 卷重新在线。

测试群集故障转移

测试你的群集的故障转移。 在“故障转移群集管理器”中,右键单击你的群集并选择“更多操作”>“移动核心群集资源”>“选择节点”,然后选择群集的其他节点。 将核心群集资源移到群集的每个节点,再将它移回主节点。 安装 SQL Server 之前,请确保你可以成功地将群集移动到每个节点。

屏幕截图显示了通过将核心资源移到其他节点来测试群集故障转移。

创建 SQL Server FCI

配置故障转移群集和所有群集组件(包括存储)后,可以创建 SQL Server FCI。

在 SQL FCI 中创建第一个节点

若要在 SQL Server FCI 中创建第一个节点,请执行以下步骤:

  1. 使用远程桌面协议 (RDP) 或 Bastion 连接到第一个虚拟机。

  2. 在“故障转移群集管理器”中,确保所有核心群集资源都位于第一个虚拟机上。 如有必要,请将磁盘移到该虚拟机。

  3. 找到安装媒体。 如果虚拟机使用某个 Azure 市场映像,该媒体将位于 C:\SQLServer_<version number>_Full

  4. 选择“设置”。

  5. 在“SQL Server 安装中心”中选择“安装”。

  6. 选择“新建 SQL Server 故障转移群集安装”。 遵照向导中的说明安装 SQL Server FCI。

  7. 在“群集磁盘选择”页面中,选择 Azure 弹性 SAN 卷。

  8. 在“群集网络配置”页上,你提供的 IP 会有所不同,具体取决于你的 SQL Server VM 是部署到单个子网还是多个子网。

    1. 对于单子网环境,请提供计划添加到 Azure 负载均衡器的 IP 地址。
    2. 对于多子网环境,请提供第二个 IP 地址,它应该位于之前指定为故障转移群集实例网络名称的 IP 地址的第一个 SQL Server VM 的子网中:

    在第一个 SQL Server VM 的子网中提供辅助 IP 地址的屏幕截图。

  9. 在“数据库引擎配置”页面中,确保数据库目录位于 Azure 弹性 SAN 卷中。

  10. 完成向导中的说明后,安装程序会在第一个节点上安装 SQL Server FCI。

将其他节点添加到 SQL FCI

若要将其他节点添加到 SQL Server FCI,请遵循以下步骤:

  1. 在第一个节点上成功安装 FCI 后,请使用 RDP 或 Bastion 连接到第二个节点。

  2. 打开“SQL Server 安装中心”,然后选择“安装”。

  3. 选择“将节点添加到 SQL Server 故障转移群集”。 按照向导中的说明安装 SQL Server 并将此节点添加到 FCI。

  4. 对于多子网方案,请在“群集网络配置”中输入供第二个 IP 地址,它应该位于之前指定为故障转移群集实例网络名称的 IP 地址的第二个 SQL Server VM 子网的子网中。

    在第二个 SQL Server VM 的子网中输入辅助 IP 地址的屏幕截图。

    在“群集网络配置”中选择“下一步”后,安装程序会显示一个对话框,指示 SQL Server 安装程序检测到多个子网,如示例图像中所示。 请选择“是”以确认。

    显示多子网确认的屏幕截图。

  5. 完成向导中的说明后,安装程序将添加第二个 SQL Server FCI 节点。

  6. 在要参与 SQL Server 故障转移群集实例的任何其他 SQL Server VM 上重复这些步骤。

注意

Azure Marketplace 库映像自带已安装的 SQL Server Management Studio。 如果未使用市场映像,请下载 SQL Server Management Studio (SSMS)

向 SQL IaaS 代理扩展注册

若要从门户管理 SQL Server VM,请将它注册到 SQL IaaS 代理扩展

注意

目前,Azure 虚拟机上向 SQL IaaS 代理扩展注册的 SQL Server 故障转移群集实例仅支持通过基本注册提供的数量有限的功能,而不支持需要代理的功能,例如自动备份、修补、Microsoft Entra 身份验证和高级门户管理。 请参阅权益表以了解更多信息。

使用 PowerShell 注册 SQL Server VM(-LicenseType 可以是 PAYGAHUB):

# Get the existing compute VM
$vm = Get-AzVM -Name <vm_name> -ResourceGroupName <resource_group_name>

# Register SQL VM with SQL IaaS Agent extension
New-AzSqlVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName -Location $vm.Location `
   -LicenseType <license_type>

配置连接

如果在多个子网中部署了 SQL Server VM,请跳过此步骤。 如果已将 SQL Server VM 部署到单个子网,则需要配置其他组件,将流量路由到 FCI。 可为故障转移群集实例配置虚拟网络名称 (VNN) 及 Azure 负载均衡器,或部署分布式网络名称。 查看两者之间的差异;然后,为故障转移群集实例部署分布式网络名称虚拟网络名称及 Azure 负载均衡器

限制

  • 部署到 Azure 弹性 SAN 卷的 Azure VM 故障转移群集实例上的 SQL Server 不支持 Microsoft 分布式事务处理协调器 (MSDTC)。 有关更多信息,请查看 FCI 限制
  • 从 Windows Server 2019 及更高版本开始,部署到专用群集共享卷 (CSV) 并使用标准负载均衡器时,Azure 虚拟机上支持 Microsoft 分布式事务处理协调器 (MSDTC)。 Windows Server 2016 及更早的版本不支持分布式事务处理协调器。

有限的扩展支持

目前,Azure 虚拟机上向 SQL IaaS 代理扩展注册的 SQL Server 故障转移群集实例仅支持通过基本注册提供的数量有限的功能,而不支持需要代理的功能,例如自动备份、修补、Microsoft Entra 身份验证和高级门户管理。 请参阅权益表以了解更多信息。

如果 SQL Server VM 注册到 SQL IaaS 代理扩展,并且已启用任何需要代理的功能,则需要通过删除相应 VM 的 SQL 虚拟机资源从 SQL Server VM 中删除该扩展,然后再次将其注册到 SQL IaaS 代理扩展。 使用 Azure 门户删除 SQL 虚拟机资源时,请取消勾选相应虚拟机旁边的复选框,从而避免删除该虚拟机。

后续步骤

如果 Azure 共享磁盘不是适合你的 FCI 存储解决方案,请考虑改用高级文件共享存储空间直通来创建 FCI。

若要了解更多信息,请参阅以下文章: