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

在 Azure 上的 Windows 中运行 SAP NetWeaver

ExpressRoute
Azure 上的 SAP HANA 大型实例
虚拟机
虚拟网络
Azure NetApp 文件

本指南介绍了在 Azure 上的 Windows 环境中运行 SAP NetWeaver 并实现高可用性的一套成熟做法。 数据库是 AnyDB,除了 SAP HANA 之外,术语 SAP 还指任何受支持的数据库管理系统 (DBMS)。

体系结构

下图显示了可用性集方案中 Windows 环境中的 SAP NetWeaver。 此体系结构将 Azure NetApp 文件用于共享文件层,并使用邻近放置组来提高性能。

体系结构示意图显示 Windows 上 SAP NetWeaver 的解决方案。数据库是具有可用性集的 Azure VM 上的 AnyDB。

下载此体系结构的 Visio 文件

下图显示 Windows 环境中的 SAP NetWeaver。 可用性区域用于提高复原能力。

体系结构示意图显示 Windows 上 SAP NetWeaver 的解决方案。数据库是具有可用性区域的 Azure VM 上的 AnyDB。

下载此体系结构的 Visio 文件

注意

若要部署此体系结构,需要 SAP 产品和其他非 Microsoft 技术的相应许可。

本指南描述了一个生产系统。 此系统是使用可根据组织需求更改的特定虚拟机 (VM) 大小来部署的。 此系统可以简化为单个 VM。 此指南中,网络布局被大大简化,以展示体系结构原理。 其目的并非描述完整的企业网络。

工作流

虚拟网络。 Azure 虚拟网络服务以增强的安全性将 Azure 资源相互连接起来。 在此体系结构中,虚拟网络通过部署在中心辐射型拓扑中心的虚拟专用网络 (VPN) 网关连接到本地环境。 分支是用于 SAP 应用程序和数据库层的虚拟网络。

虚拟网络对等互连。 此体系结构使用中心辐射型网络拓扑,其中具有多个对等互连在一起的虚拟网络。 此拓扑为部署在 Azure 上的服务提供网络分段和隔离。 对等互连通过 Microsoft 主干网络支持对等互的连虚拟网络之间进行透明连接。 若部署在单个区域中,则不会产生性能损失。 针对以下每个层级将虚拟网络分为单独的子网:应用程序 (SAP NetWeaver)、数据库和共享服务(如 Jumpbox 和 Windows Server Active Directory)。

VM。 此体系结构对应用层和数据库层使用虚拟机。这些层按以下方式划分:

  • SAP NetWeaver。 应用层使用 Windows VM 运行 SAP Central Services 和 SAP 应用程序服务器。 运行 Central Services 的 VM 配置为 Windows Server 故障转移群集,以实现高可用性。 Azure 文件共享或 Azure 共享磁盘均支持这些 VM。

  • AnyDB。 数据库层将 AnyDB 作为数据库运行,可以是 Microsoft SQL Server、Oracle 或 IBM Db2。

  • Jumpbox/堡垒主机。 管理员使用称为 Jumpbox 或堡垒主机的改进安全性 VM 连接到其他 VM。 它通常是共享服务(例如域控制器和备份服务)的一部分。 如果安全外壳协议 (SSH) 和远程桌面协议 (RDP) 是用于服务器管理的唯一服务,则 Azure Bastion 主机是一种替代方案。 如果使用其他管理工具,如 SQL Server Management Studio 或 SAP 前端,请使用传统的自部署跳转盒。

  • Windows Server Active Directory 域控制器。 域控制器用于域中所有 VM 和用户的标识管理。

专用 DNS 服务。Azure 专用 DNS 为虚拟网络提供可靠且安全的 DNS 服务。 Azure 专用 DNS 可管理并解析虚拟网络中的域名,使你无需配置自定义 DNS 解决方案。

负载均衡器。 负载均衡器用于将流量分发到应用层子网中的 VM。 若要实现 SAP 应用程序高可用性,请使用内置的 SAP Web 调度程序、Azure 负载均衡器或网络设备。 你的选择取决于流量类型(如 HTTP 或 SAP GUI)或所需的网络服务(如安全套接字层 (SSL) 终止)。 在 SAP 区域部署中加入负载均衡器时,请确保选择标准负载均衡器,因为基本 SKU 均衡器不附带区域冗余。

有关面向 Internet 的入站/出站设计示例,请参阅 Azure 上 SAP 的入站和出站 Internet 连接

