核心三步:先确认控制器在线(lspci+lsmod+storcli64 show ctrlcount),再查逻辑阵列State是否Optimal(MegaCli64 -LDInfo -Lall -aALL或storcli64 /c0/vall show),最后逐盘核查物理硬盘状态(Firmware state、Predictive Failure、Media Error Count)及BBU/CacheVault健康。

直接用 MegaCli 或 storcli 查看 RAID 健康状态,核心是分三步:确认控制器在线、查逻辑阵列(RAID 卷)是否 Optimal、再查物理硬盘有没有 Failed 或 Predictive Failure。
确认 RAID 控制器是否识别并运行
这是所有操作的前提。如果控制器没被系统认出来,后续命令会报错或无输出:
- 运行 lspci | grep -i "raid\|lsi\|avago\|broadcom",看到类似 MegaRAID SAS Invader 或 LSI Logic / Symbios Logic MegaRAID SAS 2108 的条目,说明硬件已识别
- 运行 lsmod | grep -E "(megaraid_sas|mpt3sas|storcli)",有输出表示驱动已加载;若无,需检查 BIOS 中 RAID 模式是否启用,或手动 modprobe
- 用 MegaCli64 -adpCount -aALL 或 storcli64 show ctrlcount 看识别到几个控制器,返回数字 > 0 才正常
查看 RAID 逻辑阵列(Virtual Drive)状态
这是判断“整个 RAID 是否健康”的关键。重点看 State 字段是否为 Optimal,而不是 Degraded、Failed 或 Offline:
- MegaCli64 -LDInfo -Lall -aALL:列出所有逻辑驱动器,关注每组的 State、RAID Level、Size 和 Strip Size
- storcli64 /c0/vall show(/c0 表示第一个控制器):输出中找 State 列,同时注意 Exposed to OS 是否为 Yes,避免阵列存在但未暴露给系统
- 若显示 Degraded,说明至少一块盘离线或重建中;Failed 表示阵列已不可用,需立即处理
检查物理磁盘(Physical Drive)健康状况
RAID 阵列状态正常,不代表硬盘没问题。很多故障始于单盘预警,必须逐盘核查:
- MegaCli64 -PDList -aALL | grep -A 5 -B 5 "Firmware state\|Media Error\|Predictive Failure":重点关注 Firmware state(应为 Online/Unconfigured(Good))、Predictive Failure(Yes 就危险)、Media Error Count 和 Other Error Count(非零需警惕)
- storcli64 /c0/eall/sall show:列出所有槽位磁盘,看 State 列(应为 Onln),Med Temp(温度过高可能引发不稳定),以及 PD Type 和 Raw Size 是否一致(防混插异常)
- 对某块可疑盘(如槽位 s3),可加查 SMART:storcli64 /c0/e252/s3 show all(e252 是背板号,需先从上一步获取)
额外关键项:BBU / Cache 模块状态
电池备份单元(BBU)或超级电容(CacheVault)失效会导致写缓存被禁用,大幅拖慢 I/O 性能,且失去断电保护:
- MegaCli64 -AdpBbuCmd -GetBbuStatus -aALL:重点看 Charger Status(应为 Complete)、Relative State of Charge(> 90% 较好)、Is Battery Pack Missing(No)和 BBU Firmware Health(Good)
- storcli64 /c0 show all | grep -i "bbu\|vault\|cache":查找 Cachevault 或 BBU 相关字段,确认 Status 为 Optimal
- 若 BBU 不健康,MegaCli64 -AdpGetProp EnableBbu -aALL 可查写缓存是否因此被自动关闭(返回值为 0 表示禁用)

















