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

使用 Azure 中的共享磁盘在 Windows 故障转移群集上群集化 SAP ASCS/SCS 实例

Windows OS Windows

Windows Server 故障转移群集 (WSFC) 是 Windows 中高可用性 (HA) SAP ASCS/SCS 安装和数据库管理系统 (DBMS) 的基础。

故障转移群集是由 1+n 个独立服务器(节点)构成的组,这些服务器配合工作以提高应用程序和服务的可用性。 如果发生节点故障,WSFC 会计算可能发生的故障数,并保留正常运行的群集,以提供应用程序和服务。 可从各种仲裁模式中选择,以实现故障转移群集。

先决条件

在开始本文中的任务之前,请先查看适用于 SAP NetWeaver 的高可用性体系结构和方案一文。

Azure 中的 Windows Server 故障转移群集

Azure 虚拟机 (VM) 的 WSFC 需要其他配置步骤。 生成群集时,需要为 SAP ASCS/SCS 实例设置多个 IP 地址和虚拟主机名。

Azure 中的名称解析和群集虚拟主机名

Azure 云平台不提供配置虚拟 IP 地址(例如浮动 IP 地址)的选项。 需要一个替代解决方案来设置虚拟 IP,以便连接到云中的群集资源。

Azure 负载均衡器服务提供适用于 Azure 的内部负载均衡器。 借助内部负载均衡器,客户端可以通过群集虚拟 IP 地址访问群集。

在包含群集节点的资源组中部署内部负载均衡器。 然后,使用内部负载均衡器的探测端口来配置所有必要的端口转发规则。 客户端可以通过虚拟主机名连接。 DNS 服务器解析群集 IP 地址,内部负载均衡器处理向活动群集节点的端口转发。

Azure 中未使用共享磁盘的 Windows Server 故障转移群集配置的示意图。

使用群集共享磁盘的 SAP ASCS/SCS HA

在 Windows 中,SAP ASCS/SCS 实例包含 SAP 中心服务、SAP 消息服务器、排队服务器进程和 SAP 全局主机文件。 SAP 全局主机文件存储整个 SAP 系统的中心文件。

SAP ASCS/SCS 实例具有以下组件:

  • SAP 中心服务:

    • 两个进程(用于消息服务器和排队服务器)和一个用于访问这两个进程的 ASCS/SCS 虚拟主机名
    • 文件结构:S:\usr\sap\<SID>\ASCS/SCS<instance number>
  • SAP 全局主机文件:

    • 文件结构:S:\usr\sap\<SID>\SYS...

    • sapmnt 文件共享,可通过使用以下 UNC 路径实现对这些全局 S:\usr\sap\<SID>\SYS... 文件的访问

      \\<ASCS/SCS virtual host name>\sapmnt\<SID>\SYS...

SAP ASCS/SCS 实例的进程、文件结构和全局主机文件共享的关系图。

在高可用性设置中,可群集化 SAP ASCS/SCS 实例。 使用群集共享磁盘(在本文的示例中为驱动器 S)来放置 SAP ASCS/SCS 文件和 SAP 全局主机文件。

显示使用共享磁盘的 SAP ASCS/SCS 高可用性体系结构的关系图。

使用排队复制服务器 1 (ERS1) 体系结构:

  • 除了通过 sapmnt 文件共享访问 SAP 全局主机文件外,还使用相同的 ASCS/SCS 虚拟主机名访问 SAP 消息服务器和排队服务器进程
  • 它们共用同一个群集共享磁盘(驱动器 S)。

使用排队复制服务器 2 (ERS2) 体系结构:

  • 除了通过 sapmnt 文件共享访问 SAP 全局主机文件外,还使用相同的 ASCS/SCS 虚拟主机名访问 SAP 消息服务器进程
  • 它们共用同一个群集共享磁盘(驱动器 S)。
  • 有单独的 ERS 虚拟主机名来访问排队服务器进程。

使用共享磁盘的 SAP ASCS/SCS 高可用性体系结构的关系图。

共享磁盘和排队复制服务器

