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
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
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
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
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 中找到更多信息。
我们使用 SAP HANA System Replication 选项,称为 register_secondaries_on_takeover = true。这将自动重新使用新的主站点重新注册辅助 HANA 实例,以防在之前的主站点和其他次要站点之间进行故障转移。这个选项必须添加到所有潜在的主站点的 global.ini 文件中。
所有 HANA 实例都应在 全局.ini 中具有此条目:
[system_replication] register_secondaries_on_takeover = true
[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
clusternode1:rh2adm> vim /usr/sap/${SAPSYSTEMNAME}/SYS/global/hdb/custom/config/global.ini
Example:
启动 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:rh2adm> vim /usr/sap/${SAPSYSTEMNAME}/SYS/global/hdb/custom/config/global.ini
在 remotehost3 上,不使用 ha_dr_provider_SAPHanaSR 部分。
remotehost3 上的 global.ini 示例:
4.3.7. 验证安装 复制链接链接已复制到粘贴板!
安装后,您必须检查所有 HANA 实例是否已启动并在运行,并且 HANA System Replication 在它们之间正常工作。最简单的方法是检查 systemReplicationStatus,如检查系统复制 状态 中详细介绍。
如需更多信息,请参阅检查数据库状态。
要使 HANA 系统复制正常工作,请确保"log_mode"参数设为"normal"。如需更多信息,请参阅 检查 SAP HANA 数据库的 log_mode。
要验证设置是否按预期工作,请运行 测试案例,如以下章节中所述。