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

SAP 应用程序的灾难恢复指导

若要为 Azure 上的 SAP 工作负载配置灾难恢复 (DR),需要定期测试、微调并更新流程。 测试灾难恢复有助于确定在触发 SAP 工作负载 DR 故障转移或者在辅助站点上启动系统之前所需的依赖服务的顺序。 组织通常会将其 SAP 系统连接到 Active Directory (AD) 和域名系统 (DNS) 服务,以正常运行这些系统。 为 SAP 工作负载设置 DR 时,请确保 AD 和 DNS 服务在恢复 SAP 和其他非 SAP 系统之前正常运行,以确保应用程序正常运行。 有关保护 Active Directory 和 DNS 的指导,请参阅如何保护 Active Directory 和 DNS。 本文档中介绍的 SAP 应用程序的 DR 建议是概括性的。 你需要根据特定的设置设计 DR 策略,并记录端到端方案。

SAP 工作负载的 DR 建议

通常,在分布式 SAP NetWeaver 系统中,中心服务、数据库和共享存储 (NFS/SMB) 是单一故障点 (SPOF)。 为了缓解不同 SPOF 造成的影响,有必要为这些组件设置冗余。 主要区域中这些 SPOF 组件的冗余是通过配置高可用性来实现的。 组件的高可用性设置用于在发生本地故障或灾难时保护 SAP 系统。 但是,若要在发生地理分散的灾难时保护 SAP 应用程序,应该对所有的 SAP 组件实现 DR 策略。

对于在虚拟机上运行的 SAP 系统,可以使用 Azure Site Recovery 来创建灾难恢复计划。 下面是建议对 SAP 系统的每个组件使用的灾难恢复方法。 本文档不介绍独立的非 NetWeaver SAP 引擎,例如 TREX 和非 SAP 应用程序。

组件数 建议
SAP Web 调度程序 使用 Azure Site Recovery 复制 VM
SAP 中心服务 使用 Azure Site Recovery 复制 VM
SAP 应用程序服务器 使用 Azure Site Recovery 复制 VM
SAP 数据库 使用数据库提供的复制方法
共享存储 按存储类型使用相应的方法复制内容

SAP Web 调度程序

SAP Web 调度程序组件用作 SAP 应用程序服务器之间的 SAP 流量的负载均衡器。 可以使用不同的选项来实现主要区域中 SAP Web 调度程序组件的高可用性。 有关此选项的详细信息,请参阅 SAP Web 调度程序的高可用性Azure 上的 SAP Web 调度程序 HA 设置

  • 选项 1:使用群集解决方案实现高可用性。
  • 选项 2:使用并行 SAP Web 调度程序实现高可用性。

若要为主要区域中设置的高可用性 SAP Web 调度程序实现 DR,可以使用 Azure Site Recovery。 对于在主要区域中运行的并行 Web 调度程序(选项 2),可以配置 Azure Site Recovery 以实现 DR。 但是如果在主要区域中使用选项 1 配置了 SAP Web Dispatcher,则需要在故障转移后进行一些额外的更改,以便在 DR 区域中使用类似的 HA 设置。 由于使用群集解决方案的 SAP Web 调度程序高可用性配置方式与 SAP Central Services 类似, 因此请按照与 SAP Central Services 相同的指导操作。

SAP 中心服务

包含排队和消息服务器的 SAP 中心服务是 SAP 应用程序的 SPOF 之一。 在 SAP 系统中只能有一个此类实例,可为此实例配置高可用性。 请阅读 SAP Central Services 的高可用性,了解 Azure 上的 SAP 工作负载的不同高可用性解决方案。

为 SAP Central Services 配置高可用性可以保护资源和流程免受本地事件的影响。 若要为 SAP Central Services 实现 DR,可以使用 Azure Site Recovery。 Azure Site Recovery 复制 VM 和附加的托管磁盘,但对于 DR 策略还需要注意其他一些事项。 请根据用于 SAP 中心服务的操作系统,查看以下部分了解详细信息。

对于 SAP 系统,主要区域中 SPOF 组件的冗余是通过配置高可用性来实现的。 若要在故障转移后在灾难恢复区域中实现类似的高可用性设置,需要考虑其他事项。 这包括重新配置群集、确保 SAP 共享目录可用,以及使用 Azure Site Recovery 将 VM 及其托管磁盘复制到 DR 站点。 在 Linux 上,可以使用 pacemaker 群集方案来实现 SAP 应用程序的高可用性。 下图显示了使用 Pacemaker 为 SAP Central Services 配置高可用性所涉及的不同组件。 必须考虑到每个组件,以便在 DR 站点上设置类似的高可用性。 如果已使用 pacemaker 群集解决方案配置了 SAP Web 调度程序,类似的注意事项同样适用。

SAP 系统 Linux 体系结构

内部负载均衡器

Azure Site Recovery 会将 VM 复制到 DR 站点,但不会复制 Azure 负载均衡器。 需要在故障转移之前或之后在 DR 站点上创建单独的内部负载均衡器。 如果事先创建内部负载均衡器,请创建一个空的后端池并在发生故障转移事件后添加 VM。

Pacemaker 群集解决方案

pacemaker 群集的配置驻留在 VM 的本地文件中,这些文件由 Azure Site Recovery 复制到 DR 站点。 原有的 pacemaker 群集配置在故障转移后无法在 VM 上按原样工作。 需要进行额外的群集重新配置才能使解决方案正常工作。

