5.6. 为 srServiceStateChanged ()hook 方法配置 ChkSrv HA/DR 供应商
如果您希望 HANA 实例在 indexserver 进程失败后停止或终止,则可以配置 hook ChkSrv。此配置是可选的。
先决条件
-
已安装
sap-hana-ha软件包。 -
您已配置了
HanaSRHA/DR 供应商。如需更多信息,请参阅为 srConnectionChanged ()hook 方法配置 HanaSR HA/DR 供应商。
流程
以 <
sid>adm 用户身份更改到HANA 配置目录。使用命令别名cdcoc,它内置在 <sid>adm用户 shell 中。这会自动更改/hana/shared/<SID>/global/hdb/custom/config/路径:rh1adm $ cdcoc
rh1adm $ cdcocCopy to Clipboard Copied! Toggle word wrap Toggle overflow 更新 HANA 实例的
global.ini文件,以配置 hook 脚本。编辑所有 HANA 实例系统上的配置文件,并在HanaSR供应商定义外添加以下内容:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:通过重新载入 HA/DR 供应商在 HANA 运行时激活
ChkSrv供应商。在配置 hook 脚本时跳过这一步,而实例关闭时会自动加载 HA/DR 提供程序。rh1adm $ hdbnsutil -reloadHADRProviders
rh1adm $ hdbnsutil -reloadHADRProvidersCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
以 <
sid>adm 用户身份更改到SAP HANA 目录,其中存储了 trace 日志文件。使用命令别名cdtrace,它内置在 <sid>adm用户 shell 中:rh1adm $ cdtrace
rh1adm $ cdtraceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 检查是否载入了更改:
rh1adm $ grep -e "loading HA/DR Provider.*ChkSrv.*" nameserver_* loading HA/DR Provider 'ChkSrv' from /usr/share/sap-hana-ha/
rh1adm $ grep -e "loading HA/DR Provider.*ChkSrv.*" nameserver_* loading HA/DR Provider 'ChkSrv' from /usr/share/sap-hana-ha/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查是否创建了专用的 trace 日志文件,并使用正确的配置参数载入供应商:
rh1adm $ cat nameserver_chksrv.trc init called ChkSrv.init() version 1.001.1, parameter info: action_on_lost=stop stop_timeout=20 kill_signal=9
rh1adm $ cat nameserver_chksrv.trc init called ChkSrv.init() version 1.001.1, parameter info: action_on_lost=stop stop_timeout=20 kill_signal=9Copy to Clipboard Copied! Toggle word wrap Toggle overflow
故障排除
- 请参阅 hook 更改后,不启动 HANA 实例。