威联通(QNAP)硬盘不休眠(待机)的解决方法

背景

好奇观察了下 453Bmini 硬盘的休眠(待机)情况,发现在已有 SSD 作为系统和软件安装区域后,HDD 仍不进入休眠状态,或进入休眠短时间被唤醒。
我的 1 号硬盘位是SSD,所以以 2 号硬盘位的 HDD 举例:查看硬盘是否休眠可通过命令 hdparm -C /dev/sdb,如果输出 drive state is: active/idle 则表示硬盘是唤醒状态,如果输出 drive state is: standby 则表示硬盘已休眠(低功耗模式)。

调查

  1. 首先排查 NAS 系统中是否开启了硬盘待机,在“控制台”>“系统”>“硬件”中,我已经开启;
  2. 排查了官方文档中描述的其他场景,我用了 Container Station,但是全部都是在 SSD 上,应当也不会阻止 HDD 休眠。

这就比较奇怪了,只能网上搜索一番,直到找到下面这两篇博客给我解了疑:

  1. 在威联通NAS上完美实现硬盘单独休眠
  2. QNAP 威联通磁盘分区探索与数据导出

我将上面的博客内容总结一下,除系统盘之外的硬盘不能休眠,是因为 QNAP 选择将每一块硬盘都分出来两个区块,然后将这部分区块组成了 RAID1(下文称为“系统 RAID1”,路径为 /dev/md9 和 /dev/md13),也就是说只要系统有读写,那所有硬盘都将不能休眠。

那如何解决呢?很简单,将非系统盘的分区移出“系统 RAID1”即可,这里以我的第二块硬盘举例:

mdadm /dev/md9 --fail /dev/sdb1
mdadm /dev/md13 --fail /dev/sdb4

RAID1 的初衷是避免数据损坏,那我们也可以通过定时任务每天恢复“系统 RAID1”一段时间用于同步数据,之后再断开即可。

添加定时任务

这里我提供两个脚本,一个用于断开“系统 RAID1”,一个用于恢复“系统 RAID1”:

#!/bin/sh
# fail_raid1.sh(断开系统 RAID1)
mdadm /dev/md9 --fail /dev/sdb1
mdadm /dev/md13 --fail /dev/sdb4
#!/bin/sh
# readd_raid1.sh(恢复系统 RAID1)
mdadm /dev/md9 --re-add /dev/sdb1
mdadm /dev/md13 --re-add /dev/sdb4
#!/bin/sh
# raid1_monitor.sh(监控 HDD 是否休眠)
echo `date` `hdparm -C /dev/sdb | grep state` >> /share/CACHEDEV1_DATA/my_cron/raid1_monitor.log 2>&1

需要注意的是,QTS(QNAP 的系统)不能通过 crontab -e 这个方式添加定时任务,因为系统内部有一套逻辑会覆盖通过这种方法增加的定时任务,详情可参考官方文档:Add_items_to_crontab

# 每天 0 点恢复系统 RAID1
echo "0 0 * * * /bin/bash /share/CACHEDEV1_DATA/my_cron/readd_raid1.sh" >> /etc/config/crontab
# 每天 0 点 15 分恢复系统 RAID1
echo "15 0 * * * /bin/bash /share/CACHEDEV1_DATA/my_cron/fail_raid1.sh" >> /etc/config/crontab
# 每 10 分钟检测 HDD 是否休眠,结果保存在 raid1_monitor.log 中
echo "*/10 * * * * /bin/bash /share/CACHEDEV1_DATA/my_cron/raid1_monitor.sh" >> /etc/config/crontab
# 重启 crontab
crontab /etc/config/crontab && /etc/init.d/crond.sh restart

优化结果

优化效果显著,监控日志见文末附件。

附件

每 10 分钟监控硬盘状态日志

