4.4. 配置辅助 HANA 复制实例
您必须将 secondary HANA 实例注册到主实例,以完成 HANA 系统复制的设置。
先决条件
-
您已使用与主实例相同的
SID和实例号在辅助节点上安装 SAP HANA。 -
您已在集群节点之间配置了
root ssh 密钥。 -
您已在 辅助 节点上打开了 2 个终端,一个用于
root用户,另一个用于 <sid>adm用户。
流程
停止 secondary HANA 实例,并以 <
sid>adm用户身份在node2上运行:rh1adm $ HDB stop … Stop OK Waiting for stopped instance using: /usr/sap/<SID>/SYS/exe/hdb/sapcontrol -prot NI_HTTP -nr <instance> -function WaitforStopped 600 2 … WaitforStopped OK hdbdaemon is stopped.切换到 HANA 存储系统复制加密密钥的目录:
[root]# cd /usr/sap/<SID>/SYS/global/security/rsecssfs将 HANA 系统 PKI 文件
SSFS_<SID>.KEY从主 HANA 实例复制到次要实例:[root]# rsync -av node1:$PWD/key/SSFS_<SID>.KEY key/将 PKI 文件
SSFS_<SID>.DAT从主 HANA 实例复制到次要实例:[root]# rsync -av node1:$PWD/data/SSFS_<SID>.DAT data/在 <
sid>adm用户终端中将 secondary HANA 实例注册到主实例:rh1adm $ hdbnsutil -sr_register --remoteHost=node1 \ --remoteInstance=${TINSTANCE} --replicationMode=sync \ --operationMode=logreplay --name=<DC2> adding site ... collecting information ... updating local ini files ... done.-
将
<DC2> 替换为您的辅助 HANA 站点名称。 -
根据您的系统复制的要求,选择
replicationMode和operationMode的值。 -
TINSTANCE是一个环境变量,通过读取 HANA 实例配置集为用户 <sid>adm自动设置。变量值是 HANA 实例号。
-
将
启动 second HANA 实例。在
node2上以<sid>adm身份运行:rh1adm $ HDB start ... Starting instance using: /usr/sap/<SID>/SYS/exe/hdb/sapcontrol -prot NI_HTTP -nr <instance> -function StartWait 2700 2 ...
验证
检查系统复制是否在次要实例上运行,并且
模式与在第 5 步中的hdbnsutil -sr_register命令中使用的值匹配。在 node2 上以<sid>adm身份运行:rh1adm $ hdbnsutil -sr_stateConfiguration System Replication State ~~~~~~~~ mode: sync site id: 2 site name: DC2 active primary site: 1 primary masters: node1 done.以 <
sid>adm用户在两个实例上,切换到 HANA 实例的 Python 脚本目录。最简单的方法是使用cdpy,它是一个内置在实例安装过程中的 <sid>adm用户 shell 中的别名:rh1adm $ cdpy在我们的示例中,此命令会将当前目录改为
/usr/sap/RH1/HDB02/exe/python_support/。在两个实例上显示已建立的 HANA 系统复制的当前状态。
在主实例上,系统复制状态始终使用所有详情显示:
rh1adm $ python systemReplicationStatus.py |Database |Host |Port |Service Name |Volume ID |Site ID |Site Name |Secondary |Secondary |Secondary |Secondary |Secondary |Replication |Replication |Replication |Secondary | | | | | | | | |Host |Port |Site ID |Site Name |Active Status |Mode |Status |Status Details |Fully Synced | |-------- |-------- |----- |------------ |--------- |------- |--------- |----------|--------- |--------- |--------- |------------- |----------- |----------- |-------------- |------------ | |SYSTEMDB |node1 |30001 |nameserver | 1 | 1 |DC1 |node2 | 30001 | 2 |DC2 |YES |SYNC |ACTIVE | | True | |RH1 |node1 |30007 |xsengine | 2 | 1 |DC1 |node2 | 30007 | 2 |DC2 |YES |SYNC |ACTIVE | | True | |RH1 |node1 |30003 |indexserver | 3 | 1 |DC1 |node2 | 30003 | 2 |DC2 |YES |SYNC |ACTIVE | | True | status system replication site "2": ACTIVE overall system replication status: ACTIVE Local System Replication State ~~~~~~~~~~ mode: PRIMARY site id: 1 site name: DC1-
ACTIVE表示 HANA 系统复制处于健康状态,并完全同步。 -
当系统复制在次要站点更新时,会显示
SYNCING,例如在接管次要实例后变为新的主。 -
在系统复制首次启用或触发完整同步后,会显示
INITIALIZING。
-
在 二级 实例上,
systemReplicationStatus.py的输出比较详细:rh1adm $ python systemReplicationStatus.py this system is either not running or not primary system replication site Local System Replication State ~~~~~~~~~~ mode: SYNC site id: 2 site name: DC2 active primary site: 1 primary masters: node1