标准负载均衡器支持多个前端虚拟 IP。 此支持非常适合涉及以下组件的群集实现:

  • 高级商业应用程序编程 (ABAP) SAP Central Service (ASCS)
  • 评估收货结算 (ERS)

该服务可以共享负载均衡器来简化解决方案。

标准 SKU 还支持多安全标识符(多 SID)SAP 群集。 即,Windows 上的多个 SAP 系统可以共享通用的高可用性基础结构,以节省成本。 评估成本节省,避免在一个群集中放置过多系统。 Azure 支持每个群集不超过 5 个 SID。

应用程序网关。 Azure 应用程序网关是一种 Web 流量负载均衡器,可用于管理 Web 应用的流量。 传统负载均衡器在传输层(OSI 第 4 层 - TCP 和 UDP)运行。 它们根据源 IP 地址和端口将流量路由到目标 IP 地址和端口。 使用应用程序网关时,可以根据 HTTP 请求的其他属性(例如 URI 路径或主机标头)进行路由决策。 这种类型的路由称为应用程序层(OSI 层 7)负载均衡。

可用性集。 用于所有池和群集(Web 调度程序、SAP 应用程序服务器、Central Services 和数据库)的 VM 都分组到单独的可用性集中。 每个角色至少预配两个 VM。 可用性集可提高应用程序和 VM 的可用性。 为此,它们通过将角色实例分发到多个主机来管理主机系统故障或维护事件。 另一种方法是使用可用性区域改进工作负载可用性,如本文后面部分所述。

区域冗余网关。 可以跨区域部署 Azure ExpressRoute 或 VPN 网关,以防止区域故障。 若要了解区域部署和区域冗余部署之间的区别,请参阅区域冗余虚拟网络网关。 使用的 IP 地址需要是标准 SKU 才能进行网关的区域部署。

邻近放置组。 此逻辑组对可用性集或虚拟机规模集中部署的 VM 施加约束。 邻近放置组倾向于归置,使 VM 位于同一数据中心,可最大程度地减少应用程序延迟。

网络安全组。 若要限制虚拟网络中的传入、传出和子网内部流量,请创建网络安全组

应用程序安全组。 若要定义以应用程序为中心的细致缜密且基于工作负载的网络安全策略,请使用应用程序安全组而不是显式 IP 地址。 应用程序安全组支持按名称对 VM 进行分组,并通过筛选受信任网络段中的流量来帮助保护应用程序。

网关。 网关的作用是连接不同的网络,将本地网络扩展到 Azure 虚拟网络。 建议使用 ExpressRoute 创建不通过公共 Internet 的专用连接,但也可以使用站点到站点连接。 若要减少延迟或增加吞吐量,请考虑使用 ExpressRoute Global ReachExpressRoute FastPath,如本文后面部分所述。

Azure 存储。 存储以虚拟硬盘的形式为VM 提供数据持久性。 建议使用 Azure 托管磁盘

建议

此体系结构描述一个小型的生产级部署。 根据业务需求,部署将有所不同,因此请考虑将这些建议作为起点。

VM

在应用程序服务器池和群集中,根据要求调整 VM 数目。 有关在 VM 上运行 SAP NetWeaver 的详细信息,请参阅适用于 SAP NetWeaver 的 Azure 虚拟机规划和实施

有关 SAP 支持的 Azure VM 类型和吞吐量指标 (SAPS) 的详细信息,请参阅 SAP 说明 1928533。 要访问 SAP 说明,需要具有 SAP 服务市场帐户。

SAP Web 调度程序

Web 调度程序组件用来实现 SAP 应用程序服务器之间 SAP 流量的负载均衡。 若要实现 Web 调度程序组件的高可用性,可使用负载均衡器实现 Web Dispatcher 实例的故障转移群集或并行 Web Dispatcher 设置。 有关该解决方案的详细说明,请参阅 SAP Web 调度程序的高可用性

应用程序服务器池

SAP SMLG 事务通常用于管理 ABAP 应用程序服务器的登录组,以及对登录用户进行负载均衡。 用于批处理服务器组的 SM61 和用于远程函数调用 (RFC) 组的 RZ12 等其他事务也会对登录用户进行负载均衡。 这些事务使用 SAP Central Services 消息服务器内的负载均衡功能,在 SAP GUI 和 RFC 流量的 SAP 应用程序服务器池之间分发传入会话或工作负载。

SAP Central Services 群集

此体系结构在应用层中的 VM 上运行 Central Services。 在部署到单个 VM 时,中央服务是潜在的单一故障点 (SPOF)。 若要实现高可用性解决方案,请使用文件共享群集或共享磁盘群集。

