• 当前Windows群集心跳阀值设置


    一、内容描述:

    WINDOWS群集之间通过心跳检测(HeartBeat)各个节点是否正常在线,微软称此检测为lookalive,检测通过UDP数据包中封装的RPC信息进行传送。默认情况下为每秒检测一次,如果连续5次检测失败,则可能发生故障转移。

    然而日常运维过程中,存在网络延迟和网络拥挤的个别现象,尤其是不同子网之间的通信更是如此;公司AlwaysOn节点与SQLCluster群集的通信为跨子网,因此在网络繁忙时段,将可能出现网络延迟导致检测失败。本文描述通过调整心跳检测阈值,以最大程度的避免此情况的发生。

    二、WINDOWS心跳阀值设置步骤:

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

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

    四、参考文档:

    http://blog.csdn.net/jaminwm/article/details/8008895

    http://technet.microsoft.com/zh-cn/magazine/hh535729.aspx

  • 相关阅读:
    bootstrap学习笔记
    java-多态
    java-重写
    java-继承
    java-包
    java-封装
    java-可变参数
    java-标准输入
    java-构造方法
    private、public、this关键字
  • 原文地址:https://www.cnblogs.com/chhuang/p/4182272.html
Copyright © 2020-2023  润新知