正常亮:如果是千兆网口,网口灯数据灯和传输灯都为一样颜色的则正常,如果一个橙色一个绿色,则说明主板没有起来,联系硬件部确定是否需要返修,如果是百兆网口的数据灯和传输灯颜色不一致则为正常。
场景二:网口兼容性问题
当出现设备网口丢包、网口错误帧不停增加等怀疑是网口兼容性问题时,按照如下方法判断。
第一种现象:
条件一:已知对端设备是百兆交换机且锁定了全/半双工工作模式;
条件二:我们设备为千兆口,自动协商(auto)时,协商成半双工工作模式,且PING时会有丢包,但如果把我们设备网口锁定成全/半双工时,我端设备网口灯熄灭,无法连接;
条件三:中间增加交换机可以正常工作。
如果满足如上3个条件,此时需要和客户确认,此网线是否为直通(平行)网线。(由于我们的设备有些平台如果锁定百兆后,其网口芯片不支持线序反转功能,导致一直无法连接上)
解决办法:如果是直通(平行)网线,则需要更改成交叉网线或者中间加交换机解决!(此和网口芯片的型号有关)
第二种现象:
条件一:已知对端设备是百兆交换机且锁定了全/半双工工作模式;
条件二:我们的设备也是百兆口。
如果满足这两个条件,接上设备,我端设备锁定工作模式和速率后,也无法协商,需要和客户确认连接网线是否为直通(平行)网线。
解决办法:如果是平行网线,请先更换成交叉网线后看是否能解决!
如以上两种方法无法解决问题,请联系硬件部做进一步排查。
场景三:网卡error包处理
一、网卡的包错误类型有:
常见的网卡error包错误类型:
rx_length_errors rx_long_length_errors
rx_crc_errors
rx_missed_errors
rx_fifo_errors = Total number of rx_queue_*_drops
rx_queue_*_drops = Number of dropped packets per queue
rx_long_length_errors 和 rx_length_errors :
是数据包length跟实际收到的包长不匹配造成的,这个需要收集具体的报文来分析
rx_crc_errors :
包括硬件校验错误和数据包校验错误,硬件上和劣质电缆光纤、环境噪音(cross talk)、环境干扰、接地问题、接头的氧化,插拔磨损,连接接触相关都会造成硬件校验错误。网络震荡、广播风暴、网络环路都会造成数据包校验错误,可以尝试更换网线解决
rx_missed_errors :
是缓存满了造成的,这个和当时的带宽性能有关系,还和流控有关系,AC可以通过关闭硬件流控可以解决这个问题
但总的来说造成error的因素很多,需要具体问题具体分析
二、问题处理
Ifconfig 查看error包出现在哪个网卡上
ethtool -S ethx查看error包类型
1、出现error包,先确认是哪个网卡出现error包,ifconfig -a,查看:
如果查看到网卡有大量error、dorp、overruns、frame包,这些数据上千亿级别,同时ethtool查看网卡状态异常,ethtool -S 查看寄存器error类型,各类error数据量千亿级别,可以基本确定是硬件问题,网卡硬件宕了,网卡寄存器出现数据异常一般是这种现象。
网卡硬件故障:
2、查看error包出现在软件虚拟出来的网卡,此类问题一般是软件问题,请联系研发确认
实例:
TX端出现error包,我们发现是vlan和虚拟出来网卡上出现错误报,在实际的物理网卡上并没有出现error,需要软件研发介入排查确认
现象如下:
vlan0 Link encap:Ethernet HWaddr 02:00:4C:69:37:2F
inet addr:1.1.1.1 Bcast:1.255.255.255 Mask:255.255.255.255
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:66029367 errors:0 dropped:0 overruns:0 frame:0
TX packets:70595 errors:68380170 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7223052170 (6.7 GiB) TX bytes:59020509 (56.2 MiB)
3、查看error包出现在实际物理网卡上,且错误包类型是crc_errors
此类问题一般是网络传输受到了干扰造成的,一般是网线接触问题,网线被干扰,网线劣质,网络风暴等。如果此类error增长率是0或者很小,客户网络也没有影响, 这个error问题则可以忽略。
实际案例中,遇到多起crc_errors问题,换了网线后可以解决问题,遇到此类问题先更换网线
4、查看error包出现在实际物理网卡上,且错误包类型是missed_errors。
此类问题一般是网络流量过大,网络峰值,性能问题、硬件流控造成,如果此类error增长率是0或者很小,客户网络也没有影响, 这个error问题则可以忽略
举例:分析网卡丢包数据,rx_missed_errors: 12369211643 这个参数表示的是收包不及时,网卡队列满了,丢包统计的数值,观察一段时间,发现客户环境中丢包并不是连续的,过一段时间才会丢包,丢包的数量和时间长度都不定,这个场景在网络里面是很正常的,网络数据量较大的情况下,网卡收包队列里面如果满了,收发不及时,就会产生这种网卡丢包现象,不影响网络通信的正常使用,AC存在硬件流控机制,当收发队列快满了,会通知对端将发包的速度减缓,对收发性能有一定影响,可以将此模块给关闭,一定程度上能够缓解丢包现象,12.0.12版本已经将这个模块默认关闭了,11.8的版本发现的已知问题比较多,为保障稳定性建议直接升级处理
5、查看error包出现在实际物理网卡上,且错误包类型是long_length_errors,length_errors。
是数据包length跟实际收到的包长不匹配造成的,这个需要收集具体的报文来分析,一般是大包传输问题造成,需要找研发处理。
实例:出现rx__long_length_errors确认是大包错误,客户比较多的协议是VXLAN,数据包MTU长度会比普通数据包长度多出4-100字节,AF最大支持MTU为1500字节。超过此长度会丢包,网卡会记录rx__long_length_errors和rx_length_errors。需要确认大包原因是什么,7.5.1版本有定制,把MTU改大道1600,但只能对数据包进行透传,不能解析检测,AC遇到此类场景较为少见,遇到具体分析
6、tx_window_errors:官方解释:
6.1. 后期冲突(late collision):是指在发送站发送了64个字节(1字节就是8 bit,1byte=8bit;所以64字节是512bit)后发生的。线路过长的话会在前64个字节完成后发生冲突,后期冲突和发生在前64个字节的冲突最明显的区别是后者网卡会自动重新传输正常的冲突祯,但不会重传后期冲突的祯。
late collision的原因包括:
(1)不正确的Duplex模式设置;
(2)电缆超长(信号传输中延时过大);
(3)工作站间超过了4中继原则;
(4) 网络工作站的硬件错误。
2. 本地冲突(local collision):是指在同轴电缆上,信号在单一的传输介质上传播直到遇到了另外一台工作站产生的信号,即发生了本地冲突,信号交叠在一起,减弱了部分信号同时又增强了部分信号,其中一个发送站检测到了冲突并停止发送,另一个冲突站则发送拥塞信号被检测到
---------------------
作者:daiqinge
来源:CSDN
场景四:光口兼容性问题
表现:
1设备与对端设备无法连通,光口指示灯不亮
2.设备与对端设备可以连通,但穿透设备ping设备后端的交换机或路由器会有错误包,
丢包率一般较高,超过10%时会导致上网慢,客户pc机PING公网丢包率也较高。
3.设备光口上有大量drop包,并不断增多,影响上网速度,严重的甚至导致断网。
方法:
1.更换接到同一台设备的另外的光口,以确定不是单个光口故障。
2.更换光纤线,确认故障不是由光纤线老化造成。
3.更换光口收发器模块,使我们设备与对端设备的光口模块同一品牌,
最好同时型号也一样: 光波长一样,密码一样(如果有的话),传输距离一样。
4.设备与对端设备之间加光口交换机(需要征得客户同意)。
5.更换另一个供应商的硬件平台,以替换验证
场景五:如何使用完整脚本进行磁盘扫描
简单检测磁盘:smartctl -A -T permissive /dev/sda
完整扫描方法:把scan_disk_v1.sh放到tmp目录,在执行
(/tmp/scan_disk_v1.sh /app/checkdisk.log &)
等完全扫描完取/app/checkdisk.log日志查看,大概需要2-3小时