从 EBS 快照还原 SAP HANA - SAP HANA 开启 Amazon
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

从 EBS 快照还原 SAP HANA

成功的还原策略取决于许多因素,包括:

  • 导致还原的故障场景或事件

  • 需要还原到的恢复点

  • 上次成功备份的日期和时间

所有这些因素都可能影响还原和恢复方法。建议制定、测试并妥善记录一个全面的灾难恢复(DR)策略,确保对恢复过程和恢复时间有充分的了解。

以下步骤不包括有关日志恢复的详细说明,日志恢复可能涉及辅助备份机制,例如适用于 SAP HANA 的 Amazon Backint。在选择要恢复的卷时,务必考虑对恢复点的潜在影响。

步骤 1:为还原做准备

  1. 获取有关要还原的 EBS 卷的信息。此信息可以帮助您确定哪些卷需要还原。例如,它可以帮助您确定工作负载的数据量和日志量。使用此信息来标记您的卷,或者将信息保存在不受该实例丢失影响的位置。

    运行以下命令,并记下卷的 ID、序列号、UUID、挂载点信息、fstab 配置和附件信息。

    $ lsblk -o +LABEL,UUID,SERIAL | sed 's/vol/vol-/g'
$ cat /etc/fstab | column -t
$ aws ec2 describe-volumes \ --filters Name=attachment.instance-id,Values=<instance_id> \ --query 'Volumes[*].[VolumeId,Size,Attachments[0].Device,Attachments[0].InstanceId,Attachments[0].State]' \ --output table
  1. 查看 EBS 快照的快速快照还原状态。使用快速快照还原从快照创建的 EBS 卷可立即提供其所有预调配性能。这消除了首次访问区块时对其进行 I/O 操作的延迟。这对 SAP HANA 还原很重要,因为在磁盘启动时会从磁盘读取表,以便将表加载到内存中。在创建 EBS 卷之前,请确保在要创建该卷的可用区内,相应快照的快速快照还原功能处于 enabled 状态。此外,您还需要有足够的卷创建额度。有关更多信息,请参阅注意事项

  2. 确定备份和备份目录。如果可能,请确定您计划还原到的备份的时间戳和备份 ID。确保备份目录位于 EBS 卷还原后仍然可访问的位置。

  3. 停止 SAP HANA 和任何备份计划。如果要进行就地还原,请确保恢复前 SAP HANA 和操作系统处于干净状态。

    运行以下命令,以使用 sapcontrol 或其他 SAP 工具停止 SAP HANA 和所有已连接的 SAP 应用程序,并删除剩余的进程以及清理共享内存段。

    $ cleanipc <hana_sys_no> remove

    (可选)执行以下操作以防止 SAP HANA 在还原完成之前尝试启动。如果您需要在还原完成之前重新启动操作系统,这会很有帮助。

    $ cd /usr/sap/<hana_sid>/SYS/profile $ vi <hana_start_profile>

    然后,检查 autostart 的值并将其更改为 0

    #autostart=1 # Previous value changed for restore. autostart=0
  4. (可选)暂时禁用或修改 Amazon Data Lifecycle Manager 策略或计划,以排除您正在执行还原的 EC2 实例。这可以防止对还原过程的干扰,并确保所需的快照在还原过程中保留下来。

步骤 2:附加或替换还原后的 EBS 卷

以下步骤取决于您是要恢复到创建备份的 EC2 实例还是恢复到新 EC2 实例。如果您要替换同一实例上的 EBS 卷,则必须分离之前的所有卷。

  1. 确定要从 EBS 快照恢复的挂载点,如果适用,请从实例中卸载与旧卷关联的文件系统。 EC2 例如,以根用户身份运行以下命令。

    $ umount </hana/data>

    如果您担心卷的状态可能会影响重启实例的能力,则可以注释掉 /etc/fstab 中的相应条目。

  2. 按照有关从 EBS 快照还原 EBS 卷的规范性指导,从与备份时间相匹配的快照和待还原的卷创建卷,然后使用您在步骤 1 中记下的映射信息将卷附加到实例。

    如果您使用的是条带逻辑卷管理器(LVM)卷,请格外注意确保卷组中所有必需的卷都从同一时间点恢复。

  3. 扫描或刷新连接的卷。以根用户身份运行以下命令。

    $ pvscan --cache -aay

    如果您使用的是 LVM,请运行以下命令。

    $ vgchange --refresh
  4. 重新挂载卷并确保 /etc/fstab 反映了所需的文件系统。例如,运行以下命令。 ``

    $ mount </hana/data>

    查看操作系统日志中是否存在错误。

步骤 3:恢复 SAP HANA 数据库

还原 EBS 卷后,请按照 SAP 文档中的说明恢复 SAP HANA 系统数据库和所有租户。确保备份目录以及向前滚动所需的所有日志都可用。这可能包括访问 SAP HANA and/or 本地文件系统的 Amazon 备份。

由于系统数据库和租户数据库通常共用相同的文件系统,因此所有数据库都需要恢复。

  1. 恢复 SAP HANA 系统数据库。有关更多信息,请参阅 SAP 文档中的从数据快照恢复 SAP HANA

  2. 恢复所有 SAP HANA 租户数据库。有关更多信息,请参阅 SAP 文档中的从数据快照恢复所有租户数据库

步骤 4:恢复标准操作

如果您之前在启动还原过程时禁用了 Amazon Data Lifecycle Manager 策略,那么现在您应该重新启用该策略,这样它就可以继续自动为所有目标实例创建应用程序一致的 EBS 快照。 EC2

您也可以考虑将 autostart 改回 1,以便 SAP HANA 在系统重启后自动重启。