SAP HANA 设置和 HSR
通过配置参数和创建所需备份,使 SAP HANA 做好系统复制(HSR)准备。
重要
本指南假设 SAP HANA 平台已按照 AWS 和 SAP 的指导,使用不同可用区中的两个 EC2 实例安装为纵向扩展配置,或者使用两个可用区中的多个 EC2 实例安装为横向扩展配置。
查看 AWS 和 SAP 安装指南
SAP 制作了文档,讲解如何使用 SAP HANA Cockpit、SAP HANA Studio 或命令行中的 hdbnsutil 来配置 SAP HANA 系统复制。请查看该文档中适合您的 SAP HANA 版本的内容,确保该指南没有变化,或者使用命令行以外的方法。
检查 global.ini 参数
以 <sid>adm 的身份运行以下命令。这些命令将提示输入 SYSTEMDB 数据库的系统密码。
检查 log_mode 是否设置为 normal
确保在 global.ini 文件的 persistence 部分中,将配置参数 log_mode 设置为 normal:
hdbsql -jx -i <hana_sys_nr> -u system -d SYSTEMDB "SELECT VALUE FROM M_INIFILE_CONTENTS WHERE FILE_NAME = 'global.ini' AND SECTION = 'persistence' AND KEY = 'log_mode';"
例如:
hdbadm> hdbsql -jx -i 00 -u system -d SYSTEMDB "SELECT VALUE FROM M_INIFILE_CONTENTS WHERE FILE_NAME = 'global.ini' AND SECTION = 'persistence' AND KEY = 'log_mode';"
VALUE
"normal"
查看 global.ini 文件复制
SAP HANA 系统复制功能需要在主系统和辅助系统之间采用一致的配置来确保正常运行,尤其是在失效转移场景中。global.ini 中的 inifile_checker/replicate 参数为满足该要求而提供了自动化解决方案。在主系统上启用该参数后,对主系统上的 ini 文件所做的任何配置更改都会自动同步到辅助站点。这样就无需手动复制配置,并有助于防止可能影响系统可用性的配置不匹配。该参数只需在主系统上配置,因为辅助系统将通过正常的系统复制过程接收这些配置更改。
将以下 添加到 中global.ini
[inifile_checker] replicate = true
请参阅 SAP Note 2978895 - Changing parameters on Primary and Secondary site of SAP HANA system
在主系统上创建 SAP HANA 备份
获取所有活动数据库的列表:
hdbsql -jx -i <hana_sys_nr> -u system -d SYSTEMDB "SELECT DATABASE_NAME,ACTIVE_STATUS from M_DATABASES"
例如:
hdbadm> hdbsql -jx -i 00 -u system -d SYSTEMDB "SELECT DATABASE_NAME,ACTIVE_STATUS from M_DATABASES"
Password:
DATABASE_NAME,ACTIVE_STATUS
"SYSTEMDB","YES"
"HDB","YES"
创建 SYSTEMDB 和每个租户数据库的备份:
以下命令是针对基于文件的备份的示例。您可以使用首选工具和位置执行备份。如果使用文件系统(例如 /backup),请确保有足够的空间进行完整备份。
停止辅助系统并复制系统 PKI 密钥
停止辅助系统
以 <sid>adm 的身份在辅助系统上停止 HANA 应用程序
sapcontrol -nr <hana_sys_nr> -function StopSystem <SID>
复制系统 PKI 密钥
使用 scp、共享文件系统或 S3 存储桶,将以下 PKI SSFS 系统密钥和数据文件从主系统复制到辅助系统上的相同位置:
/usr/sap/<SID>/SYS/global/security/rsecssfs/data/SSFS_<SID>.DAT /usr/sap/<SID>/SYS/global/security/rsecssfs/key/SSFS_<SID>.KEY
例如,可以使用 scp:
hdbadm>scp -p /usr/sap/HDB/SYS/global/security/rsecssfs/data/SSFS_HDB.DAT hdbadm@hanahost02:/usr/sap/HDB/SYS/global/security/rsecssfs/data/SSFS_HDB.DAT
hdbadm>scp -p /usr/sap/HDB/SYS/global/security/rsecssfs/key/SSFS_HDB.KEY hdbadm@hanahost02:/usr/sap/HDB/SYS/global/security/rsecssfs/key/SSFS_HDB.KEY
在主系统和辅助系统上配置系统复制
在主系统上启用系统复制
确保主 SAP HANA 系统已启动,然后以 <sid>adm 的身份,使用唯一的站点名称启用系统复制:
hdbnsutil -sr_enable --name=<site_1>
例如:
hdbadm> hdbnsutil -sr_enable --name=siteA
在辅助系统上注册系统复制
确保辅助 SAP HANA 系统已停止,然后以 <sid>adm 的身份,使用唯一的站点名称、主系统的连接详细信息和首选复制选项来启用系统复制。
hdbnsutil -sr_register \ --name=<site_2> \ --remoteHost=<hostname_1> \ --remoteInstance=<hana_sys_nr> \ --replicationMode=[sync|syncmem] \ --operationMode=[logreplay|logreplay_readenabled]
例如:
hdbadm> hdbnsutil -sr_register --name=siteB --remoteHost=hanahost01 --remoteInstance=00 --replicationMode=syncmem --operationMode=logreplay
或者,如果您的设置要求对辅助系统进行主动/主动启用只读访问权限:
hdbadm> hdbnsutil -sr_register --name=siteB --remoteHost=hanahost01 --remoteInstance=00 --replicationMode=syncmem --operationMode=logreplay_readenabled
-
hostname_1是用于安装 SAP HANA 的主机名,可能是虚拟名称。 -
复制模式可以是
sync或syncmem。 -
要使复制支持集群系统和热备用系统,操作模式必须为
logreplay或logreplay_readenabled。 -
有关更多信息,请参阅 SAP 文档。
检查 SAP 主机代理版本
SAP 主机代理用于 SAP 实例的控制和监控。此代理由 SAP 集群资源代理和钩子使用。建议您在所有实例上安装主机代理的最新版本。有关更多详细信息,请参阅 SAP Note 2219592 – Upgrade Strategy of SAP Host Agent
使用以下命令检查主机代理的版本,在所有 SAP HANA 节点上重复此操作:
# /usr/sap/hostctrl/exe/saphostexec -version