ceph 网络问题常用排查手段

检测Ceph环境中是否存在网络问题,常用方法使用及总结如下:
Iperf3:IPerf3使用过程中会将网络压满,会影响业务,只能和技服充分沟通后再使用

服务端:iperf3 -s -p 4000 -f M
iperf3 -s(服务端) -p 4000(端口号) -f 开关指定生成报告的数据格式类型

客户端:
iperf3 -c 192.168.26.51 -f K
iperf3 -c 192.168.26.51(服务端的ip) -f K -i 1(1s 刷新1次) -t 60(运行60s) -p (port)

iperf3 -c 192.168.26.51 -f K -w 200K
-w 设置窗口大小和套接字缓冲区的大小

在服务器发送和客户端接收的反向模式下运行,可以添加-R开关
iperf3 -c 192.168.26.51 -f K -w 200K -R

双向运行测试,意味着我们要同时测量两个方向上的宽带 -d:
iperf3 -c 192.168.26.51 -f K -w 200K -d

如果要在客户端输出中获取服务器结果,可以使用“–get-server-output”选项,此时我们便会在客户端192.168.26.131主机上获取两份数据。
iperf3 -c 192.168.26.51 -f K -w 200K --get-server-output

使用-P选项设置并行客户端流的数量,它们同时运行
iperf3 -c 192.168.26.51 -f K -w 200K -P 2
在这里插入图片描述
1、可以看到带宽不稳,波动较大
2、Retr过高,重传意味着丢包,tcp发生丢包会严重影响通信性能
3、窗口值过小,还没有到1MB就开始重传,滑动窗口太小,会降低性能

2、查询ethX网口收发包统计,注意-S为大写
ethtool -S eth2 | grep errors
[root@node1 lfl]# ethtool -S eth2 | grep errors
rx_crc_errors: 0
rx_missed_errors: 0
tx_aborted_errors: 0
tx_carrier_errors: 0
tx_window_errors: 0
rx_long_length_errors: 0
rx_short_length_errors: 0
rx_align_errors: 0
rx_errors: 0
tx_errors: 0
rx_length_errors: 0
rx_over_errors: 0
rx_frame_errors: 0
rx_fifo_errors: 0
tx_fifo_errors: 0
tx_heartbeat_errors: 0
排查bond2(业务网口)的各个网口是否存在错误信息。

3、netstat -i | column –t 查看网口接口信息
在这里插入图片描述
主要观察RX-ERR 和 TX-ERR项
相关各项解释如下:
Iface:网络接口名称
MTU:最大传输单元
RX-OK:接收时,正确的数据包数
RX-ERR:接收时,产生错误的数据包数
RX-DRP:接收时,丢弃的数据包数
RX-OVR:接收时,由于过速而丢失的数据包数
TX-OK:发送时,正确的数据包数
TX-ERR:发送时,产生错误的数据包数
TX-DRP:发送时,丢弃的数据包数
TX-OVR:发送时,由于过速而丢失的数据包数

4、
watch “cat /proc/net/snmp | grep Tcp | awk ‘{print $13,$14,$16}’| column -t”
在这里插入图片描述
InCsumErrors - 接收的带有校验和错误的报文数
TCP 接收的错误报文数
TCP 接收的目前所有建立连接的错误报文数
标红的各项不停的几十几十的涨说明网络存在问题

5、tcpdump分析抓取相关网口的cap包,抓取后拖入wireshark中进行分析
Tcpdump抓取相关包的方法如下:
抓取相关包:
tcpdump -i eth0 -s 0 -w file.pcap
可以指定端口进行抓包:tcpdump -i eth0 port 22
读取抓包文件:
tcpdump -r file.pcap

猜你喜欢

转载自blog.csdn.net/underzerotem/article/details/106577334