锐捷N18K cpu利用率高

关键字:

N18K,fw_group

一、故障现象描述

某集团公司运行过程中发现N18010设备CPU高,其中设备虽没有使用防火墙板卡,但fw_group进程较高。

场景拓扑

拓扑介绍

两台核心N18K VSU部署,因客户业务特殊,在EG上通过SNMP读取核心的ARP表做准出认证。

二、故障排查分析

  1. 设备show log查看发现tcpip/snmpd/ssc_process进程高,该问题由于方案限制,SNMP读取频繁(5s)导致CM卡性能不够导致,研发已建议客户更换引擎处理,但客户原因暂未更换。
  1. show interfac counter未发现异常流量,排除环路可能。
  2. show nfpp log buffer发现存在异常攻击日志,将IP封堵后CPU问题依旧。
  1. 将EG的认证临时取消降低下SNMP读取速率,CPU高的问题得到缓解,但接着报fw_group进程CPU高。
  1. show version slot未发现设备使用FW防火墙板卡,进入shell后使用ps命令查看fw_group确实有运行
  1. 继续使用行gdb命令查看,有发现存在大量的wait报错。
与研发核实,fw_group进程在处理Linux内核接口的read函数(FW Group come. complete receive 接口)时,对返回值的处理存在问题,当返回值小于0,err类型为EINIR时,才应该继续调用read读取;当前处理是返回值等于0,err类型为EINIR时,也会继续调用read函数读取,导致进程陷入死循环。进程陷入死循环后会不停申请cpu资源,最终导致cpu大量被该进程占用。

三、故障根因说明

软件BUG,FW Group come. complete receive 接口函数处理异常,SNMP频发查询加剧函数大量timewait动作,导致状态累积无法正常释放,进而导致CPU高。

四、故障解决方案

  1. 现场可以通重启设备规避。
  2. 升级软件版本解决。

五、故障总结

fw_group组件适用于和防火墙板卡交互的,用于收集防火墙板卡信息,即使没有装载防火墙板卡他也会底层运行。
设备的SNMP一些查询操作,数据可能会跑到fw_group进程,截图如下:
阅读剩余
THE END