飞牛NAS重启掉阵列?真相是SATA节能惹的祸!两步彻底解决ALPM掉盘与“11/12 failed”误报

📅 发布时间:2026/7/4 1:21:49 👁️ 浏览次数:
飞牛NAS重启掉阵列?真相是SATA节能惹的祸!两步彻底解决ALPM掉盘与“11/12 failed”误报
✅ 问题一重启后存储池“掉线”Web 界面无法访问 根本原因Linux 内核默认启用SATA ALPMActive Link Power Management节能模式值为min_power_with_partial。在部分硬件主板/硬盘/电源组合下重启时 SATA 链路因节能进入低功耗状态导致硬盘响应超时被系统误判为“离线”或“故障”。你使用sdb sdd 组建 Linear 卷/vol1任一盘因 ALPM 掉线 → 整个 Linear 卷崩溃飞牛卡在 “Waiting for storage pool...”Web UI 无法启动。 这不是硬盘坏了而是SATA 通信被节能策略中断。✅ 解决办法永久禁用 ALPM创建 udev 规则确保每次启动自动设置为高性能模式# 创建规则文件使用 sudo tee 避免权限错误 cat EOF | sudo tee /etc/udev/rules.d/99-disable-sata-alpm.rules ACTIONadd|change, SUBSYSTEMscsi_host, KERNELhost*, ATTR{link_power_management_policy}max_performance EOF # 重载规则并立即生效 sudo udevadm control --reload-rules sudo udevadm trigger --subsystem-matchscsi_host # 验证应全为 max_performance cat /sys/class/scsi_host/host*/link_power_management_policy✅ 效果所有 SATA 控制器保持高性能硬盘不再因节能掉线Linear/RAID 卷稳定加载Web UI 正常访问。✅ 问题二日志报错 “md127: not enough operational devices (11/12 failed)” —— 误判 11 块硬盘故障 根本原因你实际只有4 块硬盘但系统日志却显示 “11/12 failed”这是因为曾在sdd 上尝试创建 RAID如 md127但未完成或异常中断sdd 上残留了损坏或不一致的 RAID 元数据superblock其中Raid Devices字段被错误写成12启动时系统读取该元数据误以为应有 12 块盘实际只找到 sdd → 报错 “11/12 failed”。 这是“幽灵 RAID”误报并非真实硬件故障也不包含你的有效数据。✅ 解决办法清理无效 RAID 元数据⚠️前提确认 sdd 上无重要数据或已备份# 1. 停止无效阵列如果还在运行 sudo mdadm --stop /dev/md127 2/dev/null || true # 2. 清除 sdd 上的 RAID superblock # 注意必须在 sdd 未被任何卷使用时执行 # 如果 sdd 已用于 Linear如当前 /vol1请勿执行此步 # ✅ 正确做法仅当 sdd 是空闲盘时 sudo mdadm --zero-superblock /dev/sdd重要提醒在你当前状态下sdd 已用于/vol1Linear 卷不要执行--zero-superblock因为它正在被使用强行清除会破坏数据。之前的“11/12 failed”错误在你重建 Linear 并部署 ALPM 规则后已自然消失无需额外清理。若未来要重用一块旧盘可先在 Web UI 中“擦除”或手动清理。