对于高度可用的文件共享,有若干选项可选。 建议将 Azure 文件存储共享用作完全托管的云原生服务器消息块 (SMB) 或网络文件系统 (NFS) 共享。 Azure 文件存储的替代方案是 Azure NetApp 文件,后者提供高性能的 NFS 和 SMB 共享。

还可以使用具有 Azure 文件存储的 Windows 服务器故障转移群集在 Central Services 实例上实现高可用性文件共享。 此解决方案还通过将 Azure 共享磁盘用作群集共享卷来支持具有共享磁盘的 Windows 群集。 如果希望使用共享磁盘,建议使用 Azure 共享磁盘为 SAP Central Services 群集设置 Windows Server 故障转移群集

还有合作伙伴产品,例如 SIOS Technology Corp 的 SIOS DataKeeper Cluster Edition。此加载项将复制附加到 ASCS 群集节点的独立磁盘中的内容,然后将磁盘作为群集共享卷呈现给群集软件。

使用群集网络分区时,群集软件使用仲裁投票选择一段网络及其相关服务来充当碎片化群集的大脑。 Windows 提供了许多仲裁模型。 此解决方案使用云见证,因为它比计算节点见证更简单,并且提供更高的可用性。 Azure 文件共享见证是提供群集仲裁投票的另一种替代方案。

在 Azure 部署中,应用程序服务器通过使用 ASCS 或 ERS 服务的虚拟主机名连接到高度可用的 Central Services。 这些主机名分配给负载均衡器的群集前端 IP 配置。 负载均衡器支持多个前端 IP,因此 ASCS 和 ERS 虚拟 IP (VIP) 可同时绑定到一个负载均衡器。

可用性集

可用性集将服务器分发到各种物理基础结构,并更新组以提高服务可用性。 若要满足服务级别协议 (SLA),请将执行相同角色的 VM 放入同个一可用性集中。 这样做有助于防范由于 Azure 基础结构维护或硬件故障而造成的计划内和计划外停机。 要满足更高的 SLA,每个可用性集需要有两个或以上 VM。

一个集内的所有 VM 必须执行相同的角色。 不要在同一个可用性集中混合执行不同角色的服务器。 例如,不要将 ASCS 节点放到应用程序服务器所在的同一可用性集中。

若使用邻近放置组,可以在 Azure 可用性区域中部署 Azure 可用性集。

网络

此体系结构使用中心辐射型拓扑。 中心虚拟网络充当到本地网络的连接的中心点。 分支是与中心对等互连的虚拟网络,用于隔离 SAP 工作负载。 流量通过网关连接在本地数据中心与中心之间流动。

网络接口卡 (NIC)

NIC 在虚拟网络上启用 VM 之间的所有通信。 传统的本地 SAP 部署为每个虚拟机实现多个 NIC,以便将管理流量与业务流量分开。

在 Azure 上,虚拟网络是软件定义的网络,它通过同一网络结构发送所有流量。 因此,出于性能原因,无需使用多个 NIC。 但是,若组织需要分离流量,则可为每个 VM 部署多个 NIC,将每个 NIC 连接到不同的子网。 然后,可以使用网络安全组强制实施不同的访问控制策略。

Azure NIC 支持多个 IP。 此支持符合 SAP 建议的做法,即使用虚拟主机名进行安装。 有关完整大纲,请参阅 SAP 说明 962955。 要访问 SAP 说明,需要具有 SAP 服务市场帐户。

子网和网络安全组

此体系结构将虚拟网络地址空间划分为子网。 你可以将每个子网与定义子网访问策略的网络安全组相关联。 将应用程序服务器放在单独的子网上。 这样一来,就可以管理子网安全策略而不是单个服务器,从而更轻松地保护服务器。

网络安全组与子网关联时,适用于子网中的所有服务器,并提供对服务器的精细控制。 使用 Azure 门户PowerShellAzure CLI 设置网络安全组。

ExpressRoute Global Reach

如果网络环境中包含两个或更多 ExpressRoute 连接,ExpressRoute Global Reach 可帮助减少网络跃点和延迟。 此技术是在两个或更多 ExpressRoute 连接之间设置的边界网关协议 BGP 路由对等互连,用于桥接两个 ExpressRoute 路由域。 当网络流量遍历多个 ExpressRoute 连接时,Global Reach 可减少延迟。 它目前仅适用于 ExpressRoute 线路上的专用对等互连。

