乐于分享
好东西不私藏

Openclaw直连unraid修复硬盘不自动休眠问题

Openclaw直连unraid修复硬盘不自动休眠问题

我让AI帮我修好了Unraid硬盘不休眠的问题

上周遇到一个挺烦的事。

家里的Unraid服务器,有两块WD 12T的移动硬盘挂在Unassigned Devices下面,之前一直好好的,访问完共享之后过一会儿就会自动停转。突然有一天,这两块盘再也不休眠了,24小时转个不停。

硬盘不休眠这事说大不大,但12T的盘一直转着,噪音是一方面,更重要的是费电、伤盘。NAS本来就是7×24运行的,能省一点是一点。

排查过程

我先自己看了一圈。Unraid的Unassigned Devices插件里,spindown时间设的是15分钟,配置没问题。硬盘是SATA直连的,没用USB盒子。插件版本也没更新过。一切都跟之前一样,但就是不休眠了。

手动执行 hdparm -y /dev/sdb 能立刻停转,说明硬盘本身支持休眠。但设了定时器之后,等多久都不会自动停。

这就很奇怪了。之前能休眠,说明硬件是支持的。现在不休眠,一定是有什么东西变了。

让OpenClaw来查

我最近在用一个叫OpenClaw的AI助手,它能直接SSH到服务器上执行命令。正好试试看它能不能帮我搞定这个问题。

我跟它说了情况:Unraid服务器地址、SSH密码、哪两块盘有问题。它直接就登上去开始排查了。

它先跑了 lsblk 看磁盘挂载情况,发现除了我要修的sdb和sdd,还有一块sdc被虚拟机直通了(我之前装了个群晖虚拟机DS6172),还有一块sde是阵列盘。这两块不休眠是正常的,不是问题所在。

然后它开始对sdb和sdd做hdparm测试。设了5秒定时器,等了30秒——还是active。设了15分钟的——还是active。把APM调到最激进的1——还是没用。最后用 hdparm -y 强制休眠——秒级生效。

结论很清楚:WD Red Plus这块盘,hdparm的定时器命令根本不响应。

根因

这是WD Red Plus固件的一个已知问题。虽然smartctl报告硬盘支持standby timer,但实际固件就是不认这个命令。不管你设5秒还是500分钟,它该转还是转。

那我之前是怎么”正常休眠”的呢?OpenClaw分析了一下,大概率是之前有什么进程在周期性访问这些盘,每次访问都重置了15分钟计时器。当那个进程停了之后,恰好15分钟内没有新的访问,盘就停了。给我造成了”自动休眠”的错觉。

5月30号我装了个sas-spindown插件,它会替换系统的smartctl,每分钟跑一次smartctl检查磁盘健康——这相当于每分钟都访问一次磁盘,计时器永远重置,当然不会休眠了。

解决方案

hdparm定时器不生效,那就绕过它。写一个脚本,每隔几分钟检查一次:如果盘没在休眠,而且没有进程占用,就用 hdparm -y 强制让它停转。

OpenClaw帮我写了这个脚本,部署到了 /usr/local/sbin/spindown-unassigned.sh,用cron每10分钟跑一次。部署之后实测,sdb和sdd都成功进入了standby状态。

后来我觉得10分钟有点长,让它改成了5分钟。一行命令的事,改完就生效了。

效果

现在的情况是:访问完共享之后,最多5分钟硬盘就会自动停转。跟之前的行为基本一致,而且更可靠——因为是强制休眠,不依赖那个不靠谱的固件定时器。

几点感受

第一,AI能做的事比你想的多。 以前遇到这种问题,我得自己SSH上去,一条条命令试,查文档,搜论坛,可能折腾一晚上。这次从描述问题到定位根因、写出脚本、部署生效,全程大概二十分钟。它不只是回答问题,是真的登到你的服务器上,看着你的系统,一条条命令跑下来,然后给你一个结论。

第二,它比搜索引擎靠谱的地方在于上下文。 我跟它说我之前能休眠现在不行了,它会去想”什么变了”,而不是给我一堆”如何设置Unraid硬盘休眠”的通用教程。它看到我装了sas-spindown插件,会把这个跟问题联系起来。这种推理能力是搜索引擎做不到的。

第三,执行能力是关键。 很多AI工具只能聊天,不能干活。OpenClaw不一样,它有exec工具,能直接在你的服务器上执行命令、读取日志、修改配置。这不是”帮你查一下答案”,是”帮你把事情做了”。

第四,安全方面我一开始也有顾虑。 把SSH密码给AI?但实际用下来发现,它只是执行我让它执行的命令,不会搞什么幺蛾子。而且每一步操作我都能看到——它跑什么命令、返回什么结果,都是透明的。最后生成的脚本我也检查过了,逻辑很简单,就是检查状态然后强制休眠。

写在最后

Unraid硬盘休眠这个问题其实不大,但它很典型——硬件固件的坑、插件之间的冲突、配置看着没问题但就是不生效。这类问题在网上搜来搜去,答案零零散散,很难拼出一个完整的排查思路。

有个人(或者说有个AI)能直接登到你的服务器上,看着你的实际情况,一步一步试,最后告诉你”就是这个原因,这样解决”——这种体验确实不太一样。

如果你也在用Unraid,也有硬盘不休眠的烦恼,可以试试这个思路:先确认 hdparm -y 能不能强制停转,如果能但定时器不生效,那就写个cron脚本强制搞定。不需要折腾插件,简单粗暴但有效。


本文记录了使用OpenClaw(一个开源AI助手)排查和修复Unraid服务器硬盘休眠问题的完整过程。OpenClaw可以SSH到你的服务器,执行命令,分析日志,帮你解决实际的运维问题。