RAID卡故障导致服务器异常关机排查方法
以下是RAID卡故障导致服务器异常关机的详细排查步骤:
一、硬件状态检查
-
检查RAID卡指示灯
- 定位服务器后部RAID卡状态指示灯
- 正常状态:绿色常亮/规律闪烁
- 故障状态:红色常亮/急促闪烁(不同厂商指示灯定义需参考手册)
-
硬盘背板检测 $$HDD Status = egin{cases} Online & ext{绿色常亮} Rebuild & ext{黄色闪烁} Failed & ext{红色常亮} end{cases}$$ 使用服务器诊断面板查看错误代码(如Dell LCD面板显示E201F)
二、系统日志分析
-
Linux系统日志提取
grep -iE "raid|megaraid|aacraid" /var/log/messages dmesg | grep -C 5 "Controller Fault" journalctl -b -1 | grep RAID # 查看上次启动日志
-
Windows系统检查
- 打开事件查看器 → Windows日志 → 系统
- 筛选事件ID:9(RAID控制器错误)、15(磁盘故障)
三、RAID阵列状态诊断
-
使用MegaCLI工具检测(LSI芯片示例)
/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -Lall -aAll /opt/MegaRAID/MegaCli/MegaCli64 -PDList -aAll | grep -E "Firmware state|Slot"
关于MegaCLI工具的介绍及使用方法,请看另一篇文章《MegaCLI 工具介绍及使用方案》MegaCLI 工具介绍及使用方案-CSDN博客
重点关注参数:
State
:Optimal/Degraded/OfflineMedia Error Count
> 0表示物理介质故障
-
硬件管理界面检查
- 重启进入RA卡配置界面(Ctrl+R/Ctrl+H等组合键)
- 验证Virtual Disk状态:
- 正常:
Normal
- 异常:
Degraded (1/2)
表示1块硬盘失效
- 正常:
四、固件与驱动验证
-
驱动版本检查
modinfo megaraid_sas | grep version lspci -vvv -s $(lspci | grep RAID | cut -d' ' -f1)
-
固件升级步骤
./storcli64 /c0 download file=MR3108.rom ./storcli64 /c0 reboot
(请严格参照厂商提供的指南哈!)
五、深度故障排除
-
硬盘物理检测
smartctl -a /dev/sda -d megaraid,0 badblocks -sv -b 4096 /dev/sda
-
压力测试(仅在应急情况下使用)
hdparm -tT /dev/sdX fio --name=test --ioengine=libaio --rw=randrw --bs=4k --numjobs=16 --size=1G --runtime=60
六、应急处理流程
-
立即措施:
- 断开业务连接
- 对现存RAID阵列做完整镜像备份
dd if=/dev/sda of=/mnt/backup/raid.img bs=64K conv=noerror,sync
-
备件更换规范:
- 确保更换硬盘与原阵列:转速($7200 rpm$)、接口($SAS 12Gb/s$)、容量($1.92TB$)完全一致
- 重建过程监控: $$T_{rebuild} = rac{Disk Size imes 1024^3}{Controller Speed imes 0.85} pprox rac{2TB imes 1.1}{200MB/s} ≈ 3h15m$$
最终确认:更换故障组件后,持续监控$RAID Health Score$(正常范围$80-100$分)至少24小时,使用iostat检查$await$值(应小于$20ms$)确认阵列恢复正常。