测试 SAP HANA 高可用性部署 - SAP HANA 开启 Amazon
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

测试 SAP HANA 高可用性部署

本节介绍备份的故障场景、高可用性和灾难恢复解决方案的测试指南和注意事项,以及灾难恢复模拟练习。

备份和建议的故障场景

下表概述了 SAP HANA 系统的不同故障场景、发生风险、潜在数据丢失和最大中断时间。确定哪种故障情形需要从备份中恢复非常重要。请注意,场景的粒度、分类和影响将因您的要求和架构而异。

数据保护/灾难恢复 Rollure 比较发生风险 潜在的数据丢失 最大可用性中断 影响
没有高可用性 资源耗尽或受损(CPU 利用率高/文件系统已满/内存不足/存储问题) ~o(未提交的交易) 可避免的 区域
高可用性 单点故障(数据库) ~o(未提交的交易) 检测故障和故障转移的时间(自动) 区域
可用区/网络故障 ~o(未提交的交易) 检测故障和故障转移的时间(自动) 区域
核心服务失败 o 取决于失败 区域
灾难恢复 损坏/意外删除/恶意活动/错误的代码部署 故障前的最后一个一致恢复点 检测故障和故障转移的时间(手动) 跨区域
区域失败 非常低 复制延迟 是时候检测故障并决定启动灾难恢复和接管了 跨区域

对于未实现高可用性的 SAP HANA 系统,基础架构级别的实例故障的核心关键组件是计算、内存和存储。对于与计算或内存相关的故障场景,可能是处理器、内存故障或资源耗尽,例如 CPU 利用率高、内存不足等。我们建议使用以下方法恢复 SAP HANA 系统,以防出现 CPU 或内存问题。

  • 使用 Amazon EC2 自动恢复或主机恢复在新的主机上启动 SAP HANA 系统。有关更多信息,请参阅 。Amazon EC2 恢复选项.

  • 使用亚马逊机器映像创建您的 Amazon EC2 实例的完整备份以及各个 Amazon EBS 卷的快照。使用它作为黄金映像,在出现任何故障时启动新实例。

  • 实施监控解决方案,例如亚马逊 CloudWatch 以防止涉及 CPU 或内存资源耗尽的故障情况。

    您可以调整或升级 Amazon EC2 实例,以支持更多的 CPU 内核或实例内存大小。有关更多信息,请参阅 。更改实例类型.

对于 SAP HANA 系统,Amazon EBS 卷可以作为操作的主要存储root,data要么log卷。可能存在不同的故障场景,例如 Amazon EBS 卷故障、磁盘损坏、数据意外删除、恶意攻击、错误的代码部署等。我们建议使用以下选项来保护您的数据。

  • 使用 SAP HANA 备份和恢复将您的 SAP HANA 数据库备份到 Amazon S3Amazon适用于 SAP HANA 的Backint Agent。

  • 定期拍摄服务器的亚马逊机器映像/亚马逊 EBS 快照。

Amazon S3 单区域复制应配置为防止同一区域中的数据丢失。对于灾难恢复,我们建议使用 Amazon S3 跨区域复制将备份/快照保存在辅助区域,以防主区域出现故障。您可以从最后一组备份/快照中恢复辅助区域中的 SAP HANA 系统。在这里,恢复点目标取决于故障之前的最后一个一致性恢复点。

测试指导和注意事项

Pacemaker 集群可以通过自动进行集群成员的故障转移和回切来帮助您执行计划内停机任务,例如修补 SAP HANA 数据库。在 SAP HANA 数据库操作期间,可能会出现各种计划外或故障情况。这些可以包括但不限于以下内容。

  • 硬件故障,例如裸机实例上的内存模块故障

  • 软件故障,例如由于以下原因导致的进程崩溃 out-of-memory 问题

  • 网络中断

大多数故障场景都可以使用 SAP HANA 数据库和 Linux 操作系统命令进行模拟。应用场景Amazon基础架构也可以在上面进行模拟Amazon Web Services Management Console或者使用AmazonAPI。有关更多信息,请参阅 。AmazonAPI.