目前,Global Reach 中没有可以更改的网络访问控制列表或其他属性。 因此,给定 ExpressRoute 线路(从本地和 Azure)获知的所有路由都通过线路对等互连播发到其他 ExpressRoute 线路。 建议在本地建立网络流量筛选,以限制对资源的访问。

ExpressRoute FastPath

FastPath 也称为 Microsoft Edge Exchange (MSEE) v2,在 Azure 网络的入口点实现 MSEE。 FastPath 可减少大多数数据包的网络跃点。

对于与 Azure 建立的所有新 ExpressRoute 连接,FastPath 是默认配置。 对于现有 ExpressRoute 线路,请联系 Azure 支持人员激活 FastPath。

FastPath 不支持虚拟网络对等互连。 如果有其他虚拟网络与连接到 ExpressRoute 的虚拟网络对等互连,则从本地网络发往其他分支虚拟网络的网络流量将发送到虚拟网络网关。 解决方法是将所有虚拟网络直接连接到 ExpressRoute 线路。

负载均衡器

SAP Web 调度程序处理对发往 SAP 应用程序服务器池的 HTTP(S) 流量的负载均衡。 此软件负载均衡器提供了应用层服务(在 ISO 网络模型中称为第 7 层),这些服务可以执行 SSL 终止和其他卸载功能。

负载均衡器是一种网络传输层服务(第 4 层),它使用来自数据流的 5 元组哈希来均衡流量。 该哈希基于源 IP、源端口、目标 IP、目标端口、和协议类型。 在 Azure 上的 SAP 部署中,负载均衡器用于在群集设置中将流量定向到主服务实例或正常节点(如果有故障)。

无论哪种 SAP 方案,均建议使用标准负载均衡器。 如果后端池中的 VM 需要公共出站连接,或者用于 Azure 区域部署中,则标准负载均衡器需要其他配置,因为它们默认是安全的。 它们不允许出站连接,除非进行显式配置。

对于通过 DIAG 协议或 RFC 连接 SAP 服务器的 SAP GUI 客户端发出的流量,Central Services 消息服务器会通过 SAP 应用程序服务器登录组进行负载均衡。 此类设置不需要另一个负载均衡器。

存储

一些组织对应用程序服务器使用标准存储。 不支持使用标准托管磁盘。 请参阅 SAP 说明 1928533。 要访问 SAP 说明,需要具有 SAP 服务市场帐户。 无论在什么情况下,均建议使用高级 Azure 托管磁盘。 最新更新的 SAP 说明 2015553 表明,对于几个特定用例,不能使用标准 HDD 存储和标准 SSD 存储。

应用程序服务器不托管业务数据。 因此,你也可以使用较小的 P4 和 P6 高级磁盘来帮助最大限度地降低成本。 如果安装了中央 SAP 堆栈,这样做还可以受益于单实例 VM SLA

对于高可用性方案,可以使用 Azure 文件共享Azure 共享磁盘Azure 高级 SSD 托管磁盘和 Azure 超级磁盘存储可用于 Azure 共享磁盘,高级 SSD 可用于 Azure 文件共享。

云见证也使用存储来维护远程 Azure 区域(远离群集所在的主要区域)中设备的仲裁。

对于备份数据存储,建议使用 Azure 冷访问层和存档访问层。 这些存储层的性价比较高,适合存储不经常访问的长久留存数据。

超级磁盘存储极大地减少了磁盘延迟。 因此,它有利于 SAP 数据库服务器等性能关键型应用程序。 若要比较 Azure 中的块存储选项,请参阅 Azure 托管磁盘类型

若要获得高度可用、高性能的共享数据存储,请使用 Azure NetApp 文件。 使用 Oracle 以及托管应用程序数据时,此技术对于数据库层特别有用。

性能注意事项

SAP 应用程序服务器经常与数据库服务器通信。 对于在数据库平台上运行的性能关键型应用程序,请为日志卷启用写入加速器。 这样做可以减少日志写入延迟。 写入加速器可用于 M 系列 VM。 若要优化服务器间的通信,请使用加速网络。 加速网络仅适用于支持的 VM 系列,包括 D/DSv2、D/DSv3、E/ESv3、F/FS、FSv2 和 Ms/Mms。 有关详细信息,请参阅通过加速网络最大限度地提高 VM 性能

