用 Debian 或其他 Linux 发行版做主系统,相比于群晖的自动报警,该如何检测硬盘健康状态

2023-05-20 12:05:42 +08:00
 henryshen233
如果是群晖 NAS 的话,硬盘出问题会通过手机 App 提醒,假如是 Debian 的话,该如何察觉硬盘问题
3549 次点击
所在节点    NAS
24 条回复
changnet
2023-05-20 12:10:18 +08:00
自己部署运维脚本(也有现成开源的运维系统),监测到有问题就发封邮件,发短信、电话都行。
sNullp
2023-05-20 12:10:44 +08:00
自己写一个脚本定期 run smart test ,让 smartmontools 自带的 daemon 遇到 test 错误就发邮件。
或者跟我一样用 zfs ,有问题自动发邮件。
jim9606
2023-05-20 12:13:04 +08:00
smartmontools 可以后台监视,会发通知,应该有用 smtp 发邮件的方法
ltkun
2023-05-20 12:23:34 +08:00
zfs mdadmin 天天给我发邮件
optional
2023-05-20 12:31:15 +08:00
找个 exporter 然后要么 Prometheus 要么自己写个小脚本
Hardrain
2023-05-20 12:51:10 +08:00
man smartd
wellerman
2023-05-20 13:11:23 +08:00
群晖之类的 NAS 系统,本来就是缝合怪。缝合了一堆开源工具,就拿出来卖了。
pollux
2023-05-20 15:22:16 +08:00
用 smart 来监控异常,使用 shell 脚本或 python 胶水语言,调用钉钉或者飞书接口报警
mingl0280
2023-05-20 15:31:15 +08:00
smartd(smartmontools)自动监视发邮件,然后 sendmail 和 msmtp 之类的客户端找个能用的 pop3 配置好直接邮件发到手机上。我现在就这么搞的。
FrankAdler
2023-05-20 16:26:27 +08:00
我是 pve 开了 grafana 和 prometheus ,采集 cpu 、内存啥的,加上 smart 信息应该也不难
greenskinmonster
2023-05-20 16:37:50 +08:00
smartctl -H /dev/sda --json 定时检查是不是 passed 状态即可
raptor
2023-05-20 17:32:57 +08:00
配置一个 smartmontools 监控啊: https://mental.we8log.com/mental/post/400/
shijingshijing
2023-05-20 17:40:50 +08:00
硬盘本身每那么娇气,真正靠谱的是离线冷备,RAID1 什么的都不如冷备,数据不铭感上传网盘做备份也行。群辉这种很大部分是智商税,他那个硬盘监控很多只要 SMART 数据稍微异常就给你废掉整个盘其实完全没必要,让你多花钱而已,硬盘本身就带有纠错,PList ,GList 等各种措施,只要你不用叠瓦一般都皮实的很,更高级的氦气盘防护措施更多。

你可以看下这个新闻: https://finance.sina.com.cn/tech/2021-02-02/doc-ikftssap2457855.shtml
oneisall8955
2023-05-20 18:14:00 +08:00
组 RAID 不是备份
0superx0
2023-05-20 21:20:58 +08:00
折腾过 nas ,个人环境找不出什么使用场景,
要文件共享方案,其实主机开个 smb 完事了,
要科学上网,挂个 clash 跑机场当网关,
除了小姐姐外,个人文件还不如挂个 webdav 网盘来得安全
azure2023us559
2023-05-20 21:23:49 +08:00
容灾备份才能算上真正意义上的备份。
mikewang
2023-05-20 23:07:47 +08:00
我用的成品 NAS ,也不完全信任 NAS 系统自带的自动报警。
自己写了一个 Python 脚本定时调用 smartctl 命令。
举个例子:`smartctl -x /dev/nvme0 -json`
然后解析 json ,自行判断。
mikewang
2023-05-20 23:13:51 +08:00
#17 @mikewang 更正:`smartctl -x /dev/nvme0 --json`,漏打一个横杠。
Zhouisme
2023-05-21 03:56:19 +08:00
cron + brank ,配合一种语言
1.cron 定时执行程序 bash.sh ,grep 获取想要的硬盘 status ,加以判断,或者直接存为环境变量。py 、go 去获取环境变量判断。
2.py 、go 手写一个发送 get 的小程序,被 bash.sh 调用。
3.brank 只能用于 iOS 。

这是最简单最轻量的吧,智力负担也小。
Zhouisme
2023-05-21 03:58:42 +08:00
@Zhouisme

补充,不会 py 、go 等编程语言也没问题。用 curl 发送 get 请求即可。复杂度又降低了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/941494

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX