windows cluster 心跳检测阀值优化

Posted 两年十一时

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows cluster 心跳检测阀值优化相关的知识,希望对你有一定的参考价值。

通过cmd命令Cluster.exe /prop查看当前群集的属性信息,其中心跳阀值相关属性:

  • SameSubnetDelay:同一子网中的节点的测信号频率
  • SameSubnetThreshold: 同一子网中的节点的延迟的阈值
  • CrossSubnetDelay: 不同的子网中的节点的检测信号频率
  • CrossSubnetThreshold: 在不同的子网中的节点的延迟的阈值

SameSubnetDelay 默认代表每1秒执行一次Windows群集心跳检测,SameSubnetThreshold 代表Windows群集允许最大心跳检测失败数5,超过这个数量就可能会引起群集故障转移。

 

心跳调整允许的范围如下:最大允许每2秒检测一次,连续10次失败则为失败。

属性

默认值

允许范围值

SameSubnetDelay

1000ms

250ms~2000ms

SameSubnetThreshold

5

3~10

CrossSubnetDelay

1000ms

250ms~2000ms

CrossSubnetThreshold

5

3~10

 
 

通过cmd命令修改:

Cluster.exe /Prop SameSubnetDelay=2000

Cluster.exe /Prop SameSubnetThreshold=10

Cluster.exe /Prop CrossSubnetDelay=2000

Cluster.exe /Prop CrossSubnetThreshold =10

查看结果cluster.exe /prop

 

心跳检测说明

心跳检测的简单理解为,Node1会发送一个连接序列号到Node2,Node2响应相同的序列号,Node1再次发送一个相同的序列号到Node2,且Node2再次回应相同序列号。Node1将确定此心跳序列完成并开始另外的序列检测,如果在这某次检测过程中,心跳序列被删除或未及时接收到,将表示missed此次心跳,默认过程连续五次心跳序列均missed,此节点被认为非活动。

通过修改阀值,可以解决一定程度上的网络延迟,但并不能根本的解决问题,所以请记住对延迟或阈值设置的更改不会被视为一种故障排除技术。对于心跳检测默认使用IPv6,因为它是比IPv4更快的协议,如果已禁用 IPv6,它将使用 IPv4。故障转移群集不会混合和匹配 IPv6 和 IPv4。不能同时使用。

 

 

以上是关于windows cluster 心跳检测阀值优化的主要内容,如果未能解决你的问题,请参考以下文章

Redis源码解析:25集群握手心跳消息以及下线检测

windows server 2019 hyper-v Failover Cluster

windows server 2019 hyper-v Failover Cluster

Nacos源码之服务端AP架构集群节点的心跳检测

Android微信智能心跳方案 (转)

WebSocket 心跳检测和重连机制