DB2 HADR的心跳检测

DB2的主要和备用之间是通过发送心跳信号来检测对方是否存在的

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

HEARTBEAT_INTERVAL(秒)=30

HEARTBEAT_MISSED=0

HEARTBEAT_EXPECTED=58588

HADR_TIMEOUT(秒)=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秒。计算以后HEARTBEAT_INTERVAL是30秒。

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


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

如果主端在PEER_WINDOW_END之前失败,可以执行一个没有数据损失的故障转移(收购力命令添加了一个对等窗口只选项)


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

其中:

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

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

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


DB2 HADR的心跳检测