ag频繁切换的网络优化
[TOC]
故障上报
2019.02.13 某个业务的 Alwayson Group 频繁发生自动切换
原厂回复
若排除网络波动这个因素,建议对网络层面的默认阈值做一下优化,以降低自动切换的发生概率。
解决方案
1.检查当前网卡驱动的版本,可能的话请升级到最新版本
2.计算机管理 - 设备管理器 - 网络适配器 - 选中某网卡 - 高级,调整如下:
参数 | 结果 | 备注 |
---|---|---|
TCP 校验和卸载传输(IPv4) | 禁用 | 默认enabled |
大型发送分载V2 (IPv4) | 禁用 | 默认enabled |
巨帧数据包 | 禁用 | 默认enabled |
接收方调整 | 启用 | 默认enabled,务必enabled |
3.以管理员身份打开命令提示符,运行以下命令:
netsh interface tcp set global chimney=disabled
netsh interface tcp set global ecn=disabled
netsh interface tcp set global netdma=disable
netsh interface tcp set heuristics wsh=disabled
netsh interface ip set global taskoffload=disabled
执行 netsh interface tcp show global
查看结果应该为:
参数 | 结果 | 备注 |
---|---|---|
接收端缩放状态 | enabled | 默认enabled,英文 Receive-Side Scaling State,务必enabled |
烟囱卸载状态 | disabled | 默认enabled,英文 Chimney Offload State |
NetDMA 状态 | disabled | 默认enabled,英文 NetDMA State |
ECN 功能 | enabled | xxx |
4.确认所有网卡的IPv6已经禁用
5.以管理员身份打开powershell命令行,运行以下命令:
$cluster = Get-Cluster
$cluster.SameSubnetDelay=2000
$cluster.SameSubnetThreshold=10
$cluster.CrossSubnetThreshold=10
$cluster.CrossSubnetDelay=4000
使用 get-cluster | fl *subnet*
检查是否配置成功
参数 | 结果 | 备注 |
---|---|---|
CrossSubnetDelay | 4000 | 默认1000 |
CrossSubnetThreshold | 10 | 默认5 |
PlumbAllCrossSubnetRoutes | 0 | |
SameSubnetDelay | 2000 | 默认1000 |
SameSubnetThreshold | 10 | 默认5 |
6.针对Windows Server 2012 R2,建议安装以下link中的所有安全补丁: