千家信息网

DB2 HADR的heartbeat检测

发表于:2024-11-12 作者:千家信息网编辑
千家信息网最后更新 2024年11月12日,DB2的Primary和Standby之间是通过发送心跳信号来检测对方是否存在的与此心跳有关的几个db2pd -db xxx -hadr 监控指标HEARTBEAT_INTERVAL(seconds)
千家信息网最后更新 2024年11月12日DB2 HADR的heartbeat检测

DB2的Primary和Standby之间是通过发送心跳信号来检测对方是否存在的

与此心跳有关的几个db2pd -db xxx -hadr 监控指标

HEARTBEAT_INTERVAL(seconds) = 30

HEARTBEAT_MISSED = 0

HEARTBEAT_EXPECTED = 58588

HADR_TIMEOUT(seconds) = 120

需要查看的是 HEARTBEAT_MISSED/HEARTBEAT_EXPECTED的比值

HADR_TIMEOUT是DB CFG的一个参数,这里设置为 120

HEARTBEAT_INTERVAL 计算方法: HADR_TIMEOUT/4 = 120/4=30


HEARTBEAT_INTERVAL的最大值是 30秒



推荐的 hadr_timeout 参数设置至少为 60 秒。


HADR_TIMEOUT 推荐值是120 seconds. 计算以后 HEARTBEAT_INTERVAL 是 30 秒.

设置 hadr_timeout参数时,要考虑网络稳定性和机器响应时间。如果网络拥有不规则或长时间传输延迟,则应使用更长的超时设置。


每一次心跳,在Primary端都会产生一个 PEER_WINDOW_END值,并且发送到Standby端。

如果Primary端在 PEER_WINDOW_END之前失败,可以执行一个没有数据损失的故障转移 (TAKEOVER BY FORCE 命令添加了一个 PEER WINDOW ONLY 选项)


hadr_peer_window设置 >= 响应时间 + 安全 边际 + 心跳间隔

其中:

响应时间 = 自动化软件探测到失败并调用 HADR 接管的预计时间

安全边际 = 5 秒,主 - 备用机器时钟同步的安全边际

心跳间隔 = MIN(hadr_timeout值 /4,hadr_peer_window值 /4,30 秒)


0