4.3. 将 SAP HANA 系统复制设置为第三个站点


在现有安装中,已经在双节点集群中的主和次要 SAP HANA 实例之间配置了 SAP HANA 系统复制。在启动并运行主 SAP HANA 数据库实例上启用了 SAP HANA 系统复制。

本章论述了如何在站点 DC3 的节点 remotehost3 上将第三个 SAP HANA 实例注册为额外的辅助 HANA 系统复制站点。此步骤与在节点 clusternode2 上注册原始辅助 HANA 实例(DC2)类似。以下章节将更详细地阐述。如果需要更多信息,您还可以检查 配置 SAP HANA System Replication 的一般前提条件

4.3.1. 检查主数据库

您必须检查其他数据库是否正在运行,系统复制是否正常工作。请参阅:

您可以使用以下方法发现主 HANA 实例:

clusternode1:rh2adm> hdbnsutil -sr_state | egrep -e "primary masters|^mode"
mode: primary

4.3.2. 复制数据库密钥

在您能够注册新的 secondary HANA 实例之前,primary HANA 实例的数据库密钥需要复制到新的 additional HANA 复制站点。在我们的示例中,第三个站点的主机名是 remotehost3。

例如,在主节点 clusternode1 上运行:

clusternode1:rh2adm> scp -rp /usr/sap/${SAPSYSTEMNAME}/SYS/global/security/rsecssfs/data/SSFS_${SAPSYSTEMNAME}.DAT  remotehost3:/usr/sap/${SAPSYSTEMNAME}/SYS/global/security/rsecssfs/data/SSFS_${SAPSYSTEMNAME}.DAT
clusternode1:rh2adm> scp -rp /usr/sap/${SAPSYSTEMNAME}/SYS/global/security/rsecssfs/key/SSFS_${SAPSYSTEMNAME}.KEY remotehost3:/usr/sap/${SAPSYSTEMNAME}/SYS/global/security/rsecssfs/key/SSFS_${SAPSYSTEMNAME}.KEY

4.3.3. 将额外的 HANA 实例注册为辅助 HANA 复制站点

您需要知道运行 主数据库的 节点的主机名。

要监控注册,您可以在主节点上的独立终端中运行以下命令:

clusternode1:rh2adm> watch python
/usr/sap/${SAPSYSTEMNAME}/HDB${TINSTANCE}/python_support/systemReplicationStatus.py

这将显示进度以及错误(如果它们发生)。

要将第 3 个站点(DC3)上注册为额外的次要 SAP HANA 实例,请在第三个站点主机 remotehost3 上运行以下命令:

remotehost3:rh2adm> hdbnsutil -sr_register --name=DC3 --remoteHost=clusternode1 --remoteInstance=${TINSTANCE} --replicationMode=async --operationMode=logreplay --online

在本例中,DC3 是第三个站点的名称,clusternode1 是主节点的主机名。

如果数据库实例已在运行,则不必停止它,您可以使用 --online 选项,该选项将在实例上线时注册。然后,由 hdbnsutil 本身启动实例所需的重启(停止和启动)。

注意

选项 --online 在任何情况下都可以正常工作,当 HANA 实例上线并脱机时(此选项都可以使用 SAP HANA 2.0 SPS04 及更高版本)。

如果 HANA 实例离线,您必须在第三个节点注册后启动它。您可以在 SAP HANA System Replication 中找到更多信息。

4.3.4. 添加 SAP HANA Multitarget System Replication autoregister 支持

我们使用 SAP HANA System Replication 选项,称为 register_secondaries_on_takeover = true。这将自动重新使用新的主站点重新注册辅助 HANA 实例,以防在之前的主站点和其他次要站点之间进行故障转移。这个选项必须添加到所有潜在的主站点的 global.ini 文件中。

所有 HANA 实例都应在 全局.ini 中具有此条目:

[system_replication]
register_secondaries_on_takeover = true

以下两个章节详细描述了 global.ini 配置。

小心

尽管参数在启动故障转移时,如果第三个节点上的额外 second HANA 实例 停机,则需要手动重新注册此 HANA 实例。

4.3.5. 在 pacemaker 节点上配置 global.ini

选项 register_secondaries_on_takeover = true 需要添加到由 pacemaker 集群管理的 SAP HANA 实例的 global.ini 中。请编辑对应节点上的 global.ini 文件,并且不要从另一个节点复制文件。

注意

只有在站点的 HANA 实例已停止处理时,才应编辑 global.ini 文件。

rh2adm 用户身份编辑 global.ini

clusternode1:rh2adm> vim /usr/sap/${SAPSYSTEMNAME}/SYS/global/hdb/custom/config/global.ini

Example:

# global.ini last modified 2023-07-14 16:31:14.120444 by hdbnsutil -sr_register --remoteHost=remotehost3 --remoteInstance=02 --replicationMode=syncmem --operationMode=logreplay --name=DC2
[multidb]
mode = multidb
database_isolation = low
singletenant = yes

[ha_dr_provider_SAPHanaSR]
provider = SAPHanaSR
path = /hana/shared/myHooks
execution_order = 1

[persistence]
basepath_datavolumes = /hana/data/RH2
basepath_logvolumes = /hana/log/RH2
log_mode = normal
enable_auto_log_backup = true

[system_replication]
register_secondaries_on_takeover = true
timetravel_logreplay_mode = auto
operation_mode = logreplay
mode = primary
actual_mode = syncmem
site_id = 1
site_name = DC2

[system_replication_site_masters]
2 = clusternode1:30201

[trace]
ha_dr_saphanasr = info

启动 SAP HANA 数据库实例后,此选项就会生效。

4.3.6. 在第三个站点上配置 global.ini

以 < sid>adm 用户身份编辑 global.ini

remotehost3:rh2adm> vim /usr/sap/${SAPSYSTEMNAME}/SYS/global/hdb/custom/config/global.ini

在 remotehost3 上,不使用 ha_dr_provider_SAPHanaSR 部分。

remotehost3 上的 global.ini 示例:

# global.ini last modified 2023-06-22 17:22:54.154508 by hdbnameserver
[multidb]
mode = multidb
database_isolation = low
singletenant = yes

[persistence]
basepath_datavolumes = /hana/data/RH2
basepath_logvolumes = /hana/log/RH2
log_mode = normal
enable_auto_log_backup = true

[system_replication]
operation_mode = logreplay
register_secondaries_on_takeover = true
reconnect_time_interval = 5
timetravel_logreplay_mode = auto
site_id = 3
mode = syncmem
actual_mode = syncmem
site_name = DC3

[system_replication_site_masters]
2 = clusternode1:30201

4.3.7. 验证安装

安装后,您必须检查所有 HANA 实例是否已启动并在运行,并且 HANA System Replication 在它们之间正常工作。最简单的方法是检查 systemReplicationStatus,如检查系统复制 状态 中详细介绍。

如需更多信息,请参阅检查数据库状态

要使 HANA 系统复制正常工作,请确保"log_mode"参数设为"normal"。如需更多信息,请参阅 检查 SAP HANA 数据库的 log_mode

要验证设置是否按预期工作,请运行 测试案例,如以下章节中所述。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.