Nutanix集群出现CVM间高网络延迟问题的分析
问题描述
Prism中出现如下告警事件:
Latency between CVMs: Latency between CVMs is higher than 15 ms.
出现此告警则表示CVM互Ping延迟较高(超过15ms,一般同一集群内的延迟不应该高于2ms),会影响ZooKeeper及Cassandra服务的稳定性,极端情况下会造成数据复制异常。
集群NCC检查项名称为:inter_cvm_ping_latency_check
$ ncc health_checks network_checks inter_cvm_ping_latency_check
问题定位
1. 检查集群内所有CVM间互Ping延迟情况:
$ allssh "find ~/data/logs/sysstats -maxdepth 1 -name 'ping_hosts.INFO.*' -exec gawk '/IP : time/ {next}; /#TIMESTAMP/ {match(\$0, / ([0-9][0-9]\/.*:[0-9][0-9] [AP]M)/, arr); next}; \$3>13.0 || \$3=unreachable {print arr[1] \" \" \$0}' '{}' + | tail -n25"
默认取日志最新25行,如果高延迟现象发生频率较高,可以修改
tail -n
参数。
实时Ping Hosts日志位于:
/home/nutanix/data/logs/sysstats/ping_hosts.INFO
检查单一节点CVM上的互Ping延迟,使用如下命令:
$ grep -B 6 '[8-9][.]' ~/data/logs/sysstats/ping_hosts.INFO |grep -v ': [0-7][.]' #TIMESTAMP 1545264624 : 12/20/2018 08:10:24 AM #IP : time #192.168.1.2 : 29.7 ms #192.168.1.5 : unreachable #...
2. 检查CVM到存储网关的Ping延迟情况(过滤出大于15ms的记录):
$ cat ~/data/logs/sysstats/ping_gateway.INFO | egrep -v "IP : time" | awk '/^#TIMESTAMP/ || $3>15.00 || $3=unreachable' | egrep -B1 " ms|unreachable" | egrep -v "\-\-"
3. 检查NCC检查项返回失败结果的频率:
$ allssh 'zgrep -h "inter_cvm_ping_latency_check is FAIL" data/logs/health_server.log.*'
其他说明
在ESXI虚拟化层检测网络配置
#检查物理机网卡及端口状态 $ esxcfg-nics -l $ esxcfg-vmknic -l #检查端口瞬断情况 $ tac /var/log/vmkernel.log | grep vmnic* | grep down #检查VLAN和MTU配置 $ vim-cmd hostsvc/net/query_networkhint --pnic-name=vmnic* | egrep "location|mgmtAddr|softwareVersion|systemName|hardware|vlan|portId|port|ipSubnet" #检查vSwitch配置 $ esxcfg-vswitch -l #检查网络接口错误 $ ethtool -S vmnic*
— END —