此参考体系结构演示了在 Azure 中使用 Oracle Database 运行高可用性 SAP NetWeaver 的一套成熟做法。 该体系结构原则在于 OS 不可知,但除非另有说明,否则它假定 OS 为 Linux。
第一个关系图显示了 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 保护。
应用程序安全组。 若要基于以应用程序为中心的工作负荷在 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 可确保并置,这意味着虚拟机位于同一数据中心,以最大程度地减少应用程序延迟。 由于 PPG 的潜在限制,应很少且仅在需要时将数据库 AvSet 添加到 SAP 系统的 PPG。 有关 PPG 使用方案的详细信息,请参阅链接文档。
第 2 代 (Gen2) 虚拟机。 在部署 VM 时,Azure 提供可使用第 1 代或第 2 代 VM 的选择。 第 2 代 VM 支持第 1 代 VM 不提供的一些关键功能。 特别是对于非常大型的 Oracle 数据库而言,这一点非常重要,因为某些 VM 系列(例如 Mv2 或 Mdsv2)仅支持作为 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,也可以纵向扩展到使用简单解除分配和调整大小操作的最大可用 VM。 Gen1 VM 只能调整为允许运行 Gen1 VM 的 VM 系列。
存储
此体系结构针对虚拟机使用 Azure 托管磁盘,并使用 Azure 文件存储或 Azure NetApp Files,满足任何网络文件系统 (NFS) 共享存储要求,例如 sapmnt 和 SAP 传输 NFS 卷。 有关 Azure 上的 SAP 存储部署指南的详细信息,请参阅 SAP 工作负荷的 Azure 存储类型指南
- SAP 的认证存储。 与 SAP 使用的认证 VM 类型类似,请查看SAP 说明 2015553和SAP 说明 2039619中的详细信息。
- Oracle 上的 SAP 的存储设计。 可以在适用于 SAP 工作负荷的 Azure 虚拟机 Oracle 数据库管理系统 (DBMS) 部署中找到推荐的 Azure 中 Oracle 上的 SAP 存储设计。 本文提供有关文件系统布局、磁盘大小调整建议和其他存储选项的具体指导。
- 存储 Oracle 数据库文件。 对于 Linux,数据库需要使用 ext4 或 xfs 文件系统,Windows 部署则需要使用 NTFS。 Oracle Automatic Storage Management (ASM) 也支持用于 Oracle Database 12c 版本 2 及更高版本的 Oracle 部署。
- Azure 高级 SSD v2专为 SAP 等性能关键型工作负荷而设计。 请参阅部署高级 SSD v2,了解存储解决方案的优势及其当前限制。
- 托管磁盘的替代项。 或者,Oracle 数据库可以使用Azure NetApp 文件。 有关详细信息,请参阅SAP 说明 2039619和Azure 上的 Oracle文档。 Azure 文件存储 NFS 卷与 Azure NetApp 文件不同,不适用于存储 Oracle Database 文件。
高可用性
上述体系结构描述了高度可用的部署,其中每个应用层包含在两个或以上虚拟机上。 使用了以下组件。
在 Azure 上,SAP 工作负荷部署可以是区域部署或区域部署,具体取决于 SAP 应用程序和所选区域的可用性和复原能力要求。 Azure 提供了不同的部署选项,例如具有灵活业务流程 (FD=1)、可用性区域和可用性集的虚拟机规模集,以提高资源的可用性。 要全面了解部署选项及其在不同 Azure 区域(包括跨区域、单个区域内或在没有区域的地区中)的适用性,请参阅SAP NetWeaver 的高可用性体系结构和方案。
负载均衡器。 Azure 负载均衡器用于将流量分布到 SAP 子网中的虚拟机。 在 SAP 区域部署中加入 Azure 负载均衡器时,请确保选择标准 SKU 负载均衡器。 基本 SKU 均衡器不支持区域冗余。
在 SAP 的可用性区域之间部署 VM 时,请考虑决策因素。 部署可用性区域时若使用邻近放置组,这种情况下需要对其进行评估,并其仅可用于应用层 VM。
注意
可用性区域支持区域内高可用性 (HA),但对灾难恢复 (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 部署的详细信息,请参阅 Azure 上的 Oracle Data Guard 文档。
此体系结构利用本机 Oracle 工具,无需任何实际的群集软件或数据库层中的负载均衡器。 借助 Oracle Data Guard 快速启动故障切换和 SAP 配置,故障切换过程可自动完成,并且在发生故障切换时,SAP 应用程序可重新连接到新的主数据库。 有多种第三方群集解决方案可供选择,如 SIOS 保护套件或 Veritas InfoScale,部署详情可分别参阅相应的第三方供应商的文档。
Oracle RAC。 Oracle Real Application Cluster (RAC) 目前未经 Azure 中的 Oracle 认证或支持。 但是,用于高可用性的 Oracle Data Guard 技术和体系结构可以提供高度可复原的 SAP 环境,从而防止机架、数据中心或区域服务发生中断。
NFS 层。 对于所有高可用性 SAP 部署,都需要使用可复原 NFS 层,为 SAP 传输目录提供 NFS 卷、为 SAP 二进制文件提供 sapmnt 卷以及为 (A)SCS 和 ERS 实例提供进一步的卷。 提供 NFS 层的选项包括
- 具有区域冗余存储 (ZRS) 的 Azure 文件存储 NFS - SLES 和 RHEL 指南
- NFS 卷的 Azure NetApp 文件部署 - SLES 和 RHEL 指南
- 基于 VM 的 NFS 群集 - 另外两个具有本地存储的 VM,在具有 DRBD(分布式复制块设备)的 VM 之间复制 - SLES 和 RHEL 指南
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。
- 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 并使用可用性区域。
下载此体系结构和相关体系结构的Visio 文件 。
SAP 应用程序堆栈中的每个体系结构层都使用不同的方法来提供 DR 保护。 有关 DR 策略和实施详细信息,请参阅 SAP 工作负荷的灾难恢复概述和基础结构指南和 SAP 应用程序的灾难恢复指南。
备份
可以通过多种方法实现 Azure 中的 Oracle 备份:
- Azure 备份。Azure for Oracle 数据库提供的和维护脚本,以及用于 Oracle 的Azure 备份满足备份要求。
- Azure 存储。 使用基于文件的数据库备份(例如,使用 SAP 的 BR 工具计划)在 Azure Blob NFS、Azure Blob 或Azure 文件存储服务上存储并作为文件/目录进行版本控制。 请参阅记录的详细信息,了解如何实现 Oracle 数据和日志备份。
- 第三方备份解决方案。 请参阅备份存储提供程序的体系结构,支持 Azure 中的 Oracle。
对于非数据库 VM,建议使用适用于 VM 的 Azure 备份来保护 SAP 应用程序 VM 和 SAP Web 调度程序等周边基础结构。
作者
本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。
主要作者:
- Robert Biro | 高级架构师
后续步骤
社区
社区可以解答问题,并帮助设置成功的部署。 考虑这些资源:
相关资源
有关使用某些相同技术的 SAP 工作负荷的详细信息和示例,请参阅以下文章: