首页 > 代码库 > windows cluster 心跳检测阀值优化
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 心跳检测阀值优化