请根据你的存储类型和隔离机制阅读以下博客文章,了解如何在 DR 区域中重新配置 pacemaker 群集。

适用于 Linux 的 SAP 共享目录

SAP NetWeaver 或 ABAP 平台的高可用性设置使用排队复制服务器来为采用 Pacemaker 群集配置的 SAP 系统的排队服务实现应用程序级冗余。 SAP Central Services(ASCS 和 ERS)的高可用性设置使用 NFS 装载点。 因此需要确保将这些 NFS 装载点中的 SAP 二进制文件和数据复制到 DR 站点。 Azure Site Recovery 会复制 VM 和附加的本地托管磁盘,但不会复制 NFS 装载点。 根据为设置配置的 NFS 存储类型,你需要确保数据已在 DR 站点中复制并可用。 适用于每个存储的跨区域复制方法是概括性的。 你需要确认复制存储和执行测试的确切步骤。

SAP 共享目录 跨区域复制
Azure 文件存储上的 NFS 自定义(例如 rsync)
ANF 上的 NFS 是(跨区域复制
NFS 群集 自定义

提示

建议部署 Azure 第一方 NFS 服务之一:Azure 文件存储上的 NFSNFS ANF 卷,用于在高可用性 SAP 系统中存储共享数据。 请注意,对于 SAP 参考体系结构,我们不予强调,我们会利用 NFS 群集。

隔离机制

无论操作系统(SLES 或 RHEL)及其版本是什么,pacemaker 都需要有效的隔离机制才能使整个解决方案正常工作。 根据在主要区域中设置的隔离机制类型,需要确保在故障转移后在 DR 站点上设置相同的隔离机制。

隔离机制 跨区域 DR 建议
使用 iSCSI 目标服务器的 SBD 使用 Azure Site Recovery 复制 iSCSI 目标服务器。
在 DR VM 上,再次发现 iSCSI 磁盘。
Azure 隔离代理 在 DR VM 上启用托管系统标识 (MSI)。
分配自定义角色。
更新群集中的隔离代理资源。
使用 Azure 共享磁盘的 SBD* 在 DR 区域中配置新的 Azure 共享磁盘。 故障转移后,将 Azure 共享磁盘附加到 DR VM。
设置 Azure 共享磁盘 SBD 设备

*适用于 Azure 共享磁盘的 ZRS 在有限的区域中可用。

注意

我们建议对主要区域和 DR 区域使用相同的隔离机制,以便于操作和故障转移。 不建议在故障转移到 DR 站点后使用不同的隔离机制。

SAP 应用程序服务器

在主要区域中,SAP 应用程序服务器的冗余是通过在多个 VM 中安装实例来实现的。 若要为 SAP 应用程序服务器实现 DR,可为每个应用程序服务器 VM 设置 Azure Site Recovery。 对于附加到应用程序服务器的共享存储(传输文件系统、接口数据文件系统),请根据共享存储的类型遵循相应的 DR 做法。

SAP 数据库服务器

对于运行 SAP 工作负载的数据库,请使用本机 DBMS 复制技术来配置 DR。 不建议对数据库使用 Azure Site Recovery,因为它不能保证数据库的一致性并存在数据变动率限制。 每个数据库的复制技术不同,因此请遵循相应的数据库指导。 下表显示了用于 SAP 工作负载的数据库列表和相应的 DR 建议。

数据库 DR 建议
SAP HANA HANA 系统复制 (HSR)
Oracle Oracle Data Guard (FarSync)
IBM DB2 高可用性和灾难恢复 (HADR)
Microsoft SQL Microsoft SQL Always On
SAP ASE ASE HADR Always On
SAP MaxDB 备用数据库

对于成本优化的解决方案,甚至可以将备份和还原选项用于数据库 DR 策略。

备份和还原

如果业务 RTO 和 RPO 不重要,则可以使用备份和还原作为实现 SAP 工作负载灾难恢复的另一种解决方案。 可以使用 Azure 备份,它是一个基于云的备份服务,可为 SAP 工作负载的不同组件(例如虚拟机、托管磁盘和支持的数据库)创建副本。 若要详细了解 Azure 备份方案和部署的一般支持设置和限制,请参阅 Azure 备份支持矩阵

服务 组件 Azure 备份支持
计算 Azure VM 支持
存储 Azure 托管磁盘,包括共享磁盘 支持
存储 Azure 文件共享 - SMB(标准或高级) 支持
存储 Azure Blob 支持
存储 Azure 文件共享 - NFS(标准或高级) 不支持
存储 Azure NetApp 文件 不支持
数据库 Azure VM 中的 SAP HANA 数据库 支持
数据库 Azure VM 中的 SQL Server 支持
数据库 Oracle 支持*
数据库 IBM DB2、SAP ASE 不支持

注意

*Azure 备份支持使用 Azure VM 备份来为 Oracle 数据库创建数据库一致的快照

Azure 备份不支持用于 SAP 工作负载的所有 Azure 存储和数据库。

Azure 备份将备份存储在恢复服务保管库中,该保管库根据所选的复制类型(LRS、ZRS 或 GRS)复制数据。 对于异地冗余存储 (GRS),备份数据将复制到配对的次要区域。 启用跨区域还原功能后,可以在次要区域中还原受支持管理类型的数据。

备份和还原是较传统的成本优化方法,但也存在 RTO 更高这一弊端。 因为在故障转移到 DR 区域时,需要从备份中还原所有应用程序。 因此,你需要分析业务需求并相应地设计 DR 策略。

参考