作者:廖灵妹于 2024年04月25日 发布在分类 / 经验案例 / 经验案例 下,并于 2024年04月25日 编辑
2024-04-25 10:22:29版本: fd文件泄漏导致SNMP GET获取失败
 历史版本

修改日期 修改人 备注
2024-06-26 17:54:58[当前版本] 廖灵妹 修改错别字
2024-06-26 17:47:30 廖灵妹 修改内容和命令
2024-04-25 10:22:29 廖灵妹 CREAT

1现场环境

项目名称

南瑞信通公司扩建云桌面项目

存储型号/版本/SN

MS5580G2/V3.0.6T06P20

2问题描述

2024年4月16日01:09:43,5台设备升级P20后,GUI“设备日志”界面显示SNMP CPU利用率告警,SNMP GET获取信息失败;


3故障分析

1、在message中搜索“Get product type info ”查看在0xffffffff错误之前是否存在“Get product type info ”打印。

Apr 16 00:59:20 00-b3-42-04-9b-52 axis2_http_server[10902]: ODSP:MSG:UPGRADE:Get product type info = MS5520G2INT-AF-----SNMP get获取设备版本信息打印

Apr 16 00:59:21 00-b3-42-04-9b-52 snmpd[22623]: ODSP:MSG:(null): Failed to get spu warnled status.err[0xffffffff],uri: http://localhost:9090/axis2/services/spumod

Apr 16 00:59:21 00-b3-42-04-9b-52 snmpd[22623]: ODSP:MSG:SNMP: Failed to query sp warn led state, errno[0xffffffff].

Apr 16 00:59:21 00-b3-42-04-9b-52 snmpd[22623]: ODSP:MSG:SNMP: LABEL ERR_OUT in handle_storStatus.

Apr 16 00:59:21 00-b3-42-04-9b-52 snmpd[22623]: ODSP:MSG:SNMP: Failed to get dev info interface, ret[0xffffffff].

Apr 16 00:59:21 00-b3-42-04-9b-52 snmpd[22623]: ODSP:MSG:SNMP: Failed to get dev info interface, ret[0xffffffff].

Apr 16 00:59:21 00-b3-42-04-9b-52 snmpd[22623]: ODSP:MSG:UPGRADE: Error: stub NULL!

Apr 16 00:59:21 00-b3-42-04-9b-52 snmpd[22623]: ODSP:MSG:(null): Failed to get spu warnled status. err[0xffffffff], uri: http://localhost:9090/axis2/services/spumod

Apr 16 00:59:21 00-b3-42-04-9b-52 snmpd[22623]: ODSP:MSG:SNMP: Failed to query sp warn led state, errno[0xffffffff].

Apr 16 00:59:21 00-b3-42-04-9b-52 snmpd[22623]: ODSP:MSG:SNMP: LABEL ERR_OUT in handle_storStatus.

Apr 16 00:59:21 00-b3-42-04-9b-52 snmpd[22623]: ODSP:MSG:SNMP: Failed to get dev info interface, ret[0xffffffff].

Apr 16 00:59:21 00-b3-42-04-9b-52 snmpd[22623]: ODSP:MSG:SNMP: Failed to get dev info interface, ret[0xffffffff].

Apr 16 00:59:21 00-b3-42-04-9b-52 snmpd[22623]: ODSP:MSG:(null): websvc_diskmgt_query_all_disklist failed in collect_disk_info,[0xffffffff]

Apr 16 00:59:21 00-b3-42-04-9b-52 snmpd[22623]: ODSP:MSG:(null): get device interface failed in handle_ifNumber , ret=[0xffffffff] , sp no is [1]

Apr 16 00:59:21 00-b3-42-04-9b-52 snmpd[22623]: ODSP:MSG:(null): get device interface failed in handle_ifNumber , ret=[0xffffffff] , sp no is [0]

Apr 16 00:59:21 00-b3-42-04-9b-52 snmpd[22623]: ODSP:MSG:(null): get device interface failed in handle_ifNumber , ret=[0xffffffff] , sp no is [1]


Apr 16 00:59:20 00-b3-42-04-9b-52 axis2_http_server[10902]: ODSP:MSG:UPGRADE:Get product type info= MS5520G2INT-AF