若要实现较高的 IOPS 和磁盘吞吐量,可向 Azure 存储布局应用优化存储卷性能时采用的常见做法。 例如,可以将多个磁盘放在一起以创建条带化磁盘卷,从而提高 I/O 性能。 针对不经常更改的存储内容启用读取缓存可增强数据检索的速度。

超级磁盘存储现在可用于 I/O 密集型应用程序。 如果超级磁盘可用,建议使用超级磁盘,而不是写入加速器高级存储。 你可以单独增加或减少性能指标(如 IOPS 和 MB/s),而无需重启。

有关优化 SQL Server 上 SAP 工作负载的 Azure 存储的出色建议,请参阅 SAP NetWeaver 的 Azure 虚拟机规划和实施指南

不建议在 SAP 应用程序堆栈的应用程序和数据库层之间放置任何网络虚拟设备 (NVA)。 这种做法会为数据包引入大量处理时间,从而导致无法接受的应用程序性能。

邻近放置组

某些 SAP 应用程序需要频繁与数据库通信。 应用程序和数据库层的物理邻近度会影响网络延迟,从而对应用程序性能产生不利影响。

若要优化网络延迟,可以使用邻近放置组,对部署在可用性集中的 VM 设置逻辑约束。 邻近放置组更倾向于归置和性能,而不是可伸缩性、可用性或成本。 邻近放置组可以极大地改善大多数 SAP 应用程序的用户体验。 有关 AzureCAT SAP 部署团队在 GitHub 上提供的脚本,请参阅脚本

可用性区域

可用性区域是一种跨区域部署 VM 的方法,这些区域是特定 Azure 区域中分离的地理位置。 其用途是增强服务可用性。 但是跨区域部署资源可能会增加延迟,因此请牢记性能注意事项。

管理员需要在目标区域的所有区域之间明确网络延迟配置文件,然后才能确定资源放置,从而实现区域间的最小延迟。 若要创建此配置文件,请在每个区域中部署小型 VM 进行测试。 建议用于测试的工具包括 PsPingIperf。 测试完成后,请删除用于测试的 VM。 请考虑使用 Azure 区域间延迟检查工具作为替代方案。

可伸缩性注意事项

对于 SAP 应用层,Azure 提供多种 VM 大小供纵向扩展和横向扩展。有关详尽列表,请参阅 SAP 说明 1928533 - Azure 上的 SAP 应用程序:支持的产品和 Azure VM 类型。 要访问 SAP 说明,需要具有 SAP 服务市场帐户。

可以纵向扩展或缩减 SAP 应用程序服务器和 Central Services 群集。 还可以通过更改使用的实例数来对其进行横向扩展或缩小。 AnyDB 数据库可纵向扩展和缩减,但不会横向扩展。AnyDB 的 SAP 数据库容器不支持分片。

可用性注意事项

资源冗余是高可用性基础结构解决方案中的常见话题。 对于 SLA 不太苛刻的企业而言,带高级磁盘的单一实例 Azure VM 可以保障运行时间 SLA。 在可用性集中或跨可用性区域部署冗余资源时,可提高服务可用性。

在这种 SAP 应用程序分布式安装中,将会复制基本安装以实现高可用性。 对于体系结构的每个层,高可用性设计各不相同。

应用程序服务器层中的 Web Dispatcher

Web 调度程序组件用作 SAP 应用程序服务器之间的 SAP 流量的负载均衡器。 为了实现 SAP Web Dispatcher 的高可用性,负载均衡器实现了故障转移群集或并行 Web Dispatcher 设置。

对于面向 Internet 的通信,建议在外围网络(也称为 DMZ)中使用独立解决方案来解决安全问题。

ASCS 上的嵌入式 Web 调度程序是一种特殊选项。 如果使用此选项,请考虑根据 ASCS 上的额外工作负荷来调整大小。

应用程序服务器层中的 Central Services

Central Services 的高可用性是通过 Windows Server 故障转移群集实现的。 在 Azure 上部署故障转移群集的群集存储时,可以通过两种方式对其进行配置:作为群集共享磁盘或作为群集文件共享。

标准负载均衡器的引入让你可以启用高可用性端口。 这样做可以避免为许多 SAP 端口配置负载均衡规则。 此外,无论是在本地还是 Azure 上设置负载均衡器时,都要启用直接服务器返回功能(也称为浮动 IP 或 DSR)。 这样做为服务器响应绕过负载均衡器提供了一种方法。 这种直接连接避免了负载均衡器成为数据传输路径上的瓶颈。 对于 ASCS 和数据库群集,建议启用 DSR。

应用程序服务器层中的应用程序服务

