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

使用 Oracle 数据库在 Azure 上部署 SAP

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

此参考体系结构演示了在 Azure 中使用 Oracle Database 运行高可用性 SAP NetWeaver 的一套成熟做法。 该体系结构原则在于 OS 不可知,但除非另有说明,否则它假定 OS 为 Linux。

第一个关系图显示了 Azure 中 Oracle 上的 SAP 参考体系结构。 该体系结构使用可用性集。

Azure 中 Oracle 上生产 SAP 系统的体系结构图。

下载此体系结构和相关体系结构的Visio 文件

备注

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

组件

此参考体系结构介绍在 Azure 中的 Oracle Database 上运行的典型 SAP 生产系统,该系统采用高可用性部署以最大限度地提高系统可用性。 体系结构及其组件可以根据业务需求(RTO、RPO、正常运行时间预期、系统角色)进行自定义,并可能减少到单个 VM。 简化后的网络布局可展示此类 SAP 环境的体系结构主体,但不可描述整个企业网络。

网络

虚拟网络。 Azure 虚拟网络服务以增强的安全性将 Azure 资源相互连接起来。 在此体系结构中,虚拟网络通过部署在中心辐射型拓扑中心的虚拟专用网络 (VPN) 网关连接到本地环境。 SAP 应用程序和数据库包含在自身的辐射型虚拟网络中。 虚拟网络针对各层应用程序 (SAP NetWeaver)、数据库、共享服务(例如 Azure Bastion)细分为单独的子网。

此体系结构将虚拟网络地址空间划分为子网。 将应用程序服务器放置在一个单独的子网上,将数据库服务器放置在另一个子网上。 这样做可以通过管理子网安全策略(而不是单个服务器)来更轻松地保护它们,并将适用于数据库的安全规则与适用于应用程序服务器的安全规则清楚地划分开来。

虚拟网络对等互连。 此体系结构使用中心辐射型网络拓扑,其中具有多个对等互连在一起的虚拟网络。 此拓扑为部署在 Azure 上的服务提供网络分段和隔离。 对等互连通过 Microsoft 主干网络支持对等互的连虚拟网络之间进行透明连接。 若部署在单个区域中,则不会产生性能损失。

区域冗余网关。 网关的作用是连接不同的网络,将本地网络扩展到 Azure 虚拟网络。 建议使用 ExpressRoute 创建不通过公共 Internet 的专用连接,但也可以使用站点到站点连接。 可以跨区域部署 Azure ExpressRoute 或 VPN 网关,以防止区域故障。 请参阅区域冗余虚拟网络网关,了解区域部署和区域冗余部署之间的区别。 此处值得一提的是,使用的 IP 地址需要是标准 SKU 才能进行网关的区域部署。

网络安全组。 要限制虚拟网络中的传入、传出和子网内部流量,请创建网络安全组,然后将其分配给特定子网。 数据库和应用程序子网由特定于工作负载的 NSG 保护。

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

网络接口卡 (NIC)。 网络接口卡使虚拟网络中的虚拟机能够实现各种通信。 传统的本地 SAP 部署为每个虚拟机实现多个 NIC,以便将管理流量与业务流量分开。

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

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

虚拟机

此体系结构使用虚拟机 (VM)。 对于 SAP 应用层,针对所有实例角色(Web 调度程序和应用程序服务器)部署 VM,包括中央服务 SAP (A)SCS 和 ERS 以及应用服务器(PAS、AAS)。 根据要求调整虚拟机数目。 Azure 虚拟机规划和实现指南中包含有关在虚拟机上运行 SAP NetWeaver 的详细信息。

同样,针对所有 Oracle 使用虚拟机,包括 Oracle Database 和 Oracle 观察者 VM。 与实际数据库服务器相比,此体系结构中的观察者 VM 更小。

  • 受约束的 vCPU VM。 为了可以节省 Oracle 许可相关的成本,请考虑利用vCPU 受约束的 VM
  • SAP 的认证 VM 系列。 有关 SAP 支持的 Azure 虚拟机类型和吞吐量指标 (SAPS) 的详细信息,请参阅 SAP 说明 1928533。 (要访问 SAP 说明,需要具有 SAP 服务市场帐户。)

