43  
   0
fd文件泄漏导致SNMP GET获取失败
作者:廖灵妹于 2024年04月25日 发布在分类 / 经验案例 / 经验案例 下,并于 2024年08月23日 编辑
SNMP SNMPGET

1现场环境

存储型号/版本

MS5580G2/V3.0.6T06P20

2问题描述

2024年4月16日01:09:43,5台设备升级V3.0.6T06P20后,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、在存储所有控制器的底层查询 fd 文件打开次数,如果输出结果 1000 次左右就说明存在 fd 文件泄漏,不同的控制器的SNMP进程是单独运行的;

ps -aux | grep snmpd

lsof | grep PID | grep upgrademod | wc -l

4分析结论

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

5处理意见

1、SNMP CPU利用率高CPU利用率高解决方法:

在SNMP CPU利用率高的那端重启SNMP服务就能临时解决SNMP CPU利用率高和SNMP GET 失败恢复现场环境,重启snmp进程命令:

ps -aux | grep snmpd | grep -v grep

kill -9 PID(以实际为准)

2、临时解决方法:

(1)如果SNMP每天获取次数不超过1000,则升级V3.0.6Tx_B11补丁,该补丁适用于源版本为V3.0.6X合入每天凌晨零点定时重启SNMP进程,SMP设备也可升级B11。
\\172.153.254.4\Software_Tmp\02-受限使用版本\基于V3.0.6的受限使用版本\V3.0.6Tx_B11

(2)如果SNMP每天获取次数超过1000,则升级V3.0.6Tx_B14补丁,该补丁适用于源版本为V3.0.6X合入每天中午12点和凌晨零点定时重启SNMP进程,SMP设备也可升级B14。

\\172.153.254.4\Software_Tmp\02-受限使用版本\基于V3.0.6的受限使用版本\V3.0.6Tx_B14
3、彻底解决方法:

fd文件泄漏问题研发已在V3.0.6T06P20_K1.3解决,建议升级至 V3.0.6T06P20_K1.3及之后版本。

备注:SMP设备目前还未确认彻底解决版本,可向二线确认;

6影响范围

V3.0.6T06P17、V3.0.6T06P20、V3.0.6T06P03_SMP.04版本都涉及,其他版本是否涉及暂未发现;

获取存储版本信息时,调用的接口fd文件泄漏导致异常问题。该问题不影响设备的正常运行,只影响SNMP GET获取信息,还可能会产生SP系统盘使用率告警可通过重启SNMP进程释放/var/log分区空间。



 知识评论当前评论数0

 推荐知识


 访问权限

创建人 廖灵妹
工作小组 宏杉成员
文档编辑权限 创建者私有
文档阅读权限 来自分类
分类阅读权限 所有人
分类编辑权限 技术服务部  : 机构     渠道合作伙伴  : 机构     系统管理员 : 人员     
分类审核权限 审核小组  : 岗位    
分类预览权限 审核小组 : 岗位    
分类下载权限 技术服务部  : 机构    
 历史版本

修改日期 修改人 备注
2024-08-23 14:19:55[当前版本] 廖灵妹 修改彻底解决方法: fd文件泄漏问题研发已在V3.0.6T06P20_K1.3解决,建议升级至V3.0.6T06P20_K1.3及之后版本。
2024-06-26 17:54:58 廖灵妹 修改错别字
2024-06-26 17:47:30 廖灵妹 修改内容和命令
2024-04-25 10:22:29 廖灵妹 CREAT

 附件

附件类型

JPEGJPEG WEBPWEBP

 目录
     关联知识
    1. GUI显示SP系统盘使用率告警问题排查处理方案
    宏杉案例知识库-V4.0.1