SAP 应用程序服务器的高可用性是通过对应用程序服务器池中的流量进行负载均衡来实现的。

数据库层

在此体系结构中,源数据库在 AnyDB 上运行,即一种 DBMS,例如 SQL Server、SAP ASE、IBM Db2 或 Oracle。 数据库层的本机复制功能在复制的节点之间提供手动或自动故障转移。

有关特定数据库系统的实施方法详细信息,请参阅适用于 SAP NetWeaver 的 Azure 虚拟机 DBMS 部署

跨可用性区域部署的 VM

可用性区域是一种逻辑构造,旨在提高工作负载可用性,保护应用程序服务和 VM 免受数据中心中断的影响。 单个区域中的 VM 被视为位于单个更新或容错域中。 选择区域部署后,同一区域中的 VM 会以最佳方式分发到容错域和升级域。

在支持多区域的 Azure 区域中,至少有三个区域可用。 但是,无法保证这些区域中的数据中心之间的最大距离。 若要跨区域部署多层 SAP 系统,你需要了解区域内和目标区域之间的网络延迟。 此外,还需要知道部署的应用程序对网络延迟的敏感程度。

当你决定跨可用性区域部署资源时,请考虑以下注意事项

  • 同一个区域中虚拟机之间的延迟
  • 所选区域中 VM 之间的延迟
  • 所选区域中相同 Azure 服务(VM 类型)的可用性

注意

可用性区域支持区域内高可用性,但对灾难恢复 (DR) 无效。 区域之间的距离太短。 一般情况下,DR 站点应距离主要区域至少 100 英里。

活动/非活动部署示例

在此示例部署中,主动/被动状态是指区域中的应用程序服务状态。 在应用程序层中,SAP 系统的所有四个活动应用程序服务器都位于区域 1 中。 另一组四台被动应用程序服务器是在区域 2 中构建的,还处于关闭状态。 仅当需要时才会激活。

Central Services 和数据库服务的双节点群集跨两个区域延伸。 如果区域 1 失败,Central Services 和数据库服务将在区域 2 中运行。 区域 2 中的被动应用程序服务器已激活。 由于此 SAP 系统的所有组件现在并置在同一区域中,因此网络延迟最小。

主动/主动部署示例

主动/主动部署中,有两组应用程序服务器是跨两个区域构建的。 在每个区域中,每组服务器中有两台应用程序服务器处于非活动状态,因为已关闭。 因此,在正常操作中,这两个区域中都有活动应用程序服务器。

Central Services 和数据库服务在区域 1 中运行。 由于区域之间的物理距离,区域 2 中的应用程序服务器在连接到 Central Services 和数据库服务时网络延迟可能延长。

如果区域 1 脱机,Central Services 和数据库服务将故障转移到区域 2。 可将休眠的应用程序服务器联机,以提供完整容量来处理应用程序。

DR 注意事项

SAP 应用程序堆栈中的每个层都使用不同的 DR 策略。

应用程序服务器层

SAP 应用程序服务器不包含业务数据。 在 Azure 中,简单的 DR 策略是在次要区域中创建 SAP 应用程序服务器,然后关闭这些服务器。 如果在主要应用程序服务器上进行任何配置更改或内核更新,需要将相同的更改应用到次要区域中的 VM。 例如,需要将 SAP 内核可执行文件复制到 DR VM。

要将应用程序服务器自动复制到次要区域,建议使用 Azure Site Recovery。 还可以使用 Site Recovery 为多层 SAP NetWeaver 应用程序部署设置 DR。

Central Services

SAP 应用程序堆栈的此组件不会保存业务数据。 请使用复制进行跨区域的 DR 保护。 具体而言,找到包含 /sapmnt 目录和其他内容的 ASCS 群集的 SMB Azure 文件共享或 Azure 共享磁盘。 在 DR 区域中的相应 SMB Azure 文件共享或磁盘上复制该数据。 如果使用 SIOS,则可以使用 Site Recovery 通过 SIOS DataKeeper 磁盘复制 Central Services 群集。

如果你要在不使用任何工具的情况下创建自己的复制过程,可以在 DR 区域中生成 VM 来复制 Central Services 角色和内容。 在主要 Central Services 节点中,唯一要同步的内容是 /sapmnt 共享。 如果主要 Central Services 服务器上发生配置更改或内核更新,则需要在 DR 区域中的 VM 上重复更改。 有关此复制方法的生成、复制和测试故障转移过程的详细信息,请参阅 SAP NetWeaver:生成基于 Hyper-V 和 Microsoft Azure 的灾难恢复解决方案中的“4.3 SAP SPOF 层 (ASCS)”。

