关于OMV系统nas硬盘休眠的一些折腾

2023-05-25 18:59:28 12点赞 54收藏 11评论

起因

我本来是用着truenas scale系统作为存储及部分docker服务

不过最近在官网看到truenas scale准备在2023.10的版本弃用移除docker关于OMV系统nas硬盘休眠的一些折腾

In October 2023, TrueNAS SCALE Cobia will be released. At that time, ix-systems is making the switch to containerd and Docker will be removed. While it may remain possible to enable apt and install docker, I have no plans to do so here.

当然官方又推出了其他方式systemd-nspawn来继续使用,但我还是感觉不怎么方便,scale官方已经很明确的向企业化靠拢

However, there is an alternative way of running docker, based on systemd-nspawn now available for testing!

又加上经过一段时间的实际使用,我对zfs并没有非常明确的需求

所以就准备从scale润了,切换到其他nas系统关于OMV系统nas硬盘休眠的一些折腾

核心需求

当nas硬盘多起来之后我慢慢就发现硬盘的功耗是一个不可小觑的问题,关于OMV系统nas硬盘休眠的一些折腾 至少对我来说是这样

对与我自己来说,除了部分docker服务及工作用的资料外,其他电影、音乐等数据基本就是周末去使用下,平常基本用不到,所以一直让硬盘跑着基本是浪费电,所以硬盘休眠是一个需要考虑的问题关于OMV系统nas硬盘休眠的一些折腾

方案选择

需要考虑硬盘休眠的话(黑)群晖,(黑)威联通基本就不用考虑了,他们的系统基本决定了很难实现休眠

网上一堆人的折腾,关掉一堆服务,最后也不一定能实现关于OMV系统nas硬盘休眠的一些折腾

这方面其实最好额系统应该是windows,其次可能是unraid

但我暂时不想用win,unraid收费,并且他的阵列方式我不太喜欢

我自己更偏向于单盘使用,不组阵列,重要的数据通过rsync或其他备份软件定时或实时异地备份,

同时更倾向于系统和数据盘分离,所有需要的服务通过docker实现,这样在系统折腾出问题时可以直接重装而不影响文件,更不会有阵列出问题的烦恼关于OMV系统nas硬盘休眠的一些折腾

最终我自己的选择就是omv,一个基于debain的轻量的nas系统,比较符合我的口味,基本规划是128g的ssd装系统,一块sata的ssd运行docker等程序,一块盘专门用来跑bt下载,其余机械硬盘个格式化为xfs或ext4直接挂载使用关于OMV系统nas硬盘休眠的一些折腾

问题及解决方案

安装和使用配置我这里不在赘述,站里有大佬已经给出文章,我这边要说的是遇到的一些问题,供大家参考

首先omv的硬盘休眠直接在存储器--磁盘--编辑中即可以配置关于OMV系统nas硬盘休眠的一些折腾

关于OMV系统nas硬盘休眠的一些折腾

修改高级电源管理,状态根据自己需要,我改为1,就是停转,时间也根据需要配置即可

然后保存,应用,就可以等待看磁盘状态了,相比较unraid omv没有提供ui界面的查看,

需要登陆到ssh,使用命令

smartctl -i -n standby /dev/sdb|grep "mode"|awk '{print $4}'

这个就是查询sdb的状态,如果显示STANDBY就是已休眠,ACTIVE就是正在活动中(当然有些硬盘可能还有其他状态)

多盘查看的话可以使用站内大佬的脚本

OMV查询硬盘休眠状态(Linux通用)【加料版】

到这儿基本就算是完成了,给每个硬盘都设置下,应该就是完成了关于OMV系统nas硬盘休眠的一些折腾

然而在我给所有硬盘设置完成后,怪事出现了,同样的参数,部分硬盘正常休眠,部分硬盘打死不休眠关于OMV系统nas硬盘休眠的一些折腾

经过重装、换盘位等一番折腾,最终还是不行关于OMV系统nas硬盘休眠的一些折腾

没办法,去外网上找找吧,国内用omv的比较少,设计到硬盘休眠的更少了

记过一番搜索,可以了解到omv使用的是hdparm休眠硬盘,

在archlinux的wiki上了解到这么一段话

某些驱动器不支持通过 hdparm 降速。 类似以下诊断错误消息很好地表明了这种情况:

# hdparm -S 240 /dev/sda
/dev/sda:
setting standby to 240 (20 minutes)
HDIO_DRIVE_CMD(setidle) failed: Invalid argument

对于其他一些驱动器,会确认 hdparm 命令,但驱动器并不遵守参数(APM 或降速计时器)。使用 Toshiba P300(型号 HDWD120)HDD 时观察到这一点。

看了下我的硬盘,出问题就是那几个p300关于OMV系统nas硬盘休眠的一些折腾

所以问题找到了,p300的硬盘固件会响应hdparm,设置也是成功的,但是硬盘就是不休眠关于OMV系统nas硬盘休眠的一些折腾

解决问题方法就是不使用hdparm,改用hd-idle

对于omv,基本流程如下

安装hd-idel

1 安装“OMV-Extras”(通过 Web GUI)

2 启用 OMV-Extras--设置--Backports

3 通过shell执行apt install hd-idle

设置流程

1 禁用 OMV 中的所有硬盘降速和电源管理设置(通过 Web GUI)

