通过脚本自动化创建SAP HANA沙箱环境以及进行自动化容灾与恢复


1. 方案目标
1) 每天HANA 生产库,采用HANA backint 备份到专用介质库;
2) 每天最新HANA 生产数据库同步至容灾平台数据库;
3) 优化HANA 备份管理员备份清理工作,提升备份恢复管理效率。

 

2. 解决方案及配置
解决方案:
SAPNW 内置功能实现备份自动化,HANA Backint 接口使用Veeam 介质库中转备份,最后通过容灾平台
OS 调用计划任务进行容灾平台数据的自动刷新。
前置条件:
1) HANA 平台软件安装与配置,源和目标平台软件版本一致
2) HANA 生产平台和HANA 容灾平台部署Veeam Plug-in for SAP HANA 组件

 

 

2.1. 备份实现
HANA 生产平台使用SAP NW 内置工具包(DB13),配置每天23:00 生产库,全备份到专用介质库。实现HANA 生产库的自动备份需求。同时通过Backint 自动15分钟日志备份到专用介质库。

 

 

 

2.2. 恢复实现
HANA 容灾平台使用HDBSQL,结合Linux 的计划任务(crom), 配置每天8:00 生产库恢复容灾平台,实现HANA 生产库数据同步至容灾平台数据库。

 

3. 方案验证
1) 生产库备份
SAP HANA Studio 执行一次PRD@HEP 全份,确认数据全能通过Backint 备份至Veeam 介质库。

 

2) 备份恢复
在容灾平台,执行恢复脚本RecoverScrpit.sh,恢复脚本如下:
#!/bin/sh
#/* Recover script */
# define backup prefix
source $HOME/.bashrc
date="$(date +"%Y-%m-%d")"
time="$(date +"%Y-%m-%d %H:%M:%S")"
#backup="backup data using file ('$date')"
recover="RECOVER DATABASE FOR PRD UNTIL TIMESTAMP '$time' CLEAR LOG USING SOURCE 'PRD@HEP'
CHECK ACCESS USING BACKINT"
stopdb="ALTER SYSTEM STOP DATABASE PRD"
#log Recover start
echo "daily Recover :" $time "Start" >> $DIR_INSTANCE/Recover.log
#Stop tenant db about 2 min
$DIR_EXECUTABLE/hdbsql -U backup -x $stopdb
sleep 2m
echo "Stop Tenant DB :" $time "Stop Tenant DB 2 min" >> $DIR_INSTANCE/Recover.log
#Recover command
$DIR_EXECUTABLE/hdbsql -U backup -x $recover
time="$(date +"%Y-%m-%d %H:%M:%S")"
#log Recover end
echo "daily Recover :" $time "End" >> $DIR_INSTANCE/Recover.log

 

3)自动恢复
配置容灾平台计划任务:每天8:00 执行恢复脚本

 

4)结果验证方案
生产环境数据库创建一条业务数据,第二天在容灾平台确认业务数据是否同步。
示例:2021年5月12日,在生产环境创建一个Bak001 用户,当前DEV的恢复的PRD中是没有的,今晚23点备份,明天8点备份恢复到DEV,明天自动恢复JOB执行完毕,再进SAPABAP1,查表usr02确认用户BAK001记录是否存在?如记录存在证明方案有效。

 

4. 其它收益
本方案每15分钟进行一次日志备份,RPO从之前的24小时缩短到15分钟。采用SAP HANA Backint 接口与第三方备份软件集成方式进行HANA 备份,可以简化传统文件备份操作。管理员不必担心HANA 平台的磁盘被日志备份充满。
另外数据恢复通知脚本方式自动执行,在轻松构建SAP HANA沙箱的同时,也极大提升备份管理员的工作效率和强度。建议规划部署SAP HANA Cockpit,全面管理HANA平台,实现所有HANA平台资源、性能、备份、恢复等全生命周期的管理工作。


0 comments

Be the first to comment!

Comment