美文网首页
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异常问题定位思路

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