ERS1 体系结构支持共享磁盘,其中 ERS1 实例:

  • 未群集化。
  • 使用 localhost 名称。
  • 部署在每个群集节点的本地磁盘上。

ERS2 体系结构也支持共享磁盘,其中 ERS2 实例:

  • 已群集化。
  • 使用专用虚拟主机名或网络主机名。
  • 除 (A)SCS IP 地址外,还需要在 Azure 内部负载均衡器上配置 ERS 虚拟主机名的 IP 地址。
  • 部署在每个群集节点的本地磁盘上,因此不需要共享磁盘。

有关 ERS1 和 ERS2 的详细信息,请参阅 SAP 网站上的 Microsoft 故障转移群集中的排队复制服务器故障转移群集环境中的新排队复制器

Azure 中用于 SAP 工作负载的共享磁盘选项

在 Azure 中,Windows 故障转移群集中的共享磁盘有两个选项:

为共享磁盘选择技术时,请记住以下有关用于 SAP 工作负载的 Azure 共享磁盘的注意事项:

  • 可用性集和可用性区域中的 SAP 部署支持使用采用 Azure 高级 SSD 磁盘的 Azure 共享磁盘。
  • 不支持使用 Azure 超级磁盘存储磁盘Azure 标准 SSD 磁盘作为用于 SAP 工作负载的 Azure 共享磁盘。
  • 请确保使用高级 SSD 范围中指定的最小磁盘大小预配 Azure 高级 SSD 磁盘,以便能够同时附加到所需数量的 VM。 SAP ASCS Windows 故障转移群集通常需要两个 VM。

请谨记以下有关 SIOS 的注意事项:

  • SIOS 解决方案在两个磁盘之间提供实时同步数据复制。
  • 通过 SIOS 解决方案,可以使用两个托管磁盘进行操作。 如果使用可用性集或可用性区域,托管磁盘将位于不同的存储群集上。
  • 支持在可用性区域中部署。
  • SIOS 解决方案需要安装和操作第三方软件,第三方软件需要另外购买。

Azure 共享磁盘

可以使用 Azure 共享磁盘实现 SAP ASCS/SCS HA。

先决条件和限制

目前,可以使用 Azure 高级 SSD 磁盘作为 SAP ASCS/SCS 实例的 Azure 共享磁盘。 目前存在以下限制:

  • 不支持使用 Azure 超级磁盘存储磁盘标准 SSD 磁盘作为用于 SAP 工作负载的 Azure 共享磁盘。
  • 可用性集和可用性区域中的 SAP 部署支持使用采用高级 SSD 磁盘Azure 共享磁盘
  • 采用高级 SSD 磁盘的 Azure 共享磁盘附带两个存储选项:
    • 可用性集中的部署支持高级 SSD 共享磁盘的本地冗余存储 (LRS)(Premium_LRSskuName 值)。
    • 可用性区域中的部署支持高级 SSD 共享磁盘的区域冗余存储 (ZRS)(Premium_ZRSskuName 值)。
  • Azure 共享磁盘值 maxShares 确定可以使用共享磁盘的群集节点数。 对于 SAP ASCS/SCS 实例,通常会在 WSFC 中配置两个节点。 然后将 maxShares 的值设置为 2
  • Azure 共享磁盘不需要 Azure 邻近放置组 (PPG)。 但对于使用 PPG 的 SAP 部署,请遵循以下准则:
    • 如果对区域中部署的 SAP 系统使用 PPG,则共享磁盘的所有虚拟机都必须属于同一 PPG。
    • 如果对跨区域部署的 SAP 系统使用 PPG,如用于区域部署的邻近放置组中所述,可以将 Premium_ZRS 存储附加到共享磁盘的虚拟机。

有关详细信息,请查看 Azure 共享磁盘文档的限制部分。

高级 SSD 共享磁盘的重要注意事项

