NF8480M5搭配PM8204卡做Raid5在单盘异常后系统无法读写问题
问题描述
江西某通信客户出现了一个8204 Raid卡+Raid场景下单盘异常后系统无法读写的问题,客户这边/dev/sdb做的是Raid5,日志中有如下信息:
BMC存在DISK7的Drive Fault记录;
在dmesg和messages日志存在metadata I/O error和sd 0:1:0:1: rejecting I/O to offline device记录;
该机器搭配8204 Raid卡,sd 0:1:0:1对应的盘符就是/dev/sdb;
当前系统下Raid卡驱动版本(smartpqi-0.9.14-100);
现场不停机更换故障盘后该盘符依旧无法读写,重启系统后解决。
涉及范围
PM8204卡+Raid场景
处理方案
升级Raid卡驱动到新版本,并同步升级Raid卡FW到3.53版本
smartpqi-2.1.12-055.tar.bz2
故障根因
针对客户当前Raid5下单块硬盘异常导致系统异常的问题,我方对日志进行了分析,具体过程如下:
查看带内日志和带外日志,可以看到Disk7硬盘存在大量Media Error报错,确认该硬盘存在异常;
当前系统下Raid卡驱动版本(smartpqi-0.9.14-100)为老版本inbox驱动,而新版本驱动优化了很多Raid卡数据处理逻辑;
分析dmesg日志发现,系统下触发了smartpqi 0000:17:00.0: resetting scsi 0:1:0:1和sd 0:1:0:1: [sdb] Medium access timeout failure. Offlining disk!报错,由此导致了sd 0:1:0:1: rejecting I/O to offline device报错,进而导致系统I/O异常;
在红帽官网查找到了响应案例,可以确认为PM8204驱动版本BUG导致,具体可参考链接:https://access.redhat.com/solutions/3483931



Inbox驱动在处理相关故障时健壮性不足导致驱动处理逻辑异常,smartqpi驱动程序和内核io堆栈的重试代码之间的通信错误导致复位后错误地脱机设备,这将导致内核失去对设备和映射到丢失设备上的逻辑设备的访问权限,进而导致系统I/O异常。
建议与总结
Raid5单盘异常导致触发了Raid卡smartpqi驱动BUG,导致设备错误地脱机,进而导致内核失去对设备和映射到丢失设备上的逻辑设备的访问权限;
针对此问题,建议及时更换报错硬盘、升级Raid卡驱动版本至最新版本,并同步升级FW至新版驱动支持的FW版本。