Apr 16 00:59:21 00-b3-42-04-9b-52 snmpd[22623]: ODSP:MSG:(null): Failed to get spu warnled status. err[0xffffffff], uri: http://localhost:9090/axis2/services/spumod

Apr 16 00:59:21 00-b3-42-04-9b-52 snmpd[22623]: ODSP:MSG:SNMP: Failed to query sp warn led state, errno[0xffffffff].

Apr 16 00:59:21 00-b3-42-04-9b-52 snmpd[22623]: ODSP:MSG:SNMP: LABEL ERR_OUT in handle_storStatus.

Apr 16 00:59:21 00-b3-42-04-9b-52 snmpd[22623]: ODSP:MSG:SNMP: Failed to get dev info interface, ret[0xffffffff].

Apr 16 00:59:21 00-b3-42-04-9b-52 snmpd[22623]: ODSP:MSG:SNMP: Failed to get dev info interface, ret[0xffffffff].

Apr 16 00:59:21 00-b3-42-04-9b-52 snmpd[22623]: ODSP:MSG:UPGRADE: Error: stub NULL!

Apr 16 00:59:21 00-b3-42-04-9b-52 snmpd[22623]: ODSP:MSG:(null): Failed to get spu warnled status. err[0xffffffff], uri: http://localhost:9090/axis2/services/spumod

Apr 16 00:59:21 00-b3-42-04-9b-52 snmpd[22623]: ODSP:MSG:SNMP: Failed to query sp warn led state, errno[0xffffffff].

Apr 16 00:59:21 00-b3-42-04-9b-52 snmpd[22623]: ODSP:MSG:SNMP: LABEL ERR_OUT in handle_storStatus.

Apr 16 00:59:21 00-b3-42-04-9b-52 snmpd[22623]: ODSP:MSG:SNMP: Failed to get dev info interface, ret[0xffffffff].

Apr 16 00:59:21 00-b3-42-04-9b-52 snmpd[22623]: ODSP:MSG:SNMP: Failed to get dev info interface, ret[0xffffffff].

2、SNMP GET失败的情况下,在底层查询fd文件打开次数,如果超过1024次就说明存在fd文件泄漏。其他情况请联系研发接口人处理。

ps -aux | grep snmpd | grep -v grep

lsof grep PID | grep upgrademod

4分析结论


1、升级后出现SNMP CPU利用率告警原因为V3.0.6T06P20合入进程的CPU利用率超过85%打印到odsp.log和message中,为了避免出现CPU波动导致误判,CPU利用率告警做了告警防抖处理,即一分钟检测一次,10次当中有8次告警,告警中心才会出现CPU利用率告警,现场的告警中心并没有CPU告警信息;
2、SNMP GET获取存储版本信息时,调用的接口存在fd文件泄露(fd文件泄漏SNMP GET的时候打开的一个文件,打开后没有关闭释放,get一次打开一次,总共就1024个可用的,最后没有fd文件可用了,SNMP GET就获取不到信息了)导致异常;

5处理意见

1、在SNMP CPU利用率高的那端重启SNMP服务就能临时解决SNMP CPU利用率高和SNMP GET 失败问题,重启snmp进程命令:

ps -aux | grep snmpd | grep -v grep

kill -9 PID(以实际为准)


2、临时解决方法:升级V3.0.6Tx_B11补丁,该补丁适用于源版本为V3.0.6X合入每隔两周凌晨零点定时重启SNMP进程。
\\172.153.254.4\Software_Tmp\02-受限使用版本\基于V3.0.6的受限使用版本\V3.0.6Tx_B11
4、彻底解决方法:待2024年Q3研发合入新版本后,升级解决;

6影响范围

V1.2.27x及之后至V3.0.6T06P20及之前版本都涉及获取存储版本信息时,调用的接口fd文件泄漏导致异常问题。该问题不影响设备的正常运行,只影响SNMP GET获取信息。



 附件

附件类型

JPEGJPEG PNGPNG WEBPWEBP

历史版本-目录  [回到顶端]
    宏杉案例知识库-V4.0.1