高可用性和灾难恢复
Amazon 提供多种选项,用于执行灾难恢复以及为 SAP HANA 系统提供高可用性。此部分提供有关这些解决方案的信息。其中还涵盖了 Amazon 平台上支持的 SAP 提供的原生 SAP HANA 恢复功能。
主题
Amazon EC2 恢复选项
您可以使用以下恢复选项,恢复在 Amazon EC2 实例上运行的 SAP HANA 数据库。
我们建议您配置 Amazon EC2 实例(第三方集群解决方案中的实例除外),并配置具有自动恢复功能的专属主机,以防出现硬件故障。下图说明了 Amazon EC2 恢复选项。
SAP HANA 服务自动重启
SAP HANA 服务自动重启是 SAP 提供的故障恢复解决方案。SAP HANA 有许多配置的服务会始终运行,用于各种活动。当任意这些服务由于软件故障或人为错误而被禁用时,该服务将通过 SAP HANA 服务自动重启监控程序功能自动重新启动。服务在重新启动时,会将所有必要的数据加载回内存并恢复其操作。在 Amazon 云端,SAP HANA 服务自动重启解决方案的工作方式与在任何其他平台上相同。SAP HANA 服务自动重启与 Amazon EC2 恢复选项结合使用,打造出了强大的灾难恢复解决方案。
SAP HANA 备份/还原
尽管 SAP HANA 是一个内存数据库,但它会将所有更改保留在持久存储中,以便在出现任何故障时(例如停电)从中还原和恢复。如果持久存储损坏或出现任何逻辑错误,则需要使用 SAP HANA 备份来恢复数据库。SAP HANA 数据库备份文件可以定期备份到远程位置以用于灾难恢复。在 Amazon 云端,SAP HANA 备份/恢复功能的工作方式与在任何其他平台上相同。有关更多信息,请参阅 SAP HANA Administration Guide
Amazon Backint Agent for SAP HANA
Amazon Backint Agent for SAP HANA(Amazon Backint Agent)是一项经过 SAP 认证的备份和还原应用程序,适用于在云端的 Amazon EC2 实例上运行的 SAP HANA 工作负载。AmazonBackint Agent 作为独立应用程序运行,可与您的现有工作流集成,将 SAP HANA 数据库备份到 Amazon S3,并使用 SAP HANA Cockpit、SAP HANA Studio 和 SQL 命令将其恢复。AmazonBackint Agent 支持 SAP HANA 数据库的完整、增量和差异备份。此外,您可以将日志文件和目录备份到 Amazon S3。有关更多信息,请参阅 Amazon Backint Agent for SAP HANA。
示例方案
利用 Amazon Backint Agent for SAP HANA,您可以为 Amazon 云端的 SAP HANA 系统实现高可用性,并为灾难恢复做好准备。请参阅以下示例场景来了解更多信息。
-
在可用区 1 中的 Amazon EC2 上运行 SAP HANA 系统。
-
设置
StatusCheckFailed_SystemCloudWatch 警报,使其在系统检查失败时自动恢复您的 Amazon EC2 实例。-
您的实例将在同一可用区内恢复。
-
可用区不可用时,您可能无法访问该实例。
-
-
在可用区 2 中,使用 Amazon CloudFormation 模板启动新 Amazon EC2 实例。有关更多信息,请参阅从启动模板启动实例。
-
使用 Amazon Backint Agent 从 Amazon S3 恢复 SAP HANA 数据库。有关更多信息,请参阅使用 Amazon Backint Agent for SAP HANA 备份和还原 SAP HANA 系统。
-
当新 SAP HANA 系统在 Amazon EC2 上运行后,将您的客户端流量重定向到该系统。
在此场景中,您可以避免使用备用节点的成本。使用 Amazon 多可用区基础设施,并通过 Amazon Backint Agent for SAP HANA 进行备份/还原,您可以快速恢复运营并显著降低停机时间成本。
精心设计的恢复过程,使得该模式适用于较长的恢复时间目标和大于零的恢复点目标。恢复点目标取决于您在 Amazon S3 中存储 SAP HANA 备份文件的频率。
您可以使用 Amazon Backint Agent 将 SAP HANA 系统备份存储到 Amazon S3,从而降低恢复点目标。此外,您可以使用 Amazon S3 中的备份文件快速进行恢复,而无需创建自定义脚本来手动将 SAP HANA 备份文件复制到 Amazon S3 或从中复制。
备份用时
使用 Amazon Backint Agent 在 Amazon EC2 上备份和恢复 SAP HANA 数据库所花费的时间取决于您的系统配置。这包括 Amazon EC2 实例类型、Amazon EBS 卷类型和数据库大小。以下介绍了影响备份和恢复 SAP HANA 系统所花费时间的关键变量。
-
支持 SAP HANA 数据库的底层 Amazon EBS 卷的存储吞吐量
-
支持与 Amazon S3 通信的通道的网络吞吐量
-
实例类型上的可用 CPU 资源
恢复时间目标和恢复点目标
我们建议您进行各种测试,来确定适合您的业务恢复时间目标和恢复点目标的合适系统配置。AmazonBackint Agent for SAP HANA 通过并行处理备份和恢复流程来最大限度地利用可用吞吐量。恢复时间目标针对任意给定的系统配置进行了优化。例如,使用 r5.2xlarge 上的 SAP HANA 纵向扩展节点,Amazon Backint Agent 能够用 4 分 15 秒上传 551 GB 的数据,实现 2.16 GB/s 的总吞吐量。同样,对于在 u6-tb1.metal 实例上运行的 4 节点 SAP HANA 横向扩展,Amazon Backint Agent 能够用 23 分钟上传 22.86 TB 的数据,实现 16.8 GB/s 的总吞吐量。
根据我们的测试,使用 Amazon Backint Agent 执行恢复操作所需的时间通常是备份时间的 1.5 到 2 倍。有关更多信息,请参阅性能优化。
Amazon EBS 快照
您可以通过拍摄时间点快照将 Amazon EBS 卷上的数据备份到 Amazon S3。无论数据库大小如何,快照都能提供快速的备份过程。它们存储在 Amazon S3 中,并自动跨可用区复制。
默认情况下,Amazon EBS 快照为增量快照。仅存储自上次拍摄快照以来的增量更改。快照也具有崩溃一致性。它们包含已完成 I/O 操作的块。您可以跨 Amazon 区域复制快照或与其他 Amazon 账户共享快照。您可以从快照恢复 Amazon EBS 卷,或者使用快照在相同或不同的可用区中创建新卷,然后启动 Amazon EC2 实例。Amazon EBS 快照提供了安全简单的数据保护解决方案,旨在保护您的块存储数据,例如 Amazon EBS 卷、启动卷和本地块数据。有关更多信息,请参阅 Amazon EBS 快照。
Amazon EBS 快照还可用于实现灾难恢复,以及跨 Amazon 区域和账户迁移数据。Amazon EBS 快速快照还原使您能够从创建时已完全初始化的快照创建卷。这会消除首次访问块时对其执行 I/O 操作的延迟。使用快速快照还原创建的卷可以立即交付其所有预置性能。Amazon EBS 快速快照还原可以在创建快照时在快照上启用。这可以帮助您实现较短的恢复时间目标。有关更多信息,请参阅 Amazon EBS 快速快照还原。
集群解决方案
Amazon 云端的 SAP HANA 工作负载在基础设施层进行配置,并采用了具备高可用性和容错能力的方法。故障仍然需要在 SAP HANA 数据库层管理。如果在硬件或软件级别检测到故障,则可以使用 SAP HANA cockpit、SAP HANA studio 或 hdbnsutil 命令行工具执行手动失效转移过程。手动流程可能会影响业务流程的可用性。
您还可以使用随 SAP HANA 提供的基于 Python 的 API,创建自己的高可用性和灾难恢复提供程序或钩子。然后,您可以将这些钩子与 SAP HANA 系统复制接管流程集成,来自动执行诸如重启主节点、IP 重定向、DNS 重定向和关闭辅助节点中的 Dev/QA 系统等任务。有关更多信息,请参阅实施 HA/DR 提供程序
根据 SAP HANA 数据库的操作系统,您可以实施第三方高可用性集群解决方案。这样可以减少停机时间并自动执行失效转移步骤。以下解决方案包括 Pacemaker 框架以及经过 SAP 认证并且 Amazon 支持的 SAP HANA 钩子。
-
SUSE Linux Enterprise Server(SLES)高可用性扩展(HAE)
-
Red Hat Enterprise Linux (RHEL) for SAP 高可用性
有关更多信息,请参阅 Amazon 云端 SAP HANA:适用于 SLES 和 RHEL 的高可用性配置指南。
Pacemaker 集群
基于 SAP HANA 系统复制的 SAP HANA 高可用性解决方案,可自动在主 SAP HANA 实例与辅助实例之间执行失效转移。主实例和辅助实例一起配置为 Pacemaker 集群。集群软件位于操作系统层,使用 SAP HANA 钩子与 SAP HANA 数据库集成。集群软件可检测并自动执行失效转移。恢复时间可以是几分钟或更短。有关更多信息,请参阅 SAP HANA 系统复制。
SUSE 提供的 SAPHanaSR 和 SAPHANASR-Scale-out 解决方案基于 Pacemaker 和 corosync。这些解决方案和适用于 SAP HANA 的专用资源代理随 SLES for SAP 应用程序一起发布。有关如何在 Amazon 云端对 SLES for SAP 应用程序设置高可用性集群的更多信息,请参阅 SLES 上的高可用性集群配置。
RHEL 的高可用性解决方案还提供了 Pacemaker 集群框架和资源代理,用于满足 SAP HANA 系统复制自动化失效转移过程的需求。有关如何在 Amazon 云端对 RHEL 设置高可用性集群的更多信息,请参阅 RHEL 上的高可用性集群配置。Red Hat 提供了以下资源。
有关使用 Amazon Launch Wizard for SAP 实现 SAP HANA 系统自动部署的信息,请参阅 Amazon Launch Wizard for SAP。
Pacemaker 集群使用虚拟 IP 地址连接到主 SAP HANA 实例。在失效转移期间,虚拟 IP 地址迁移到辅助实例。然后,系统将辅助实例提升为活动的主实例,用于将流量重定向到其中。Amazon 云端的网络配置使用了重叠 IP 地址。这是一个虚拟 IP 地址,配置为指向主 SAP HANA 实例,无论该实例位于主节点还是辅助节点上。您可以使用 Amazon Transit Gateway 或网络负载均衡器配置重叠 IP 路由。有关更多信息,请参阅具有重叠 IP 地址路由的 SAP on Amazon 高可用性。
Amazon Launch Wizard for SAP
Amazon Launch Wizard for SAP 为 Amazon 云端的生产就绪型应用程序提供指导式部署,包括资源大小调整、可自定义部署、应用程序配置和成本估算。这些工具消除了高可用性部署中的复杂性。有关更多信息,请参阅 Amazon Launch Wizard for SAP。
Amazon Launch Wizard for SAP 可以快速跟踪您在 Amazon 云端的 SAP HANA 部署。所需的人工干预极少。Amazon Launch Wizard 支持以下适用于 SAP HANA 的高可用性自动部署模式。
-
跨可用区 SAP HANA 数据库高可用性设置:部署 SAP HANA,采用跨两个可用区配置的高可用性。
-
跨可用区 SAP NetWeaver 系统设置:在两个可用区之间部署 ASCS/ERS 和 SAP HANA 数据库的 Amazon EC2 实例,并将应用程序服务器的部署分散到两个可用区。
-
SUSE/RHEL 集群设置:针对 HANA 高可用性部署上的 SAP HANA 和 NetWeaver,当提供 SAP 软件并指定 SAP 数据库或应用程序软件的部署时,Launch Wizard for SAP 会配置 SUSE/RHEL 集群。对于跨两个可用区的 SAP HANA 数据库,已在 ASCS 和 ERS 节点之间启用集群。参见下图:
注意
强烈建议您先验证环境设置,然后再将高可用性集群用于生产。在 Launch Wizard 设置的 SAP HANA 实例上部署应用程序之前,请先运行测试。这些测试可以确保失效转移和失效自动恢复操作正常运行。
下表汇总了 Amazon Launch Wizard for SAP 支持的部署模式。
| 部署模式 | 支持 |
|---|---|
|
单个 Amazon EC2 实例上的 SAP HANA 数据库 |
是 |
|
单个 Amazon EC2 实例上的 SAP NetWeaver on SAP HANA 系统 |
是 |
|
多个 Amazon EC2 实例上的 SAP HANA 数据库 |
是 |
|
多个 Amazon EC2 实例上的 SAP NetWeaver 系统 |
是 |
|
跨可用区 SAP HANA 数据库高可用性设置 |
是 |
|
跨可用区 SAP NetWeaver 系统设置 |
是 |
|
SUSE/RHEL 集群设置 |
是 |
有关更多信息,请参阅 Amazon Launch Wizard 支持的部署和功能。
Amazon Application Migration Service 和 Amazon 弹性灾难恢复
建议使用 Amazon Application Migration Service 将 SAP HANA 数据库迁移到 Amazon 云端。有关更多信息,请参阅什么是 Amazon Application Migration Service?
对于灾难恢复,我们建议使用 Amazon 弹性灾难恢复。此服务使用块级复制将数据从源持续复制到目标。这有助于降低基础设施成本和总拥有成本。此服务提供亚秒级的恢复点目标和几分钟的恢复时间目标。有关更多信息,请参阅什么是 Amazon 弹性灾难恢复?
Amazon 公司 Cloud Endure 同样提供迁移和灾难恢复服务。Cloud Endure 灾难恢复服务是一种业务连续性产品,适用于 SAP 和非 SAP 工作负载。