2 使用vim或其他编辑器打开/etc/default/hd-idle,去除或注释其中的默认配置

关于OMV系统nas硬盘休眠的一些折腾

3 插入配置信息 -a /dev/<...> -i <timeInSeconds>

HD_IDLE_OPTS="-i 0 -a /dev/disk/by-uuid/3411a0e5-1fb8-48d7-b412-46233cf284ad -i 1800 -a /dev/disk/by-uuid/b879cfdf-541c-45b7-b7b9-cdfa6374d23b -i 1800 "

START_HD_IDLE=true

配置文件就两行,第一行配置硬盘及休眠参数,最好使用uuid,sda/sdb这种硬盘顺序可能会变

至于查看uuid和硬盘对应关系,使用

ls -al /dev/disk/by-uuid/

即可看到

关于OMV系统nas硬盘休眠的一些折腾

第一个磁盘前插入 -i 0 为默认配置,意思是所有硬盘不休眠,后面就是 -a 硬盘id -i 休眠时间

休眠时间单位为秒,我的设置就是1800秒,即30分钟

4 设置完成后重启hd-idle服务,systemctl restart hd-idle.service,后续hd-idle后跟随系统自启动,基本就不需要管了,也可以通过systemctl status hd-idle.service 或ui界面的诊断--进程查询hd-idle是否正常运行

关于OMV系统nas硬盘休眠的一些折腾

5 如果omv的Autoshutdown插件启动了的话,需要执行一次,没装就没必要执行

systemctl enable hd-idle-restart-resume.service

至此,硬盘休眠就基本配置完成,hd-idle工作原理是使用一个特殊的系统文件来检测磁盘活动,检测到硬盘在一定时间没有活动就使硬盘休眠,相对于hdparm适用性更广,hdparm只是告诉硬盘该休眠,硬盘可以直接不理会,返回错误(这在早期一些西数盘有出现),或者就如东芝的p300一样,响应了但不执行关于OMV系统nas硬盘休眠的一些折腾

最后是关于硬盘唤醒的一些测试,不一定全,值友们可以后面补充

首先是omv的webui可能唤醒的地方,基本就是

omv唤醒休眠的几个地方,基本是设计到硬盘或共享文件

仪表盘-文件系统,smart

关于OMV系统nas硬盘休眠的一些折腾

诊断--报告

存储器--smart

存储器--文件系统

存储器--共享文件夹

服务-smb、nfs-共享

以及其他需要选择硬盘、文件夹、共享文件夹的地方,都会唤醒所有磁盘

然后是网络上有人统计过的使用中的一些使用情况

DLNA浏览目录,不点开媒体文件---休眠

映射驱动器---休眠

映射驱动器后,硬盘休眠后后点开”计算机”图标---几秒后自动唤醒

添加网络位置后,硬盘休眠后点开”计算机”图标---休眠

登陆Web管理界面---休眠

登陆Web管理界面,点击硬盘设置相关页面---唤醒

打开Windows资源管理器,Quick access一栏中有NAS的文件记录 ---唤醒

根据测试情况,建议尽量不要映射网络驱动器,这样可以避免出现时常唤醒硬盘的情况,而且使用映射网络驱动器时如果NAS没开机而其他电脑先开机还会有错误框弹出。当然了如果有需求的话除外,说实话这个功能还是挺好用的。

一个比较好的替代方案是使用添加网络位置功能(OMV有效),这样在Windows中只会把NAS共享文件夹看成是文件夹,而不是一个驱动器,虽然损失了一些高级功能(把共享文件夹看作一个真实分区),但硬盘再也不会频繁休眠唤醒了。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
11评论

  • 精彩
  • 最新
  • 我是用两级,大nas堆硬盘冷备,小nas用固态长期运行,东西看完了再相互导

    校验提示文案

    提交
    我原来也是,就是开机麻烦。。。索性就休眠待机了,多大一点功耗,换来随时可用以及定时备份也还行

    校验提示文案

    提交
    小米远程控制可以解决开机的问题

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 我安装了社区插件omv-extras后,在安装了虚拟机,所有硬盘就无法休眠了,不知道是怎么回事,后来卸载虚拟机,休眠就正常了。系统是5.6.261,现在考虑cpu比较次,打算用用docker,看看硬盘能否休眠,现在官网下载的omv6,在国内网络无法正常安装了,多处报错,只能安装5.6.除非有条件,不想折腾了

    校验提示文案

    提交
    我不用虚拟机。。。omv用清华的源基本没啥问题。。。docker的话就把需要实时运行的都跑在ssd上

    校验提示文案

    提交
    收起所有回复
  • 目前我也在试用omv,目前nas系统里这个也算是免费开源的最好选择了。我目前底层是hyper-v,在虚拟机里面安装了istore和omv,前者裸占地500m,后者上来10g,还挺差异。功能上omv基于dibian,可玩性不错,只不过UI操作交互不是很理想,比如安装docker一步搞不定,挂载不支持自定义挂载点。本想把istore里的jellyfin系列迁移到omv目前还在折腾。

    校验提示文案

    提交
    另外omv的插件貌似基于docker

    校验提示文案

    提交
    我也想迁移omv 现在debian上装的pve就图个管理界面 功能基本都是docker上 话说omv不支持自定义挂载路径吗 多少有点...

    校验提示文案

    提交
    还有2条回复
    收起所有回复
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
54
扫一下,分享更方便,购买更轻松