先说我自己的结论:群晖掉盘,十次里有六次不是盘
上周三又接到一台 DS920+,用户说 4 块 WD40EFRX 在三个月里轮流掉,存储管理器里 S.M.A.R.T. 全部显示‘正常’,他已经京东换过两块盘。我让他 SSH 进去,sudo -i,然后 cat /var/log/messages | grep -iE 'ata|I/O error|reset|frozen|exception' > /tmp/disk.log。日志第 1342 行开始是 ata3.00: failed command: READ FPDMA QUEUED,后面跟着 exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen。这个顺序说明 SATA 链路先断,盘体还没到坏道阶段。
所以我的独立观点很直接:把‘盘体健康’和‘链路健康’分开看。SMART 的 ID 5、187、197、198 看盘体,ID 199 看链路。群晖存储管理器的‘正常’只是阈值没触发,不是没错误。很多人一看到‘硬盘已移除’就换盘,其实告警时间往往比内核错误晚 5 到 30 秒,真正要抓的是告警前那一段 dmesg。
第一步:先抓日志,别先点‘修复’
SSH 打开,控制面板 > 终端机和 SNMP > 启用 SSH。登录后 sudo -i,先跑这几条:
cat /var/log/messages | grep -iE 'ata|I/O error|reset|frozen|exception' > /tmp/disk.log
dmesg -T | tail -n 300
smartctl -a -d sat /dev/sda | egrep 'ID#|199|5|187|197|198'
群晖 DSM 7.2 不一定自带 smartctl。没有就用 Entware 装 smartmontools,或者把盘拆到 Ubuntu 下看。先看时间戳:如果 ata3.00 错误在前,硬盘已移除 在后,链路问题概率大;如果先掉盘再报 I/O error,供电或背板更可疑。
我书桌上还留着三根换下来的 SATA 线,其中一根外皮没破,但插头里第 3 针松了,万用表通断时好时坏。这种事 SMART 根本看不出来。
第二步:SMART 别只看‘正常’,看这 5 个 ID
存储管理器里的‘正常’只能当参考。用 smartctl 导出来,重点对比:
- ID 5 Reallocated_Sector_Ct:>0 且继续增长,盘体有问题;
- ID 187 Reported_Uncorrect:>0,盘体有问题;
- ID 197 Current_Pending_Sector:>0,危险,别继续拷数据;
- ID 198 Offline_Uncorrectable:>0,危险;
- ID 199 UDMA_CRC_Error_Count:增长,但 5/187/197 不变,优先查线、背板、扩展柜。
同一台 DS920+,我有一次看到 ID 199 从 0 涨到 1843,ID 5 和 197 全是 0。用户已经买了两块新盘,我让他先换 SATA 线,两周后 199 没再涨。SMART 正常不等于安全,SMART 异常也不等于必换,关键看‘是否增长’和‘错误类型’。
第三步:供电和背板,比硬盘更容易被忽略
DS920+ 原装适配器标 100W,4 块 3.5 寸盘启动瞬间 12V 合计能到 6-8A。用了 3 年以上的适配器,空载 12.1V 看着正常,带载可能掉到 11.4V 以下。别用 12V 5A 的第三方小电源带 4 盘,也别把 4 块盘和扩展柜插在同一个劣质排插上。
背板这块,SATA 金手指氧化用橡皮擦,别用砂纸。螺丝别拧太紧,背板 PCB 变形会让插头接触不良。我有台 DS1621+ 就是 2 号位螺丝多拧了半圈,室温 28 度没事,烤机到 40 度就掉。
如果你接了 DX517,先把它撤掉,用直连 SATA 测试。eSATA 线超过 2 米、没屏蔽,CRC 会涨。换成 1 米内带屏蔽的线,很多‘扩展柜掉盘’直接消失。这就是直连和扩展柜的对比:多一段线、多一个电源、多一层背板,故障面直接翻倍。
第四步:盘体兼容和 CMR/SMR 的坑
WD40EFRX 是 CMR,WD40EFAX 是 SMR,后者在 RAID 重建时更容易掉。希捷 IronWolf 和 WD Red Plus 有 TLER/ERC,桌面盘 ERC 可能 30 秒,RAID 控制器 7 秒就踢盘。群晖不一定让你改 ERC,所以别把桌面盘和 NAS 盘混插做 RAID。
我一开始也不信,直到同一块盘在 DS920+ 上掉,拆到 Ubuntu 跑 badblocks -sv -b 4096 /dev/sdX 8 小时没坏块,换根 40cm 线就好了。4TB 盘做 SMART 长测大概 7-9 小时,全盘只读扫描 8-12 小时,别用快速扫描糊弄自己。
第五步:临时缓解和换盘标准
先关硬盘休眠:控制面板 > 硬件和电源 > 硬盘休眠,设为‘无’。很多掉盘发生在休眠唤醒后 2 分钟。再换线:SATA 线短于 50cm,带卡扣。再借同型号电源,或者上示波器看 12V 纹波,>150mV 就换。
换盘标准我会看这几条:ID 5 增长、197/198 非零、长测 fail、异响、SMART 自检 read failure,满足一条就换。只有 ID 199 增长,盘体属性不动,先换线/背板/电源,别急着浪费钱。
最后一句,别一上来做 RAID Scrubbing。链路不稳时 Scrubbing 会把所有盘拉满,反而更容易再掉一块。先降速、关休眠、换线、换电源,再谈盘。我现在帮人看群晖掉盘,第一句不是‘硬盘多久了’,而是‘日志导出来了吗,掉盘前 30 秒的 dmesg 有没有’。