邻近放置组 (PPG)。 要优化网络延迟,可以使用邻近放置组,这样做有利于归置,即虚拟机位于同一数据中心内,从而可最大限度地减少应用程序延迟。 邻近放置组可以极大地改善大多数 SAP 应用程序的用户体验。 由于 PPG 的潜在限制,应尽量少地、且仅在由于 SAP 应用程序和数据库流量之间出现延迟而需要时,才将数据库 AvSet 添加到 SAP 系统的 PPG。 有关 PPG 使用方案的详细信息,请参阅链接文档。

第 2 代 (Gen2) 虚拟机。 在部署 VM 时,Azure 提供可使用第 1 代或第 2 代 VM 的选择。 第 2 代 VM 支持第 1 代 VM 不提供的一些关键功能。 特别是对于非常大型的 Oracle 数据库而言,这一点非常重要,因为某些 VM 系列(例如 Mv2Mdsv2)仅支持作为 Gen2 VM。 同样,对于某些较新 VM 的 Azure 上的 SAP 认证,可能要求 VM 只能是 Gen2 才能获得完全支持(即使 Azure 两种都允许)。 有关详细信息,请参阅 SAP 说明 1928533 - Microsoft Azure 上的 SAP 应用程序:支持的产品和 Azure VM 类型

由于所有其他支持 SAP 的 VM 都支持既可选择仅 Gen2 也可选择 Gen1+2,因而建议将所有 SAP VM 部署为 Gen2(即使内存要求非常低)。 一旦部署为 Gen2,即使是最小的 VM 也可以通过简单的解除分配和重设大小,来将其可用性纵向扩展到最大。 Gen1 VM 只能调整为允许运行 Gen1 VM 的 VM 系列。

存储

此体系结构针对虚拟机使用 Azure 托管磁盘,并使用 Azure 文件存储 NFSAzure NetApp 文件满足任何 NFS 共享存储要求,例如 sapmnt 和 SAP 传输 NFS 卷。 有关 Azure 上的 SAP 存储部署指南的详细信息,请参阅 SAP 工作负载的 Azure 存储类型指南

高可用性

上述体系结构描述了高度可用的部署,其中每个应用层包含在两个或以上虚拟机上。 使用了以下组件。

在 Azure 上,SAP 工作负载部署可以是地区性部署,也可以是区域性部署,具体取决于 SAP 应用程序的可用性和复原能力要求。 Azure 提供了不同的部署选项,例如具有灵活业务流程 (FD=1)、可用性区域和可用性集的虚拟机规模集,以提高资源的可用性。 要全面了解部署选项及其在不同 Azure 区域(包括跨区域、单个区域内或在没有区域的地区中)的适用性,请参阅SAP NetWeaver 的高可用性体系结构和方案

负载均衡器Azure 负载均衡器用于将流量分布到 SAP 子网中的虚拟机。 在 SAP 区域部署中加入 Azure 负载均衡器时,请确保选择标准 SKU 负载均衡器。 基本 SKU 均衡器不支持区域冗余。

在 SAP 的可用性区域之间部署 VM 时,请考虑决策因素。 部署可用性区域时若使用邻近放置组,这种情况下需要对其进行评估,并其仅可用于应用层 VM。

注意

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

特定于 Oracle 的组件。 Oracle Database VM 部署在可用性集或不同的可用性区域中。 每个 VM 都包含自身安装的数据库软件和 VM 本地数据库存储。 通过 Oracle Data Guard 在数据库之间设置同步数据库复制,以确保一致性,并在出现单个故障时允许低 RTO 和 RPO 服务时间。 除了数据库 VM,Oracle Data Guard 快速启动故障转移设置还需要其他具有 Oracle Data Guard 观察者的 VM。 Oracle 观察者 VM 可监视数据库和复制状态,并以自动化方式促进数据库故障转移,而无需使用任何群集管理器。 可以使用 Oracle Data Guard Broker 轻松执行数据库复制管理。

有关 Oracle Data Guard 部署的详细信息,请参阅

此体系结构利用本机 Oracle 工具,无需任何实际群集设置,也无需在数据库层中设置负载均衡器。 借助 Oracle Data Guard 快速启动故障转移和 SAP 配置,故障转移过程将自动进行,并且如果发生故障转移,SAP 应用程序将重新连接到新的主数据库。 存在各种可替代的第 3 方群集解决方案(例如 SIOS 保护套件或 Veritas InfoScale)其部署的详细信息可分别在相应的第 3 方供应商文档中找到。

