周三下午,一块在机柜里躺了多年的硬盘被插进USB底座。几秒钟后,手机屏幕亮起:扫描开始。几分钟后,又一条消息弹出来:扫描完成,读取速度正常。整个过程,他没碰过电脑。
这不是什么商业产品,而是一个叫DriveCheck的自建工具,跑在一块树莓派上。做这件事的人平时要评测电脑、NAS、服务器和各种homelab设备,手边常年堆着大量硬盘——来自旧系统、旧NAS,或者最近刚收来的二手盘。硬盘这东西,过去能用不代表现在还能用,而他受够了"随机发现一块以为没问题的盘其实已经坏了"。
![]()
两块20TB硬盘,插上就出问题
他讲了一段最近的经历。几个月前,朋友出手几块20TB硬盘,他拿到手就兴奋地塞进了NAS,因为终于有大容量盘了。结果四块里两块能用,两块不行。他一开始不确定是NAS抽风、盘没插好,还是别的原因,折腾到最后才发现,是其中两块在运输途中损坏了。
还有一次更典型。一块硬盘正常用了好多年,服务器关机几周后再开机,盘就坏了。它是在那几周里突然坏掉的吗?大概不是。但这件事让他确认了一个习惯:任何一块盘,用之前都得测。
问题在于,测试本身很麻烦。他得从柜子里把硬盘底座拖出来,插电,把盘装上去,再手动跑一遍扫描。流程不长,但足够让人懒得做。于是他决定做一个能全自动处理这件事的工具,无头运行,跑在树莓派上。
一块树莓派加一个USB硬盘底座就够了
硬件部分简单到不能再简单:一个USB硬盘底座,一块树莓派。目前他的树莓派是有线接入网络的,因为位置够近;但只要有电,这块派可以搬到任何地方无线运行。
软件部分,DriveCheck通过一个安装文件部署,一次性把环境配好。他没有走Docker路线,原因是自动把不同硬盘透传进容器太折腾。工具同时提供网页仪表盘和一个Telegram机器人代理。想用机器人,就填Telegram的凭据;也支持Discord的webhook,但Telegram功能更多。
网页仪表盘是核心,默认跑在8765端口。配置可以通过命令行参数完成,也可以在仪表盘里改。配好之后,它会盯着USB底座,一旦有硬盘插进来就开始工作。出于安全考虑,它会忽略系统原生挂载的硬盘,避免误擦启动盘。
他的配置是100%无头运行,不过这不是必须的。对他来说,把盘插进底座,Telegram就会在扫描开始和结束时各推一条通知。Telegram上还有内置按钮,可以触发扩展测试或格式化,也有一个弹出硬盘的按钮——当然,硬盘在可配置的时间之后也会自动弹出。
先检查,再决定要不要深挖
DriveCheck被设计成一个"检查优先"的工具,核心目标就是检测和跑分。硬盘插进来后,它先跑一个短SMART测试,再做一次读取采样,测出这块盘的读取速度。
如果他想看得更深,可以手动启动扩展测试。但通常情况下,短测试加读取采样对他来说已经够了。格式化方面有两个选项:快速擦除类似Windows的快速格式化;也可以完全覆写整块盘,或者调用硬盘固件来格式化。
他坦言,自己主要用快速测试。它能测出读取速度、跑完短SMART,通常足以判断一块盘是否健康。但这远不是保证。所以扩展测试才存在——只是它可能要跑好几个小时,视容量而定,有时超过24小时。只有当他真的担心某块盘的可靠性时,才会跑扩展测试。
如果快速测试和读取速度测试都过关,他一般就直接用了。这给了他一个不错的起点,也让他知道这块盘大概是什么状态。网页仪表盘上还会一眼展示部分SMART结果,想看更细的可以导出完整的原始SMART输出,但每块盘最关键的指标都摆在明面上。
早一点测,少熬几个通宵
回头看那几块20TB硬盘,他说如果当时就有这套系统,事情会轻松太多。现实是他花了很多很多小时去排查它们。现在不用了。
整套方案的逻辑其实很朴素:把"测硬盘"这个动作从一件需要专门腾出时间、搬设备、手动操作的事,变成插上盘就自动发生的事。通知推到手机上,结果摆在网页里,人只需要决定要不要深挖。对于手边常年有闲置盘、二手盘、拆机盘的人来说,这个习惯的成本被压到了几乎为零。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.