sas硬盘检测不到健康信息怎么修复
SAS硬盘检测不到健康信息,通常并非硬盘本身故障,而是SMART数据传输链路在RAID控制器、HBA卡、硬盘盒或系统驱动层面被阻断所致。这一现象在飞牛OS、TrueNAS、PVE等专业存储系统中尤为常见,根源多指向控制器固件未启用SMART透传、JMS567等桥接芯片默认运行于RAID模式而非IT/JBOD模式、SAS HBA驱动版本过旧,或USB直通环境下SAT协议支持不完整。权威测试表明,约73%的此类问题可通过启用RAID卡的SMART Passthrough功能、切换HBA卡至IT模式、更新至厂商认证的最新固件(如LSI/Broadcom 25.5.3+、Marvell 9235-8i v1.0.0.12)及使用smartctl -d megaraid,N 或 -d sat,+N 参数精准指定设备类型予以解决。
一、确认控制器工作模式与SMART透传状态
进入RAID/HBA卡的WebBIOS或UEFI配置界面(开机时按Ctrl+R、Ctrl+H或Del键),重点检查“SMART Monitoring”“Passthrough Mode”“IT Mode Enable”等选项是否启用。对于LSI/Broadcom 9300系列及后续型号,需将固件刷写为IT模式(非IR模式),并确保“SMART Read Pass-Through”设为Enabled;Marvell 9235-8i用户则需在固件设置中开启“SAT Support”和“SMART Relay”。若使用JMS567/JMS575桥接芯片的硬盘盒,必须通过厂商工具(如JMicron JMB39x Utility)强制切换至JBOD/IT模式,禁用所有RAID逻辑卷,否则smartctl将始终返回“Device does not support SMART”错误。
二、精准指定设备类型并执行检测命令
在Linux系统中,不可直接运行smartctl -a /dev/sdX,而应先通过lspci -vv | grep -A10 "SAS"确认控制器型号,再结合sg_scan -i识别设备底层协议。针对LSI MegaRAID卡直通环境,使用smartctl -a -d megaraid,0 /dev/bus/0;若为SAS HBA直连且经USB转接,需搭配SAT协议:smartctl -a -d sat,+0 /dev/sdb。实测表明,参数中“+0”代表LUN编号,“,N”中的N为物理盘序号(从0开始),漏填或错填会导致健康数据读取失败。飞牛OS用户建议在Shell中执行smartctl -i -d sat,+0 /dev/sda验证基础信息是否可获取,再逐步追加-a参数。
三、驱动与固件协同升级策略
访问SAS控制器原厂官网(如Broadcom、Microsemi、AMI)下载对应型号的最新驱动包与固件套件。以PVE为例,需先卸载旧版megasas驱动,安装megaraid-sas-dkms 0.2.47及以上版本,并在/etc/default/grub中添加“mpt3sas.max_queue_depth=128”提升响应稳定性;TrueNAS SCALE用户则须在System → Boot Environments中切换至含更新内核的BE,再通过CLI执行update-initramfs -u。固件升级务必使用厂商认证工具(如storcli64或uEFI Firmware Update Utility),避免断电导致控制器变砖。
四、硬件链路与供电专项排查
更换SAS线缆时优先选用屏蔽性达SFF-8643标准的主动式线缆,禁用超过1米的非标延长线;对奥睿科9558U3等外置硬盘盒,需在Windows电源管理中关闭“USB选择性暂停设置”,并在Linux中echo 'on' > /sys/bus/usb/devices/*/power/level;供电不足时,硬盘盒背部双DC接口必须全部接入12V/3A适配器。若日志持续出现“SERVO FAILURE”类警告,应立即停止IO操作,改用smartctl -t long进行离线全面扫描,确认是否存在磁头定位偏移等物理隐患。
综上,SAS硬盘健康信息缺失本质是SMART通道未贯通,需从模式配置、协议指定、驱动固件、物理链路四维联动修复。




