你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用适用于 SAP 应用程序的 Azure NetApp 文件 (SMB) 实现 Windows 上 Azure VM 的 SAP NetWeaver 高可用性
本文介绍如何使用 Azure NetApp 文件上的 SMB 部署和配置虚拟机、安装群集框架,以及在 Windows VM 上安装具有高可用性的 SAP NetWeaver 7.50 系统。
文本不会详细介绍数据库层。 假设已创建 Azure 虚拟网络。
请先阅读以下 SAP 说明和文档:
- Azure NetApp 文件文档
- SAP 说明 1928533,其中包含:
- SAP 软件部署支持的 Azure VM 大小的列表
- Azure VM 大小的重要容量信息
- 支持的 SAP 软件、操作系统 (OS) 和数据库组合
- Microsoft Azure 上所需的适用于 Windows 的 SAP 内核版本
- SAP 说明 2015553 列出了在 Azure 中 SAP 支持的 SAP 软件部署的先决条件。
- SAP 说明 2178632 包含为 Azure 中的 SAP 报告的所有监控指标的详细信息。
- SAP 说明 1999351 包含适用于 SAP 的 Azure 增强型监视扩展的其他故障排除信息。
- SAP 说明 2287140 列出了 SAP 支持的 SMB 3.x 协议 CA 功能的先决条件。
- SAP 说明 2802770 提供了针对 Windows 2012 和 2016 上 SAP transaction AL11 运行缓慢问题的故障排除信息。
- SAP 说明 1911507 提供了针对 Windows Server 上文件共享(使用 SMB 3.0 协议)的透明故障转移功能的相关信息。
- SAP 说明 662452 提供了相关建议(停用 8.3 名称生成)来解决数据访问过程中出现的错误/处理文件系统性能不佳的情况。
- 在 Windows 故障转移群集上安装 SAP NetWeaver 高可用性,在 Azure 上安装适用于 SAP ASCS/SCS 实例的文件共享
- 适用于 SAP NetWeaver 的 Azure 虚拟机高可用性体系结构和方案
- 在 ASCS 群集配置中添加探测端口
- 创建用于 Azure NetApp 文件的 SMB 卷
- 使用 Azure NetApp 文件的 Microsoft Azure 上的 NetApp SAP 应用程序
概述
SAP 开发了可以取代群集共享磁盘的新方法和新方案,用于将 Windows 故障转移群集上的 SAP ASCS/SCS 实例群集化。 可以使用 SMB 文件共享来部署 SAP 全局主机文件,而不使用群集共享磁盘。 Azure NetApp 文件将 Active Directory 和 NTFS ACL 配合使用来支持 SMBv3(以及 NFS)。 Azure NetApp 文件自然而然具备高可用性(因为它是 PaaS 服务)。 这些功能使得 Azure NetApp 文件非常适合用于托管 SAP 全局 SMB 文件共享。
Microsoft Entra 域服务和Active Directory 域服务 (AD DS)都受支持。 可以将现有 Active Directory 域控制器与 Azure NetApp 文件一起使用。 域控制器可以作为虚拟机放在 Azure 中,也可以通过 ExpressRoute 或 S2S VPN 放在本地。 本文将在 Azure VM 中使用域控制器。
SAP Netweaver 中心服务的高可用性 (HA) 需要共享存储。 过去,若要在 Windows 上实现此目的,需要构建 SOFS 群集,或使用 SIOS 之类的群集共享磁盘软件。 现在,可以使用部署在 Azure NetApp 文件上的共享存储来实现 SAP Netweaver HA。 将 Azure NetApp 文件用于共享存储就无需使用 SOFS 或 SIOS。
注意
将 SAP 系统与 SAP 内核 7.22(及更高版本)配合使用时,即可通过文件共享来群集化 SAP ASCS/SCS 实例。 有关更多详细信息,请参阅 SAP 说明 2698948
SMB 文件共享的先决条件为:
- SMB 3.0(或更高版本)协议。
- 能够设置 Active Directory 用户组和 computer$ 计算机对象的 Active Directory 访问控制列表 (ACL)。
- 必须为文件共享启用 HA。
此参考体系结构中 SAP Central Services 的共享由 Azure NetApp 文件提供:
创建并装载用于 Azure NetApp 文件的 SMB 卷
执行以下步骤,以准备好使用 Azure NetApp 文件。
按照创建 NetApp 帐户中所述的步骤创建 Azure NetApp 帐户
按照设置容量池中的说明设置容量池
Azure NetApp 文件资源必须驻留在委托的子网中。 按照将子网委托给 Azure NetApp 文件中的说明创建委托的子网。
重要
在创建 SMB 卷之前,需要创建 Active Directory 连接。 查看 Active Directory 连接要求。
创建 Active Directory 连接时,请确保输入的 SMB 服务器(计算机帐户)前缀不超过 8 个字符,以避免违反 SAP 应用程序的 13 个字符主机名限制(会自动在 SMB 计算机帐户名称中添加一个后缀)。
SAP 应用程序的主机名限制在 2718300 - 物理和虚拟主机名长度限制和 611361 - SAP ABAP 平台服务器的主机名中进行了介绍。按照创建 Active Directory 连接中所述创建 Active Directory 连接。 确保将运行 SWPM 以安装 SAP 系统的用户添加为 Active Directory 连接中的
Administrators privilege user
。 如果没有将 SAP 安装用户添加为 Active Directory 连接中的Administrators privilege user
,则 SWPM 将失败,并提示权限错误,除非你以具有提升的域管理员权限的用户身份运行 SWPM。按照添加 SMB 卷中的说明创建 SMB Azure NetApp 文件 SMB 卷。
在 Windows 虚拟机上装载 SMB 卷。
提示
有关如何装载 Azure NetApp 文件卷的说明,请登录 Azure 门户,然后导航到 Azure NetApp 文件对象,选择“卷”边栏选项卡,然后选择“装载说明”。
重要注意事项
在考虑将 Azure NetApp 文件用于 SAP Netweaver 体系结构时,请注意以下重要注意事项:
- 有关 Azure NetApp 文件卷和容量池的调整大小要求,请参阅 Azure NetApp 文件资源限制和为 Azure NetApp 文件创建容量池。
- 所选的虚拟网络必须具有一个委派给 Azure NetApp 文件的子网。
- Azure NetApp 文件卷的吞吐量和性能特征取决于卷配额和服务级别,如 Azure NetApp 文件的服务级别中所述。 调整 SAP Azure NetApp 卷的大小时,请确保生成的吞吐量满足应用程序要求。
使用 Windows 故障转移群集准备 SAP HA 的基础结构
- 为 Azure 内部负载均衡器设置 ASCS/SCS 负载均衡规则。
- 将 Windows 虚拟机添加到域。
- 在 SAP ASCS/SCS 实例的两个群集节点上添加注册表条目
- 为 SAP ASCS/SCS 实例设置 Windows Server 故障转移群集
- 如果使用的是 Windows Server 2016,我们建议配置 Azure 云见证。
在两个节点上安装 SAP ASCS 实例
需要 SAP 提供的以下软件:
- SAP 软件预配管理器 (SWPM) 安装工具版本 SPS25 或更高版本。
- SAP 内核 7.22 或更高版本
- 根据为群集化 SAP ASCS/SCS 实例创建虚拟主机名中所述,为群集化 SAP ASCS/SCS 实例创建虚拟主机名(群集网络名称)。
在第一个 ASCS/SCS 群集节点上安装 ASCS/SCS 实例
在第一个群集节点上安装 SAP ASCS/SCS 实例。 启动 SAP SWPM 安装工具,然后导航到“产品”>“DBMS”>“安装”>“应用程序服务器 ABAP”(或“Java”)>“高可用性系统”>“ASCS/SCS 实例”>“第一个群集节点”。
在 SWPM 中选择“文件共享群集”作为群集共享配置。
当步骤“SAP 系统群集参数”出现提示时,请输入已作为“文件共享主机名”创建的 Azure NetApp 文件 SMB 共享主机名 。 在此示例中,SMB 共享主机名为 anfsmb-9562。
重要
如果 SWPM 中的“先决条件检查程序结果”显示持续可用性功能的条件未被满足,可以按照尝试访问 Windows 中不再存在的共享文件夹时错误消息延迟中的说明解决此问题。
提示
如果 SWPM 中的“先决条件检查程序结果”显示“交换空间大小”条件未被满足,可以通过导航到“我的电脑”>“系统属性”>“性能设置”>“高级”>“虚拟内存”>“更改”来调整交换空间大小。
使用 PowerShell 配置 SAP 群集资源:
SAP-SID-IP
探测端口。 请根据配置探测端口中所述,在某个 SAP ASCS/SCS 群集节点上执行此配置。
在第二个 ASCS/SCS 群集节点上安装 ASCS/SCS 实例
- 在第二个群集节点上安装 SAP ASCS/SCS 实例。 启动 SAP SWPM 安装工具,然后导航到“产品”>“DBMS”>“安装”>“应用程序服务器 ABAP”(或“Java”)>“高可用性系统”>“ASCS/SCS 实例”>“附加群集节点”。
更新 SAP ASCS/SCS 实例配置文件
更新 SAP ASCS/SCS 实例配置文件 <SID>ASCS/SCS<Nr><Host> 中的参数。
参数名称 | 参数值 |
---|---|
gw/netstat_once | 0 |
enque/encni/set_so_keepalive | true |
service/ha_check_node | 1 |
仅当使用 ENSA1 时才需要参数 enque/encni/set_so_keepalive
。
重启 SAP ASCS/SCS 实例。
按照在 SAP ASCS/SCS 实例的群集节点上设置注册表项的说明,在两个 SAP ASCS/SCS 群集节点上设置 KeepAlive
参数。
安装 DBMS 实例和 SAP 应用程序服务器
安装以下组件以完成 SAP 安装:
- 一个 DBMS 实例
- 一个主 SAP 应用程序服务器
- 一个附加的 SAP 应用程序服务器
测试 SAP ASCS/SCS 实例故障转移
在群集节点 A 与群集节点 B 之间来回故障转移
在此测试方案中,我们将群集节点 sapascs1 称为节点 A,将群集节点 sapascs2 称为节点 B。
验证群集资源是否在节点 A 上运行。
重启群集节点 A。SAP 群集资源将移到群集节点 B。
锁定条目测试
1. 验证 SAP 排队复制服务器 (ERS) 是否处于活动状态
2. 登录到 SAP 系统,执行事务 SU01,然后在更改模式下打开一个用户 ID。 这会生成 SAP 锁定条目。
3. 登录到 SAP 系统后,通过导航到事务 ST12 来显示该锁定条目。
4. 将 ASCS 资源从群集节点 A 故障转移到群集节点 B。
5. 验证在执行 SAP ASCS/SCS 群集资源故障转移之前生成的锁定条目是否已保留。
有关详细信息,请参阅 Troubleshooting for Enqueue Failover in ASCS with ERS(排查 ERS 中 ASCS 的排队故障转移问题)
可选配置
下图显示了 Azure VM 上运行 Microsoft Windows 故障转移群集以减少 VM 总数的多个 SAP 实例。
这可以是 SAP ASCS/SCS 群集上的本地 SAP 应用程序服务器,也可以是 Microsoft SQL Server Always On 节点上的 SAP ASCS/SCS 群集角色。
重要
不支持在 SQL Server Always On 节点上安装本地 SAP 应用程序服务器。
SAP ASCS/SCS 和 Microsoft SQL Server 数据库都是单一故障点 (SPOF)。 为了在 Windows 环境中保护这些 SPOF,使用了 Azure NetApp 文件 SMB。
虽然 SAP ASCS/SCS 的资源消耗较小,但建议将 SQL Server 或 SAP 应用程序服务器的内存配置减少 2 GB。
使用 NetApp 文件 SMB 的 WSFC 节点上的 SAP 应用程序服务器
注意
图为使用额外的本地磁盘。 对于不会在 OS 驱动器 (C:) 上安装应用程序软件的客户,这是可选项
使用 Azure NetApp 文件 SMB 的 SQL Server Always On 节点上的 SAP ASCS/SCS
重要
不支持将 Azure NetApp 文件 SMB 用于任何 SQL Server 卷。
注意
图为使用额外的本地磁盘。 对于不会在 OS 驱动器 (C:) 上安装应用程序软件的客户,这是可选项
使用 Windows DFS-N 支持为基于 SMB 的文件共享创建灵活的 SAPMNT 共享
使用 DFS-N,可以将单个 sapmnt 卷用于部署在同一 Azure 区域和订阅中的 SAP 系统。 使用 Windows DFS-N 支持为基于 SMB 的文件共享创建灵活的 SAPMNT 共享展示了如何进行设置。
后续步骤
- 适用于 SAP 的 Azure 虚拟机规划和实施
- 适用于 SAP 的 Azure 虚拟机部署
- 适用于 SAP 的 Azure 虚拟机 DBMS 部署
- 若要了解如何建立 Azure 上的 SAP HANA(大型实例)高可用性并规划其
- 灾难恢复,请参阅 Azure 上的 SAP HANA(大型实例)的高可用性和灾难恢复。
- 若要了解如何在 Azure VM 上建立 SAP HANA 高可用性以及规划灾难恢复,请参阅 Azure 虚拟机 (VM) 上的 SAP HANA 高可用性