2023/12/30 更新:
拥抱全闪。去你妈的机械硬盘。
家里有台装有两块 14T 氮气盘的威联通 TS-264C,硬盘炒豆子的声音可以接受,但忍不了没有读写的时候硬盘也会隔几秒就哐当一下。小小研究了一下解决办法。
根据 这篇帖子 可以得知威联通为了确保拔掉任何一块硬盘都能进系统,威联通会给所有硬盘分区,并把硬盘的第一块分区组 RAID 1 md9,用于存储固件,第四块分区组 RAID 1 md13,用于存放系统配置和应用数据。以 md9 为例。
1 | # ihainan @ TS-264C-NAS in ~ [15:25:20] |
当 SSD 存在读写的时候,数据也会同步到两块机械盘,基本就没法让硬盘进入休眠状态。
让机械硬盘能够正常休眠的思路如下:
首先需要将两块机械盘移除出 RAID,同时出于安全性考虑,需要添加两个深夜执行的定时任务,分别将硬盘添加回 RAID,和等待一段时间时候,再重新将硬盘移除,具体可以参见 原贴 的脚本。
可以使用工具 hdparm
命令查看当前硬盘是否有读写,也可以使用 fatrace
来 监控当前目录所在分区 具体是哪个进程在读写什么数据(草考):
1 | $ sudo hdparm -C /dev/sda |
但是在两块硬盘都进入 standby 之后,实际上还是会隔几秒就听到哐当声,这时候还需要在威联通的控制台里面开启硬盘待机模式,并选择一个自己觉得合适的时间间隔。
可以通过 读取 LED 灯的值 来了解系统是否已经让硬盘进入待机模式, 0x00000001
表示已经休眠,0x00000000
则是未休眠。
1 | $ sudo cat /var/ledvalue |
以我上面设置的五分钟为例,当两块硬盘的 Standby 状态持续超过五分钟之后,硬盘会进入休眠状态,这时候 NAS 基本是完全无声状态了,直到硬盘下次被唤醒。写了一个脚本检查硬盘和 LED 状态来验证结果:
1 | Wed Dec 13 16:05:14 HKT 2023 standby standby 0x00010000 |
再顺便加到 Home Assistant 里面监控状态:
顺便一提,频繁唤醒是否对硬盘有损是个 有争议的话题。相比硬盘的寿命,我更希望自己用得舒心一些。此外唤醒是需要时间的,因为会比较频繁出现读取磁盘(打开 SMB 目录、看剧看电影)时需要等待片刻的情况。