Oracle RAC。 Oracle Real Application Cluster (RAC) 目前未经 Azure 中的 Oracle 认证或支持。 但是,针对高可用性的 Oracle Data Guard 技术和体系结构可以提供高度可复原的 SAP 环境,从而防范机架、数据中心或区域服务中断。

NFS 层。 对于所有高可用性 SAP 部署,都需要使用可复原 NFS 层,为 SAP 传输目录提供 NFS 卷、为 SAP 二进制文件提供 sapmnt 卷以及为 (A)SCS 和 ERS 实例提供进一步的卷。 提供 NFS 层的选项包括

SAP 中央服务群集。 此参考体系结构在离散的 VM 上运行中央服务。 在部署到单个 VM 时,中央服务是潜在的单一故障点 (SPOF)。 若要实现高可用性解决方案,需要群集管理软件,以便自动将 (A)SCS 和 ERS 实例故障转移到相应的 VM。 由于这与所选的 NFS 解决方案密切相关

所选群集解决方案需要一种机制来决定在软件或基础结构不可用的情况下,哪个 VM 应该为相应的服务提供服务。 借助 Azure 上的 SAP,有两个选项可用于基于 Linux 的 STONITH 实现 - 如何处理无响应的 VM 或应用程序

  • SUSE-Linux-only SBD(STONITH 块设备) - 使用一个或三个额外的 VM 作为小型块设备的 iSCSI 导出,由实际群集成员 VM 定期访问,该群集池中有两个(A)SCS/ERS VM。 VM 使用这些 SBD 装载来强制转换投票,从而实现群集决策的仲裁。 此页面中的体系结构不包含 1 或 3 个额外的 SBD VM。 RedHat 不支持 Azure 中的任何 SBD 实现,因此此选项仅适用于 SUSE SLES 操作系统。
  • Azure 隔离代理。 在不使用额外 VM 的情况下,Azure 管理 API 用于定期检查 VM 可用性。

NFS 层部分中的链接指南包含相应群集选择的必要步骤和设计。 还可以使用由第三方 Azure 认证的群集管理器来提供 SAP 中心服务的高可用性。

SAP 应用程序服务器池。 通过 SAP 消息服务器或 Web 调度程序对请求进行负载均衡来实现的两个或多个应用程序服务器。 每个应用程序服务器都是独立的,此 VM 池不需要网络负载均衡。

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

(A)SCS 上的嵌入式 Web 调度程序是一种特殊选项。 由于 (A)SCS 上的其他工作负载,应适当考虑调整大小。

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

Windows 部署。 如开头所述,本文档主要关注基于 Linux 的部署。 对于使用 Windows 的情况,适用相同的体系结构原则,并且 Linux 和 Windows 之间的 Oracle 体系结构没有差异。

对于 SAP 应用程序部分,请参阅体系结构指南在 Azure 上的 Windows 中运行 SAP NetWeaver 中的详细信息。

注意事项

灾难恢复

下图显示了 Azure 中 Oracle 上生产 SAP 系统的体系结构。 该体系结构提供 DR 并使用可用性区域。

关系图显示了 Azure 中 Oracle 上生产 SAP 系统的体系结构。

下载此体系结构和相关体系结构的Visio 文件

SAP 应用程序堆栈中的每个体系结构层都使用不同的方法来提供 DR 保护。 有关 DR 策略和实施详细信息,请参阅 SAP 工作负载的灾难恢复概述和基础结构指南SAP 应用程序的灾难恢复指南

备份

可以通过多种方法实现 Azure 中的 Oracle 备份:

  • Azure 备份。Azure 针对 Oracle Databases 提供和维护脚本,以促进 Oracle 在备份执行之前和之后的行动。
  • Azure 存储。 使用基于文件的数据库备份(例如,使用 SAP 的 BR 工具计划)在 Azure Blob NFS、Azure Blob 或Azure 文件存储服务上存储并作为文件/目录进行版本控制。 请参阅记录的详细信息,了解如何实现 Oracle 数据和日志备份。
  • 第三方备份解决方案。 请参阅备份存储提供程序的体系结构,支持 Azure 中的 Oracle。

对于非数据库 VM,建议使用适用于 VM 的 Azure 备份来保护 SAP 应用程序 VM 和 SAP Web 调度程序等周边基础结构。

作者

本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。

主要作者:

后续步骤

社区

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

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