美文网首页
IO异常问题定位思路

IO异常问题定位思路

作者: robot_test_boy | 来源:发表于2022-08-06 05:59 被阅读0次

转载自华为服务支持的IO异常问题定位思路

常见问题现象

常见的现象一般有文件系统异常导致的IO问题、磁盘IO问题。

磁盘IO问题一般分为两种情况:

一种是IO超时,上层下发的IO请求,从block层进入scsi的时候会启动一个定时器,默认超时时间是30s,如果30s内该IO没有返回,会进入错误处理流程。在日志中可以看到Abort Command之类的打印,如果经过多次重试和SCSI中层reset恢复依然失败,则可能会触发offline对应的device。

另外一种是IO错误,scsi中层对下层驱动返回的错误进行解析,根据错误返回结果来判断是否触发中层错误处理流程。

常见可能的原因

遇到IO异常的问题需要首先进行定界,确认是文件系统故障还是磁盘IO问题。

1) 如果是文件系统问题,通常可以在日志中看到文件系统相关的报错。

2) 如果是磁盘IO问题,出现IO超时,如果SCSI中层多次重试和SCSI中层reset失败,则可能存在硬件/链路故障;出现IO错误时,需要同步检查对应的下层驱动打印查看是否有异常。

常用的解决措施

1) 针对文件系统故障,请参考文件系统异常问题定位思路

2) 当发现日志中有SCSI层多次重试或SCSI中层reset失败记录,触发offline对应的device时,可能此时硬件/链路存在故障,检查对应的设备是本次磁盘还是远端磁盘。

2.1) 针对本地磁盘故障,首先通过message日志中报错的设备找到出错位置,联系对应维护人员通过BMC日志、raid卡日志、对应硬盘日志、OS下raid卡驱动日志等排查,确认故障点并采取相应的措施,比如坏盘更换、故障raid卡更换、版本升级至配套版本等。

2.2) 针对远端存储故障,可能需要联合不同厂家间联合定位,可采取如下措施:

2.2.1) 通过硬件日志、OS下FC卡驱动日志初步确认FC卡本身是否存在明显问题。

2.2.1.1) 查看FC驱动日志,在系统message日志中查看问题出现前后驱动日志是否有异常;另外,一些问题需要开启debug日志开关后,再复现问题收集日志,debug开关开启的方法参考如下:

Qlogic:echo 1 >/sys/module/qla2xxx/parameters/ql2xextended_error_logging(重启失效)

Emulex:安装完成使用rmmod lpfc,重新加载驱动使用 modprobe lpfc  lpfc_log_verbose=0x300cf命令调高驱动级别(重启失效)

2.2.1.2) 查看多路径软件报错,如果使用的是multipath,观察OS日志下是否有出现异常的打印,比如有multipath报failling path的错误等;如果是华为的多路径或者是其他厂家的多路径软件,联系存储侧查看是否有异常

2.2.1.3) 查看FC卡的计数信息,通过维护OS一键收集日志下的hba目录下有FC相关的信息,其中error_frame_crc.txt文件中包含各个端口的invalid_crc_count信息,该计数指示多少个FC帧没有通过CRC校验,如果这个计数很大,可能是FC硬件链路质量存在问题

2.2.2) 通过协调交换机侧确认链路、配置等是否存在异常,比如光纤、两端光模块、对应端口配置、错误计数器计数、流量状况等。

2.2.3) 通过协调存储侧确认存储是否有异常信息。

通过联合定位找到故障点,再采取相应的解决措施,如果主机侧FC卡驱动或固件问题参考iDriver版本升级配套版本是否解决,如未解决联系对应的供应商。如果是其他方面问题协调交换机和存储给出解决方案。

2.3) 当出现IO错误且SCSI未触发重试和reset,可能是下层驱动出现报错,查看该报错信息来判断是否是硬件问题,如果是硬件问题尝试措施(2)解决,如果是驱动或固件问题可参考iDriver版本升级配套版本是否解决,如未解决联系对应的供应商。

相关文章

  • IO异常问题定位思路

    转载自华为服务支持的IO异常问题定位思路[https://support-it.huawei.com/docs/z...

  • rabbitmq io异常排查思路

    1、新建用户问题 场景:新建用户并连接rabbitmq,提示无法连接,报ioexception原因:可能是用户不具...

  • IOS new Date()兼容

    项目开发中遇到了计算日期的问题,在其他平台中测试正常,IOS系统异常。看了下代码 代理请求调试定位问题后,发现io...

  • IO流

    IO流:异常,File,递归 异常:Throwable 严重问题:Error 问题:Exception分为:编译时...

  • 2020台大李宏毅机器学习 异常检测(Anomaly Detec

    问题描述: 什么是异常? 取决于你提供什么样的训练资料 异常检测的应用: 异常检测思路一——二分类思路? 难点:不...

  • springboot内置tomcat在/tmp的临时文件被系统删

    问题 正常运行的springboot项目,突然出现文件上传异常 java.io.IOException: The ...

  • 二十三、归约问题定位思路

    一、问题描述 开发通过Jone编译部署时,报错如下: 二、问题定位 看异常堆栈是依赖问题,但是异常信息不清晰; 观...

  • flutter 富文本渲染异常

    起因 bugly捕捉到大量系统异常,所有方法都在render层,无法定位问题代码。 异常1 异常2 异常3 异常4...

  • 一次tomcat启动异常的问题定位,分析思路

    前情提要: 上周放假之前测试的时候启动tomcat明明是好的呀, 这周来了刚改几行代码测试一下. 就完犊子了, 咋...

  • bug定位

    测试人员如何定位bug 定位问题大致思路:用户层面问题-->web页面/软件界面-->中间件-->后端服务-->代...

网友评论

      本文标题:IO异常问题定位思路

      本文链接:https://www.haomeiwen.com/subject/gzgjwrtx.html