高可用性集群解决方案持续监控配置的资源,以根据预定义的阈值、依赖关系和目标状态进行检测和响应。SAP HANA Pacemaker 集群配置可能会有所不同,具体取决于数据库大小、应用程序可用性等因素。以下是测试基于 Pacemaker 集群的 SAP HANA 高可用性部署时需要考虑的一些注意事项。

  • 基于起搏器集群的 SAP HANA 高可用性安装必须经历计划内和计划外停机场景才能验证稳定性。

  • 您可以执行初始集群测试,而无需将业务数据加载到 SAP HANA 数据库中。测试的第一次迭代将验证集群在各种故障场景中是否按预期运行。在本次迭代中,您还可以执行测试用例的初始周期,找出任何产品或配置问题。

  • 第二次测试迭代可以通过将生产规模数据加载到 SAP HANA 数据库中来执行。主要目标是调整集群监视器以实现有效的超时。

    大型 SAP HANA 数据库的启动和停止需要更长的时间。如果它们是托管的Amazon裸机实例,重启所需的时间可能会更长。由于这些因素会影响集群行为,因此必须相应地调整集群超时值。

  • 一个 SAP 应用程序可能有许多单点故障,而 SAP HANA 数据库就是其中之一。SAP 应用程序的可用性取决于所有单点故障能否适应故障情况。在整体测试中包括单点故障。例如,验证Amazon可用区故障,其中两个 SAP 应用程序/NetWeaver 堆栈组件 (ASCS) 和 SAP HANA 数据库部署在同一个可用区中。群集解决方案必须能够对预先配置的资源进行故障转移,并且必须在目标可用区上恢复 SAP 应用程序。

  • 应测试包含计划内和计划外停机的测试用例,以此作为最低限度的验证。您还可以包括过去观察到单点故障的场景。例如,年终整合任务测试实例内存限制,导致数据库崩溃。

    用于开启起搏器集群的 SAP HANA 高可用性部署销售上Amazon测试用例,参见测试集群.

    用于开启起搏器集群的 SAP HANA 高可用性部署RHEL上Amazon测试用例,参见测试集群.

  • Pacemaker 集群解决方案需要为客户端连接配置虚拟 IP 地址。使用虚拟 IP 地址,运行 SAP 工作负载的实际硬件对客户端应用程序保持透明。出现故障时,可以无缝地进行连接故障转移。在故障转移后,必须验证所有预定的 SAP 或第三方接口都能够连接到目标 SAP 应用程序。

    首先,您可以准备一份客户机连接或接口列表,其中包括与目标 SAP 系统的所有关键连接。确定连接配置中需要进行的修改,以指向虚拟 IP 地址或负载平衡机制。在测试期间,在群集执行故障转移之前,必须对每个连接进行连接、检测新连接所花费的时间以及应用程序设置的锁丢失情况进行验证。有关更多信息,请参阅 。客户端重新导向选项.

  • 如果您的 SAP HANA 工作负载具有高可用性和灾难恢复,则必须采取其他步骤来执行集群验证。起搏器集群只能看到其群集成员(主要和次要)。群集软件不控制灾难恢复操作(第 3 层/第三层)。

    当在多层 SAP HANA 系统复制设置中触发故障转移并且辅助数据库接管主数据库的角色时,复制将在第三系统上继续。但是,一旦原始主系统的故障得到纠正并且系统恢复可用,则需要手动干预才能完成从新的主 SAP HANA 数据库到原始主数据库的反向复制要求。对于不支持(低于 SAP HANA 2.0)多目标复制的 SAP HANA 数据库,需要执行这些手动步骤。有关更多信息,请参阅 。SAP HANA 多tget 复制.

    在对原始主站点执行故障恢复后,必须执行一些手动步骤才能在第三站点上重新启用复制。在发布系统供生产使用之前,验证这些步骤的流程以及每个测试场景中服务启动所花费的时间,这一点非常重要。

  • SAP HANA 系统复制可以在主动/主动配置中配置。此配置将辅助硬件用于只读目的。支持的产品包括 SAP S/4 HANA、HANA 上的 BW 和 BW4/HANA。

    SLES 和 RHEL 支持使用起搏器集群的 Active/Active SAP HANA 系统复制设置。根据操作系统版本的不同,可能需要执行其他步骤才能使用起搏器集群设置主动/主动配置。

    测试场景将有所不同,包括对只读虚拟 IP 的故障转移和回切行为的额外验证,以及相应的客户端连接能够在故障转移和故障恢复后进行连接。

灾难恢复模拟练习指导

您的灾难恢复设置必须通过执行手动模拟练习进行验证。通过模拟灾难恢复练习,您可以验证恢复点和时间目标以及调用灾难恢复的步骤。您还可以确定所涉及的各个团队的所有权和任务,制定路由客户端连接以及建立与集线器系统和第三方连接的连接的详细计划。

调用灾难恢复系统需要其他团队(例如专门的网络运营团队)的详细规划和支持。一旦这些系统在灾难恢复区域启动,它还需要就性能要求达成协议。

灾难恢复模拟练习还涉及验证 Amazon EFS、Amazon S3 和其他产品的跨区域复制Amazon作为整体灾难恢复计划一部分的服务。任何计划跨区域复制这些服务(例如 Amazon EFS)的同步任务都必须经过调整或暂停。它们往往会覆盖在灾难恢复站点上创建的任何新内容。您可能还需要在网络层上执行任务,以便 SAP 和第三方系统在灾难恢复区域中进行相互通信,并实现客户端连接。还必须执行恢复后的任务,例如申请新许可证。还必须考虑最终用户的通信要求以及如何在灾难恢复站点上连接到 SAP HANA 系统的指导。

深入的灾难恢复模拟练习还包括测试在原始站点(主区域或可用区)上恢复 SAP HANA 系统的步骤。必须仔细计划此任务,以避免任何数据丢失。在两层和多层 SAP HANA 系统复制设置中,复制步骤有所不同。它需要异步复制模式。

在调用灾难恢复并回切到原始站点之前,职能和技术团队必须验证 SAP HANA 系统是否存在潜在的数据丢失。通过模拟灾难恢复练习,您还可以为业务连续性准备标准操作程序,从而在实际灾难中节省时间并最大限度地减少可能的数据丢失。