NAS 硬盘怎么保养最妥当?极空间+Scrutiny 另类解读 SMART
哈喽宝子们,最近大家有新购置硬盘、内存吗?原价399,现优惠后统一899,不还价、不折扣,不买等着继续涨!
自从我年初薅了 100T 的羊毛后,我就没有再买过硬盘了。
但是用了好几年的矿盘,最近却开始陆陆续续产生了一些小问题,有些是掉盘只读、有些是 C5 报错,让我不得不加强对这些硬盘的重视程度,避免数据丢失也避免在硬盘高峰期进行投入。
大家好,这里是Cherry,喜爱折腾、玩数码,热衷于分享数码玩耍经验~
说到硬盘健康度,大家应该第一时间就会想起【SMART】这个东西,即自监测、分析与报告技术,它能对硬盘的健康状况进行定时监测,提供当前值、历史最差值、临界值等参数,帮助我们掌握硬盘的健康信息。
在 NAS 里,SMART 一定是不可或缺的一个功能。以极空间私有云为例,我们可以在存储管理的看到现有硬盘的 SMART 情况,一般情况下,每3天系统会进行一次快速检测,我们也可以手动检测。

检测结果会在 SMART 详情里予以展示。

但是当前 SMART 最大的问题,就是它只有在“生病”的时候才会通知你。每一次的检测结果没有对比的方法,就像你去医院做体检,不和上一次对比的体检结果根本无法预测你的健康状态是在往上走或是往下走。
因此简单的的 SMART 检测结果,并不能很好的满足我们对硬盘健康管理的渴望,所以这个时候我就要祭出我的硬盘管理神器——「Scrutiny」,通过智能的 SMART 数据分析,有重点、有条理的给我及时推送异常变化,让我可以第一时间掌握硬盘生命值,早发现、早预防~
Scrutiny 是一个简单但专注的应用程序,具有几个核心功能:
Web UI 仪表板 – 专注于关键指标
SmartD 集成(无需重新发明轮子)
自动检测所有连接的硬盘驱动器
历史趋势的 S.M.A.R.T 指标跟踪
使用真实故障率的自定义阈值
温度跟踪
作为一体化 Docker 镜像提供(但可以手动安装)
通过 Webhook 配置的警报/通知
(未来)硬盘性能测试和跟踪

一、部署Scrutiny
极空间的硬盘判断规则很简单,SATA 盘命名从/dev/sda开始用尾字母递增,比如dev/sdb,/dev/sdc;M.2 盘命名从 /dev/nvme1 开始用数字递增,比如/dev/nvme2。
打开极空间 docker 应用,选择 Compose 新建一个项目,把下面提供的 yaml 代码复制进去,并且替换【硬盘】、【路径】。

【路径】里是 scrutiny 项目的持久化存储文件,包含配置文件、数据库文件,建议大家一定要映射,确保系统可以长期对比。

yaml 文件里,我默认写了4个 SATA 盘和2个M.2 Nvme 盘,不需要的自行删除即可。
version: '3.5'
services:
scrutiny:
container_name: scrutiny
image: ghcr.io/analogj/scrutiny:master-omnibus
cap_add:
- SYS_RAWIO
- SYS_ADMIN
ports:
- "13080:8080" # webapp
- "13086:8086" # influxDB admin
volumes:
- /run/udev:/run/udev:ro
- 【路径】/config:/opt/scrutiny/config
- 【路径】/influxdb:/opt/scrutiny/influxdb
environment:
# 自定义 SMART 扫描时间
- COLLECTOR_CRON_SCHEDULE="0 0 * * *"
devices:
# 这里根据自己实际的硬盘数量去填写,不同设备具体可以通过 smartctl --scan 查询
- "/dev/sda"
- "/dev/sdb"
- "/dev/sdc"
- "/dev/sdd"
- "/dev/nvme1"
- "/dev/nvme2"
应用部署完成以后,切换到容器页面,选择 scrutiny 容器并点击远程访问,就可以在任意互联网环境下访问到这个应用了,十分方便。

二、Scrutiny 配置和体验
打开项目首页,可以看到极空间的硬盘信息已经全部被接入了,包含硬盘状态、当前温度、容量、通电时长等信息,下方还有硬盘的温度趋势图,可以了解硬盘长时间运行的温度情况。

所有的数据在 Scrutiny 中都支持归档、导出,设置里也可以配置温度、容量等状态单位信息。比较可惜的 scrutiny 是纯英文的,需要通过浏览器翻译软件才能看得懂。

点击任意一个硬盘,可以看到更详细的硬盘基础信息和 SMART 检测信息。注意到,每一条指标右侧都是三个方块,这是历史三次记录的柱状图,在这里可以看到往上三次的检测数值。

数值越高,柱状图的高度也就越高;可以看到我这一条指标随着时间变迁数值有所增加,这也侧面证明 SMART 信息必须结合起来连续看才更能反映硬盘的使用状态。

接着,我们还需要来配置 scrutiny 的通知模块,让系统在监测到异常趋势时候可以第一时间通知到我们。
我们需要打开path/scrutiny/config/scrutiny.yaml文件进行修改。极空间目前支持通过内置文本编辑器来编辑yaml文件,所以大家记得在改完以后保存一下。

scrutiny 支持近 20种消息推送渠道(集成了 containrrr.dev/shoutrrr/v0.8/services/overview/),比较常用的就是bark、gotify等三方应用。这里我以 iOS 系统的 bark举例。
安装bark的过程就不重复了,之前的文章里有写,需要的可以回顾看一看,我们主要来看如何配置。首先安装完 bark 以后,在 APP 里添加私有服务器,然后记录一下设置里的Device Token。

接着浏览器里输入bark的私有地址拼接URL,填入Device Token完成注册。
>浏览器输入下面的指令
http://192.168.0.118:56789/register?devicetoken=密钥
>返回的结果
{"code":200,"message":"success","data":{"key":"复制这个","device_key":"复制这个","device_token":"密钥"},"timestamp":1760518205}
接着回到极空间,在notify那一段里找到bark的通知,用下面的地址替换文档里原本的内容。
"bark://:device_key@192.168.0.118:56789?Scheme=http"
之后,只要 SMART 检测出现异常趋势,Scrutiny 就会通过通知渠道发送过来,我们就可以第一时间进行人为干预,既能保护数据不丢失,也能提前对硬盘状态进行管理,避免进一步损坏。

总结
大家总说,玩 NAS 就是玩数据,玩数据就是玩硬盘,在如今硬盘涨价越来越厉害的时候,如何加强现有硬盘的保护成为了性价比最高的选择。
Scrutiny 应用通过连续记录硬盘 SMART 信息,能自动发现和监测异常波动,帮助我们最快的获取硬盘亚健康状态,为我们进行数据抢修和硬盘“治未病”提供了极大的帮助~
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

escorthu
校验提示文案
escorthu
校验提示文案