首页/系统/服务器硬件与 RAID 速查/smartctl 通过 RAID 卡读取盘 SMART
阵列卡管理68 条

smartctl 通过 RAID 卡读取盘 SMART

在硬件 RAID 下,smartctl 可用 -d megaraid,N 透传到指定物理盘,读取 SMART 属性做健康预测;N 为卡的设备编号(Device ID),不是槽位号。

经 RAID 卡读 SMART 是什么

盘接在硬件 RAID 卡后面时,操作系统看不到单独的物理盘,smartctl 默认也无法读取它们的 SMART。做法是用 -d 指定透传方式,把命令穿过控制器送到指定物理盘:-d megaraid,N 是 Broadcom/LSI 卡的标准写法,N 是该盘在卡上的 Device ID,而不是机箱槽位号。读通之后,健康预测的字段与直连盘完全一致。

基本信息

设备号来源取卡工具的 Device ID(storcli /c0/eall/sall show all 中的 DID)
写法smartctl -d megaraid,N /dev/sdX,X 为该卡对应的主机设备
SATA 变体部分版本对 SATA 盘需加前缀,形如 -d sat+megaraid,N
替代路径盘处于直通模式下可直接用 /dev/sdX 查询,无需透传

透传查询

透传查询
storcli /c0/eall/sall show all | grep -E "DID|Slt|SN"   # 取 DID 与槽位对应
smartctl -i -d megaraid,4 /dev/sda                          # 识别信息与序列号
smartctl -H -d megaraid,4 /dev/sda                          # 健康总评
smartctl -A -d megaraid,4 /dev/sda | grep -Ei "Reallocated|Pending|CRC"
smartctl -l selftest -d megaraid,4 /dev/sda                  # 自测历史

常见 -d 取值

取值适用场景说明
satSATA 盘直连按 ATA 命令透传
scsiSAS 盘直连按 SCSI 命令透传
megaraid,NBroadcom/LSI 硬件 RAID 之后N 为卡上的 Device ID
sat+megaraid,NSATA 盘位于 RAID 卡之后(部分版本)需要额外加 sat 前缀才能识别

典型使用场景

  • 巡检建线:对阵列中每块盘循环执行,把属性计数采集进监控系统
  • 重建前评估:确认新盘与源盘的健康状态,再决定是否执行
  • PFA 复核:控制器报预测性故障时,用 SMART 属性交叉验证
  • 换盘取证:拔盘前保存属性输出,作为盘体状况的证据
  • 故障域排查:对照 DID 与槽位,判断异常是否集中在同一背板
把 Device ID、槽位、序列号三者一起记进台账:换盘与巡检时三条线索互相校验,能避免误判。
在不支持透传的老固件或老版本工具上硬试会超时或返回无意义数据;先确认工具版本,再改走其他途径核对盘况。

使用注意

  • 透传访问比直连慢,批量巡检时控制并发,避免加重控制器负担
  • 同一台机器可能有多个 /dev/sdX 对应多张卡,先确认目标设备再执行
  • 记录 Device ID 与槽位的映射关系,硬件更换后重新核对一次
  • 读取失败时先确认盘是否为可配置状态,而非直接判定盘坏

易错点

  • 把 N 当槽位号:Device ID 与槽位编号不相等,必须先查 show all 输出确认
  • 在不支持透传的老固件上硬试:命令超时或返回无意义数据,换其他途径核对
  • 巡检里只取健康总评:透传读取要比直连慢,属性计数才是趋势判断的依据

数据来源与参考

  • smartmontools 手册(-d megaraid)
  • storcli 命令参考(DID 字段)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