数据库层

进行 DR 时,最好使用数据库的集成复制技术。 例如,对于 SQL Server,建议使用 Always On 可用性组在远程区域中建立副本,并使用手动故障转移异步复制事务。 异步复制可避免影响到主站点中交互式工作负荷的性能。 使用手动故障转移时,可以评估 DR 的影响,并确定从 DR 站点进行操作是否合理。

如果将 Azure NetApp 文件用于数据库存储,则可以使用跨区域复制将数据复制到次要区域。 此功能目前处于预览阶段,因此请评估它是否满足你对生产工作负载的要求。

共享服务的 DR

许多 IT 服务(如管理跳转盒、基于云的目录服务、备份服务和监视服务)由已部署的云资产共享。 使用服务提供的任何方式将共享服务复制到 DR 区域。

使用 Site Recovery 实现自动化 DR

若要使用 Site Recovery 自动构建原始配置的完整复制生产站点,需要运行自定义的部署脚本。 例如,Site Recovery 首先在可用性集中部署 VM。 然后运行自定义脚本,将已定义后端池的现有(预生成)负载均衡器附加到故障转移 VM 的 NIC。 有关自定义 Site Recovery 自动化 Runbook 脚本的 GitHub 示例,请参阅 Azure Site Recovery Runbook

注意

如果区域灾难导致一个区域中的许多 Azure 客户发生大规模故障转移事件,则无法保证目标区域的资源容量。 与所有 Azure 服务一样,Site Recovery 会继续改进其特性和功能。 有关 Azure VM 从一个 Azure 区域到另一个区域的 DR,请参阅最新的支持矩阵

管理和操作注意事项

为让系统在生产环境中运行,请考虑以下几点。

备份

数据库属于关键工作负载,要求较低的恢复点目标 (RPO) 和长期保留。

  • 对于 SQL Server 上的 SAP,一种方法是使用 Azure 备份对 VM 上运行的 SQL Server 数据库进行备份。 另一种方法是使用 Azure 文件存储快照备份 SQL Server 数据库文件。

  • 对于 Oracle/Windows 上的 SAP,请参阅适用于 SAP 的 Azure VM DBMS 部署中的“备份/还原”部分。

  • 对于其他数据库,请参阅数据库提供商的备份建议。 如果数据库支持 Windows 卷影复制服务 (VSS),则使用 VSS 快照进行应用程序一致备份。

身份管理

在所有级别上使用集中式标识管理系统来控制对资源的访问:

使用 SAP 提供的服务支持在应用程序内部进行访问。 或者使用 OAuth 2.0 和 Azure AD

监视

Azure Monitor 提供用于收集和分析遥测数据的高级工具。 这些工具有助于最大程度地提高云端和本地资源与应用程序的性能和可用性。 Monitor 现在包括 Log Analytics 和 Application Insights。 你可以使用 Monitor 监视基础结构和应用程序异常并提醒管理员以及自动对预定义的条件作出反应。

若要针对 SAP 基础结构的资源和服务性能提供基于 SAP 的监视,可使用 Azure SAP 增强型监视扩展。 此扩展会将 Azure 监视统计信息馈送到 SAP 应用程序,以执行操作系统监视和 DBA Cockpit 功能。 运行 Azure 上的 SAP 需要 SAP 增强型监视。 有关详细信息,请参阅 SAP 说明 2191498“Azure 上的 Linux 版 SAP:增强型监视”。若要访问 SAP 说明,需要有 SA 服务市场帐户。

Azure Monitor for SAP Solutions 是 SAP NetWeaver 的 Azure 本机端到端监视解决方案的未来方向。 此解决方案目前处于预览阶段,仅在有限的一组区域中可用。 仔细评估它是否符合你的要求。

Azure Monitor for SAP Solutions 提供了一组全面的初始指标和遥测用于监视。 指标定义作为 SQL 查询存储在 JSON 中。 你可以根据需要进行更改。 有关初始指标集,请参阅 GitHub

安全注意事项

SAP 具有自身的用户管理引擎 (UME),可在 SAP 应用程序和数据库中控制基于角色的访问和授权。 有关详细的应用程序安全指南,请参阅 SAP NetWeaver 安全指南

实现更高网络安全性,请考虑使用外围网络。外围网络使用 NVA 在 Web 调度程序子网的前面创建防火墙。