...
Tue Mar 17 23:20:00 HKT 2020 drive state is: standby
Tue Mar 17 23:30:00 HKT 2020 drive state is: standby
Tue Mar 17 23:40:00 HKT 2020 drive state is: standby
Tue Mar 17 23:50:00 HKT 2020 drive state is: standby
Wed Mar 18 00:00:00 HKT 2020 drive state is: active/idle
Wed Mar 18 00:10:00 HKT 2020 drive state is: active/idle
Wed Mar 18 00:20:00 HKT 2020 drive state is: active/idle
Wed Mar 18 00:30:00 HKT 2020 drive state is: standby
Wed Mar 18 00:40:00 HKT 2020 drive state is: standby
Wed Mar 18 00:50:00 HKT 2020 drive state is: standby
Wed Mar 18 01:00:00 HKT 2020 drive state is: standby
Wed Mar 18 01:10:00 HKT 2020 drive state is: standby
Wed Mar 18 01:20:00 HKT 2020 drive state is: standby
Wed Mar 18 01:30:01 HKT 2020 drive state is: standby
Wed Mar 18 01:40:01 HKT 2020 drive state is: standby
Wed Mar 18 01:50:00 HKT 2020 drive state is: standby
Wed Mar 18 02:00:00 HKT 2020 drive state is: standby
Wed Mar 18 02:10:00 HKT 2020 drive state is: standby
Wed Mar 18 02:20:00 HKT 2020 drive state is: standby
Wed Mar 18 02:30:00 HKT 2020 drive state is: standby
Wed Mar 18 02:40:00 HKT 2020 drive state is: standby
Wed Mar 18 02:50:00 HKT 2020 drive state is: standby
Wed Mar 18 03:00:00 HKT 2020 drive state is: standby
Wed Mar 18 03:10:00 HKT 2020 drive state is: active/idle
Wed Mar 18 03:20:00 HKT 2020 drive state is: active/idle
Wed Mar 18 03:30:00 HKT 2020 drive state is: active/idle
Wed Mar 18 03:40:00 HKT 2020 drive state is: standby
Wed Mar 18 03:50:00 HKT 2020 drive state is: standby
Wed Mar 18 04:00:00 HKT 2020 drive state is: active/idle
Wed Mar 18 04:10:00 HKT 2020 drive state is: active/idle
Wed Mar 18 04:20:00 HKT 2020 drive state is: active/idle
Wed Mar 18 04:30:00 HKT 2020 drive state is: standby
Wed Mar 18 04:40:00 HKT 2020 drive state is: active/idle
Wed Mar 18 04:50:00 HKT 2020 drive state is: active/idle
Wed Mar 18 05:00:00 HKT 2020 drive state is: active/idle
Wed Mar 18 05:10:00 HKT 2020 drive state is: standby
Wed Mar 18 05:20:00 HKT 2020 drive state is: standby
Wed Mar 18 05:30:00 HKT 2020 drive state is: standby
Wed Mar 18 05:40:00 HKT 2020 drive state is: standby
Wed Mar 18 05:50:00 HKT 2020 drive state is: standby
Wed Mar 18 06:00:00 HKT 2020 drive state is: active/idle
Wed Mar 18 06:10:00 HKT 2020 drive state is: active/idle
Wed Mar 18 06:20:00 HKT 2020 drive state is: active/idle
Wed Mar 18 06:30:00 HKT 2020 drive state is: standby
Wed Mar 18 06:40:00 HKT 2020 drive state is: standby
Wed Mar 18 06:50:00 HKT 2020 drive state is: standby
Wed Mar 18 07:00:00 HKT 2020 drive state is: standby
Wed Mar 18 07:10:00 HKT 2020 drive state is: standby
Wed Mar 18 07:20:00 HKT 2020 drive state is: standby
Wed Mar 18 07:30:00 HKT 2020 drive state is: standby
Wed Mar 18 07:40:00 HKT 2020 drive state is: standby
Wed Mar 18 07:50:00 HKT 2020 drive state is: standby
Wed Mar 18 08:00:00 HKT 2020 drive state is: standby
Wed Mar 18 08:10:00 HKT 2020 drive state is: standby
Wed Mar 18 08:20:00 HKT 2020 drive state is: standby
Wed Mar 18 08:30:00 HKT 2020 drive state is: standby
Wed Mar 18 08:40:00 HKT 2020 drive state is: standby
Wed Mar 18 08:50:00 HKT 2020 drive state is: standby
Wed Mar 18 09:00:00 HKT 2020 drive state is: standby
Wed Mar 18 09:10:00 HKT 2020 drive state is: standby
Wed Mar 18 09:20:00 HKT 2020 drive state is: standby
Wed Mar 18 09:30:00 HKT 2020 drive state is: standby
Wed Mar 18 09:40:00 HKT 2020 drive state is: standby
Wed Mar 18 09:50:00 HKT 2020 drive state is: standby
Wed Mar 18 10:00:00 HKT 2020 drive state is: standby
Wed Mar 18 10:10:00 HKT 2020 drive state is: standby
Wed Mar 18 10:20:00 HKT 2020 drive state is: standby
Wed Mar 18 10:30:00 HKT 2020 drive state is: active/idle
Wed Mar 18 10:40:00 HKT 2020 drive state is: active/idle
Wed Mar 18 10:50:00 HKT 2020 drive state is: active/idle
Wed Mar 18 11:00:00 HKT 2020 drive state is: standby
Wed Mar 18 11:10:00 HKT 2020 drive state is: standby
Wed Mar 18 11:20:00 HKT 2020 drive state is: standby
Wed Mar 18 11:30:00 HKT 2020 drive state is: standby
Wed Mar 18 11:40:00 HKT 2020 drive state is: standby
Wed Mar 18 11:50:00 HKT 2020 drive state is: standby
Wed Mar 18 12:00:00 HKT 2020 drive state is: active/idle
Wed Mar 18 12:10:00 HKT 2020 drive state is: active/idle
Wed Mar 18 12:20:00 HKT 2020 drive state is: active/idle
Wed Mar 18 12:30:00 HKT 2020 drive state is: standby
Wed Mar 18 12:40:00 HKT 2020 drive state is: standby
Wed Mar 18 12:50:00 HKT 2020 drive state is: standby
Wed Mar 18 13:00:00 HKT 2020 drive state is: standby
Wed Mar 18 13:10:00 HKT 2020 drive state is: standby
Wed Mar 18 13:20:00 HKT 2020 drive state is: standby
Wed Mar 18 13:30:00 HKT 2020 drive state is: standby
Wed Mar 18 13:40:00 HKT 2020 drive state is: standby
Wed Mar 18 13:50:00 HKT 2020 drive state is: standby
Wed Mar 18 14:00:00 HKT 2020 drive state is: standby
Wed Mar 18 14:10:00 HKT 2020 drive state is: standby
Wed Mar 18 14:20:00 HKT 2020 drive state is: standby
Wed Mar 18 14:30:00 HKT 2020 drive state is: standby
Wed Mar 18 14:40:00 HKT 2020 drive state is: standby
Wed Mar 18 14:50:00 HKT 2020 drive state is: standby
Wed Mar 18 15:00:00 HKT 2020 drive state is: standby
Wed Mar 18 15:10:00 HKT 2020 drive state is: standby
Wed Mar 18 15:20:00 HKT 2020 drive state is: active/idle
Wed Mar 18 15:30:00 HKT 2020 drive state is: active/idle
Wed Mar 18 15:40:00 HKT 2020 drive state is: active/idle
Wed Mar 18 15:50:00 HKT 2020 drive state is: active/idle
Wed Mar 18 16:00:00 HKT 2020 drive state is: active/idle
...
  • 3
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
Jellyfin是一款开源的媒体服务器软件,能够将你的音乐、电影、电视节目和照片等媒体文件以流媒体的形式,方便地在各种设备上播放和管理。而威联通QNAP)则是一家知名的网络存储设备厂商,提供高性能的NAS(网络附加存储)设备。 Jellyfin可以在威联通的NAS设备上进行安装和使用。通过将Jellyfin安装在威联通的NAS上,你可以将NAS设备变成一个功能强大的媒体服务器。这样,在家庭网络中的各种设备(如智能电视、手机、平板电脑等)上就可以通过Jellyfin客户端软件访问和播放媒体文件。 威联通的NAS设备配备了强大的硬件性能和丰富的扩展性,可以提供足够的存储空间来储存大量的媒体文件。同时,NAS设备还支持RAID技术,可以提供数据备份和冗余,确保你的媒体文件的安全性和稳定性。 通过Jellyfin和威联通的NAS设备的组合,你可以自由地管理和播放你的媒体文件。你可以创建各种媒体库,分类整理你的音乐、电影和电视节目,还可以通过自定义标签和元数据对媒体文件进行搜索和排序。另外,你还可以创建多个用户账号,为家庭成员提供个性化的媒体推荐和播放列表。 总之,Jellyfin和威联通的NAS设备的结合能够为用户提供一个功能丰富、稳定可靠的媒体服务器解决方案。无论是个人还是家庭使用,都能够满足你对多媒体娱乐的需求,并且将你的媒体文件随时随地带到你身边。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值