请考虑有关 Azure 高级 SSD 共享磁盘的以下要点:

  • 高级 SSD 共享磁盘的 LRS:

    • 采用高级 SSD 共享磁盘的 LRS 的 SAP 部署使用一个存储群集上的单个 Azure 共享磁盘来运行。 如果部署 Azure 共享磁盘的存储群集出现问题,则会影响 SAP ASCS/SCS 实例。
  • 高级 SSD 共享磁盘的 ZRS:

    • 由于需要跨区域复制数据,ZRS 的写入延迟高于 LRS 的写入延迟。
    • 不同区域中的可用性区域之间的距离各不相同,ZRS 磁盘在可用性区域中的延迟也是如此。 请对磁盘进行基准测试,以确定你所在区域的 ZRS 磁盘延迟。
    • 高级 SSD 共享磁盘的 ZRS 在区域中的三个可用性区域之间同步复制数据。 如果其中一个存储群集出现问题,则 SAP ASCS/SCS 实例将继续运行,因为存储故障转移对应用层是透明的。
    • 有关详细信息,请查看有关托管磁盘 ZRS 的文档的限制部分。

有关规划 SAP 部署的其他重要注意事项,请查看在 Azure 上规划和实施 SAP 部署用于 SAP 工作负载的 Azure 存储类型

支持的操作系统版本

支持 Windows Server 2016、2019 和更高版本。 使用最新的数据中心映像。

强烈建议至少使用 Windows Server 2019 Datacenter,原因如下:

  • Windows Server 2019 中的 WSFC 可识别 Azure。
  • Windows Server 2019 Datacenter 包括通过监视 Azure 计划事件来集成和了解 Azure 主机维护和改进体验。
  • 可以使用分布式网络名称。 (这是默认选项。)无需为群集网络名称提供专用 IP 地址。 此外,无需在 Azure 内部负载均衡器上配置 IP 地址。

Azure 中使用 SIOS DataKeeper 的共享磁盘

共享磁盘的另一个选项是使用 SIOS DataKeeper Cluster Edition 创建模拟群集共享存储的镜像存储。 SIOS 解决方案提供实时同步的数据复制。

为群集创建共享磁盘资源:

  1. 将额外磁盘附加到 Windows 群集配置中的每个虚拟机。
  2. 在两个虚拟机节点上都运行 SIOS DataKeeper Cluster Edition。
  3. 配置 SIOS DataKeeper Cluster Edition,以便它将额外磁盘附加卷的内容从源虚拟机映射到目标虚拟机的额外磁盘附加卷。 SIOS DataKeeper 抽象源和目标本地卷,然后将它们作为单个共享磁盘呈现给 WSFC。

Azure 中使用 SIOS DataKeeper 的 Windows Server 故障转移群集配置的关系图。

注意

对于某些 DBMS 产品(如 SQL Server),无需共享磁盘来实现高可用性。 SQL Server Always On 将 DBMS 数据和日志从一个群集节点的本地磁盘复制到另一个群集节点的本地磁盘。 在此情况下,Windows 群集配置不需要共享磁盘。

可选配置

下图显示了 Azure VM 上的多个 SAP 实例运行 Windows Server 故障转移群集以减少 VM 总数。

此配置可以是 SAP ASCS/SCS 群集上的本地 SAP 应用程序服务器,也可以是 Microsoft SQL Server Always On 节点上的 SAP ASCS/SCS 群集角色。

重要

不支持在 SQL Server Always On 节点上安装本地 SAP 应用程序服务器。

SAP ASCS/SCS 和 Microsoft SQL Server 数据库都是单一故障点 (SPOF)。 WSFC 有助于在 Windows 环境中保护这些 SPOF。

虽然 SAP ASCS/SCS 的资源消耗相当小,但建议将 SQL Server 或 SAP 应用程序服务器的内存配置减少 2 GB。

下图演示了 WSFC 节点上使用 SIOS DataKeeper 的 SAP 应用程序服务器:

Azure 中 Windows Server 故障转移群集配置的关系图,其中包含 SIOS DataKeeper 和本地安装的 SAP 应用程序服务器。

由于 SAP 应用程序服务器安装在本地,因此无需设置任何同步。

下图演示了 SQL Server Always On 节点上使用 SIOS DataKeeper 的 SAP ASCS/SCS:

SQL Server Always On 节点上使用 SIOS DataKeeper 的 SAP ASCS/SCS 的关系图。

有关其他配置的信息,请参阅以下资源:

后续步骤