你可以部署 NVA 来筛选虚拟网络之间的流量,但不要将其放置在 SAP 应用程序和数据库之间。 此外,请检查子网上配置的路由规则,避免将流量定向到单实例 NVA。 这样做可能会导致维护停机时间和网络或群集节点故障。

在基础结构安全性方面,传输中数据和静态数据会加密。 有关网络安全性的信息,请参阅 SAP NetWeaver 的 Azure 虚拟机规划和实施指南中的“安全建议”部分。 此文章还指定了为使应用程序能够通信,而必须在防火墙中打开的网络端口。

你可以使用 Azure 磁盘加密来加密 Windows VM 磁盘。 该服务使用 Windows 的 BitLocker 功能,为操作系统和数据磁盘提供卷加密。 该解决方案还可与 Azure Key Vault 配合工作,帮助管理 Key Vault 订阅中的磁盘加密密钥和机密。 VM 磁盘上的数据将在 Azure 存储中静态加密。

对于静态数据加密,SQL Server 透明数据加密 (TDE) 可以加密 SQL Server、Azure SQL 数据库和 Azure Synapse Analytics 数据文件。 有关详细信息,请参阅适用于 SAP NetWeaver 的 SQL Server Azure 虚拟机 DBMS 部署

若要监视防火墙内外的威胁,请考虑部署 Microsoft Sentinel(预览版)。 此解决方案为部署在 Azure、其他云或本地的 SAP 系统提供持续的威胁检测和分析。 有关部署指南,请参阅在 Microsoft Sentinel 中部署适用于 SAP 的威胁监视

与往常一样,管理安全更新和补丁,以保护信息资产。 考虑为此任务使用端到端自动化方法

成本注意事项

使用 Azure 定价计算器估算成本。

有关详细信息,请参阅 Microsoft Azure 架构良好的框架中的“成本”部分。

如果工作负载需要更多内存和更少 CPU,请考虑使用受约束的 vCPU VM 大小之一来降低每个 vCPU 的软件许可成本。

VM

此体系结构对应用层和数据库层使用 VM。 SAP NetWeaver 层使用 Windows VM 来运行 SAP 服务和应用程序。 数据库层将 AnyDB 作为数据库运行,例如 SQL Server、Oracle 或 IBM DB2。 VM 还用作管理跳转框。

VM 有多种支付选项:

  • 对于没有可预测的完成时间或资源消耗的工作负载,请考虑即用即付选项。

  • 如果可以承诺在一年或三年内使用 VM,请考虑使用 Azure 预留。 VM 预留可以显著降低成本。 你可能只需支付即用即付服务成本的 72%。

使用 Azure 现成 VM 运行可能中断且不需要在预定的时间范围或 SLA 内完成的工作负载。 Azure 会在有可用容量时部署现成 VM,在需要恢复容量时将其逐出。 与现成 VM 关联的成本低于其他 VM 的成本。 请考虑为以下工作负载使用现成 VM:

  • 高性能计算方案、批处理作业或视觉渲染应用程序
  • 测试环境,包括持续集成和持续交付工作负载
  • 大规模无状态应用程序

如果需要更好地控制维护事件或硬件隔离,以提高性能或合规性,请考虑将 VM 部署在专用主机上。

VM 和可用性集

用于所有池和群集(Web 调度程序、SAP 应用程序服务器、Central Services 和数据库)的 VM 都分组到单独的可用性集中。 可用性集不需要任何费用。 你只需为创建的每个 VM 实例付费。

如果跨可用性区域部署工作负载,则不需要可用性集。

负载均衡器

在此方案中,负载均衡器用于将流量分发到应用层子网中的 VM。

你只需为配置的负载均衡和出站规则数以及通过负载均衡器处理的数据付费。 入站网络地址转换 (NAT) 规则是免费的。 如果未配置规则,则标准负载均衡器不按小时收费。

ExpressRoute

在此体系结构中,ExpressRoute 是用于在本地网络和 Azure 虚拟网络之间创建专用连接的网络服务。

所有入站数据传输都是免费的。 所有出站数据传输都根据预先确定的费率收费。 有关详细信息,请参阅 Azure ExpressRoute 定价

社区

社区可以解答问题,并帮助设置成功的部署。 考虑这些资源:

作者

本文由 Microsoft 维护, 最初由以下参与者撰写。

主要作者:

若要查看非公开领英个人资料,请登录领英。

后续步骤

有关使用某些与此体系结构相同技术的 SAP 工作负载的详细信息和示例,请参阅以下文章: