某动力OceanStor 9000反复重启问题分析

发布时间:  2015-07-16 浏览次数:  212 下载次数:  0
问题描述

2015年7月2日14:30开始, 客户挂载的OceanStor 9000存储三个节点反复重启,导致业务时断时续。

告警信息

类型

描述

发生时间

已恢复告警

设备(Node1)退出。

2015-07-01 14:29:59

已恢复告警

设备(Node3)退出。

2015-07-01 14:31:06

已恢复告警

设备(Node2)退出。

2015-07-01 14:51:02

已恢复告警

设备(Node3)退出。

2015-07-01 14:52:04

已恢复告警

设备(Node1)退出。

2015-07-01 15:05:43

已恢复告警

设备(Node2)退出。

2015-07-01 15:10:22

处理过程

1.收集设备信息,交于研发分析

2.现场有I/O访问就会造成节点的重启,无法立即拉起业务。

3.研发实验室还原场景测试,该问题重现,表明是共性问题。

4.按研发给出的临时解决方案处理,后期进行产品版本升级该问题能得到最终解决。

根因

1. 从9000节点获取内核重启生成的日志文件,使用内核命令进行解析,确认节点在重启时候客户端发送过来的命令字是NFS v4.1的 EXCHANGE_ID命令字,命令字编号是42,minorversion=1表明是NFS v4.1。


2. 由于OceanStor 9000暂不支持NFS v4.1的版本,在9000侧没有针对NFS v4.1的命令字做正确处理,导致使用NFS v4.0协议的标准接口去解析NFS v4.1的命令字,逻辑处理异常导致重启。

3. 实验室复现:

实验室模拟了客户端发送NFS v4.1的EXCHANGE_ID报文,经过抓包确认,OceanStor 9000收到EXCHANGE_ID命令字后重启,可以确认和现场发生重启原因一致。如下图:


解决方案

临时解决措施

现在已经通过定位问题原因,现场实施关闭OceanStor 9000的NFSv4协议来规避,这样能够保证NFSv4.1的报文不会处理,也就不会进入异常处理流程。业务可以通过挂载NFSv3协议来正常访问,业务恢复。

最终解决措施

现场系统在稳定运行过程中,客户端使用NFS v4.1的报文连接服务器,导致服务器异常重启。9000当前版本不支持NFS v4.1。且没有对NFS v4.1进行自我保护,后续将修改该部分,最终OceanStor 9000将支持NFS v4.1。

建议与总结

该设备当前版本V100R001C01SPC210,在OceanStor 9000版本未明确表示支持NFS v4.1时,配置NFS共享时先咨询400询问或者挂载NFSv3协议来访问。

END