以下信息适用于 SAP HANA 横向扩容实例。如需了解纵向扩容和 HA 1+1 配置,请参阅 适用于 SAP HANA 的备份和灾难恢复服务。
SAP HANA 横向扩容即时恢复(挂载和迁移)
使用 LVM 迁移方法,自动将 HANA 数据从备份/恢复设备暂存磁盘迁移到生产磁盘。在纵向扩容配置或非共享 LVM 多节点横向扩容集群的备份/恢复设备暂存磁盘上恢复 SAP HANA 数据库后,使用 LVM 迁移方法。
恢复脚本
恢复脚本为 /act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh
请参阅脚本详情。
数据库恢复和迁移
开始恢复之前的前提条件
- 停止 SAP HANA 数据库(对于横向扩容配置,需要在所有节点上执行此操作)
sapcontrol -nr <instance number> -function StopSystem
sapcontrol -nr <instance number> -function GetSystemInstanceList
- 确保 /etc/fstab 包含 /hana/data 和 /hana/log 装载的 /dev/mapper 条目。
- 使用
df -kh
获取 /hana/data 和 /hana/log 的 /dev/mapper 条目。
- 使用
- 验证 /hana/data 和 /hana/log 是否未被任何进程占用。
- 使用卸载和重新挂载 /hana/data 和 /hana/log 进行检查。
- 如果配置了 HANA 快速重启,请在 /etc/fstab 下注释 HANA 快速重启条目,然后卸载快速重启挂载点。在恢复并合并两步挂载和迁移的第一步后,通过挂载快速重启挂载点并取消注释快速重启挂载点的 /etc/fstab 条目来启用快速重启。
挂载映像
使用管理控制台将备份映像挂载到目标服务器:
- 以特权用户身份登录管理控制台。
- 选择所需应用,然后选择访问。
- 选择映像,然后点击装载。
- 停用 CREATE NEW VIRTUAL APPLICATION(创建新的虚拟应用)选项,然后选择相应的目标节点或集群。如果要挂载到扩缩集群,请确保已启用 MOUNT TO ALL CLUSTER SERVERS 选项。
- 提供挂载点位置,然后点击提交。
装载作业完成后,映像会装载到目标 HANA 服务器上的指定位置。
装载和迁移用例
两个用例
一步式挂载和迁移。恢复数据库,然后在数据库运行时将数据从备份/恢复设备提供的存储空间迁移到生产存储空间。
两步装载并迁移。恢复数据库的副本。恢复的数据库在备份/恢复设备上正常运行。生产存储空间准备就绪后,您可以在数据库运行时开始将数据迁移到生产存储空间。
一键装载和迁移
挂载映像后,您可以一次性恢复和迁移数据。
在挂载映像的目标服务器上运行此脚本。
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermigrate
如需恢复到特定时间点,请使用
-r
选项:/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermigrate -r <time>
使用此选项时,系统会恢复数据库,将通过备份/恢复设备预配的磁盘的卷组与本地存储空间合并,并开始迁移数据库。
作业成功后,系统会在数据库运行时将数据从通过备份/恢复设备预配的磁盘移至本地生产存储空间。
如果 HANA 源 SID 和目标 SID 不同
如果 HANA 源 SID 和目标 SID 不同,请先在数据和日志挂载点中将 SID 目录重命名为目标 SID,然后再运行 hana_lvm_recover_migrate.sh
脚本。
例如:
源 sid:HPR 目标 sid:HSR 挂载点:/mmrestore
- 必须先在 /mmrestore/hana/data 挂载点中将目录
/mmrestore/hana/data/HPR
重命名为/mmrestore/hana/data/HSR
,然后才能运行hana_lvm_recover_migrate.sh
脚本。 - 必须先在 /mmrestore/hana/log 装载点中将目录
/mmrestore/hana/log/HPR
重命名为/mmrestore/hana/log/HSR
,然后才能运行hana_lvm_recover_migrate.sh
脚本。
两步装载并迁移
挂载映像后,恢复数据库的副本。恢复的数据库在备份/恢复设备上正常运行。
运行 recovermerge 选项,以便从已挂载的映像中运行数据库副本:
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermerge
如需恢复到特定时间点,请使用
-r
选项:/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermerge -r <time>
恢复成功后,数据库会在备份/恢复设备上运行。数据库已启动,可供应用使用。
当生产存储空间可用时,在数据库运行时开始将数据迁移到生产存储空间。
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh migrate
从备份/恢复设备中卸载并删除已挂载的映像
- 以特权用户身份登录管理控制台。
- 选择第 1 步中挂载的映像。
- 点击卸载并删除。
脚本详情 (hana_lvm_recover_migrate.sh)
该脚本包含以下详细信息。
- NAME:SAP HANA 恢复辅助脚本
- 路径:/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh
- 摘要:
hana_lvm_recover_migrate.sh <OPERATION> [OPTIONS]
- 说明:将 SAP HANA 数据从备份/恢复设备恢复到横向扩展集群或独立集群。
- OPERATION:指定要执行的操作,此字段为必填字段。
- 合并:合并 Actifio 卷组和生产卷组。
- Migrate:将卷从 Actifio 磁盘迁移到生产磁盘。
- Recover:运行 Actifio 扩容恢复脚本。
- RecoverMerge:运行 Recover 和 Merge。
- RecoverMigrate。运行恢复和迁移。
- 回滚。将集群置于可再次尝试恢复的状态。
- 测试。可用于测试作业配置。
可选参数
该脚本还提供了以下可选参数,用于替换任何值。
-a \<name\>: mount job name override
-A \<log|params\>: Method to discover job name, log file or params file
-C \<count\>: Expected node count override
-D \<path\>: Path to the HANA data mount point, expected to be the same
for all nodes
-h: Display help documentation and exit, specify operation for more info
-I \<name\>: HANA database SID override
-K \<user\>: HANA keystore user to use for the restore
-L \<path\>: Path to the HANA log mount point, expected to be the same
for all nodes
-r \<time\>: Timepoint to which to recover the HANA database
-R: Assert that the recover script has already been run
-S \<path\>: Path to the shared directory, expected to be the same for
all nodes
-t \<minutes\>: Number of minutes without an update before a job is
considered timed out
-T \<minutes\>: Number of minutes to allow for starting the HANA DB
service
-u \<user\>: HANA service account username \<adm user\>
-v: Enable verbose logging
-V \<version\>: HANA version
-w \<seconds\>: Base wait time, job status checks 1x, file system
operations 4x
脚本选项
恢复
如果您不想将数据迁移到生产存储空间,请运行恢复选项。
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recover
默认情况下,该脚本会从 UDSAgent 日志中提取最新的 Job#,并收集作业所需的所有信息,例如目标挂载点和数据库 SID。如果此目标服务器上的上一个作业不是挂载作业,则需要提供上一个挂载作业的作业编号(使用 -a 选项),以替换挂载作业的默认值:
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recover -a <Job_#>
如需将实例恢复到特定时间点(使用 -r 选项)
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recover -a <Job_#> -r <time>
成功恢复后,数据库会耗尽备份/恢复设备挂载的设备。
合并
当数据库从通过设备挂载到设备上运行时,此选项可在步骤 A 之后运行恢复操作(用于将数据迁移到生产环境存储空间)。在此过程中,数据库会关闭,生产存储空间的卷组会与备份/恢复设备卷组合并。合并操作成功后,数据库会上线。
传递合并选项后,预计数据库的恢复流程会完成。如果恢复是手动完成的,而未使用此脚本,则用户可以指定 -R 选项来确认是否已运行恢复。如果恢复未完成,脚本将不会继续合并流程。
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh merge
recovermerge
如果您计划将数据迁移到生产存储空间,请运行 recovermerge 选项。recovermerge 选项是恢复和合并流程的超集,其中合并操作是恢复过程的一部分。这样可以避免在迁移流程开始时重启数据库。
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermerge
如果此目标服务器上的上一个作业不是挂载作业,则需要使用 -a 选项提供上一个挂载作业的作业编号,以替换挂载作业的默认值:
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermerge -a <Job_#>
如需将实例恢复到特定时间点,请使用 -r 选项:
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermerge -a <Job_#> -r <time>
恢复成功后,脚本会继续运行合并操作,其中将生产存储空间的卷组与备份/恢复设备卷组合并。在此过程中,数据库会下线,成功完成合并操作后,数据库会上线。
迁移
在脚本运行 recover 或 recovermerge 后运行 migrate 选项,系统就会在数据库运行时开始将数据从备份/恢复设备提供的存储空间迁移到生产存储空间。
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh migrate
如果恢复未完成,脚本将不会继续迁移流程。在迁移过程中,脚本会检查合并操作是否已完成,然后在不重启数据库的情况下继续迁移,否则,它会将生产存储空间的卷组与备份/恢复设备卷组合并。在此过程中,数据库会停机,在合并操作成功后,数据库会上线。
recovermigrate
recovermigrate 包含 recover、recovermerge 和 migrate 操作。在此过程中,系统会恢复数据库,将通过备份/恢复设备预配的磁盘的卷组与本地存储空间合并,并启动数据库迁移。
脚本为 /act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermigrate
。
如果此目标服务器上的上一个作业不是挂载作业,则需要使用 -a 选项提供上一个挂载作业的作业编号,以替换挂载作业的默认值:
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermigrate -a <Job_#>
如需将实例恢复到特定时间点,请使用 -r 选项:
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh recovermigrate -a <Job_#> -r <time>
对于扩容配置,系统会在集群的所有节点上并行启动迁移。
作业成功后,系统会在数据库运行时将数据从通过备份/恢复设备预配的磁盘移至本地生产环境存储空间。
回滚
回滚选项会查看作业日志,以确定恢复、合并、迁移、recovermerge 或 recovermigrate 作业的阶段,并还原对数据库服务器所做的所有更改。如果将卷组合并到本地生产设备和备份/恢复设备暂存磁盘之间,则系统会从生产卷组中移除暂存磁盘物理卷,以执行回滚操作。
/act/custom_apps/saphana/lvm_migrate/hana_lvm_recover_migrate.sh rollback
test
在发起任何实际恢复操作之前,您可以使用测试操作来确保环境已正确配置为可运行。由于 Test 操作不会进行任何更改,因此您可以根据需要运行该操作多次,也可以完全跳过该操作。
确保在测试运行期间检查以下内容:
- 节点检查;此任务会在所有操作中运行。
- 检查预期的节点数是否与实际节点数相符。
- 检查是否可以对非主节点使用 SSH 访问权限(如果适用)。
- 检查节点是否有权访问共享目录。
适用于 SAP HANA 横向扩容的 Backup and DR Service 文档
本页面属于一系列页面中的一页,专门介绍如何使用 Backup and DR Service 保护和恢复 SAP HANA 横向扩展实例。您可以在以下页面中找到更多信息:
- 适用于 SAP HANA 横向扩容的备份和灾难恢复
- 为备份准备 SAP HANA 横向扩容实例
- 添加 SAP HANA 横向扩展主机,并发现和保护其数据库
- 为 SAP HANA 横向扩容配置暂存磁盘格式和备份方法
- 为 SAP HANA 横向扩容实例设置应用详细信息和设置
- 备份 HANA 1+n 和 HANA 横向扩展数据库
- 恢复 SAP HANA 横向扩容实例
- 将 SAP HANA 横向扩容备份作为标准挂载点挂载
- 将 SAP HANA 横向扩容备份挂载为虚拟数据库
- 挂载和迁移 SAP HANA 横向扩展备份,以便将其即时恢复到任何目标