收起左侧

改变数据存储策略,待机功耗降低 30%!

12
回复
541
查看
[ 复制链接 ]

0

主题

4

回帖

0

牛值

fnOS系统内测组

系统信息

  1. CPU:8100T
  2. 内存 16G * 2;
  3. 硬盘:
    1. 系统盘 256G SSD;
    2. 缓存盘 256G SSD;
    3. 数据盘 1T SSD;
    4. 机械硬盘:4T + 8T + 16T + 18T 共4块;

优化存储策略前

在优化存储策略之前,对硬盘的使用方式是:

  • 数据盘单独创建了存储池,Linear 存储模式;
  • 4T + 8T+ 16T 三块硬盘创建影音存储池,Linear 存储模式;
  • 18T 创建影音存储池2,Linear 存储模式,计划当前面的影音存储池使用完后来继续存储影音数据;

在开启硬盘休眠模式后,待机功耗为 41w;

IMG_1546.jpg

为什么优化存储策略

  1. 主要是因为,了解到 Linear 存储模式下,任意一块硬盘损坏都会导致整个存储池数据丢失,虽然我的影音存储池只会保存影音数据,但是整个影音池数据由于某块硬盘损坏而全部数据丢失,重新下载收集的时间和精力成本也会非常高,这让我难以接受,我能够接受的是,只丢失损坏硬盘的数据,其他硬盘数据不受影响;
  2. 另外一个原因是待机功耗,由于三块硬盘组成了一个影音存储池,虽然设置了硬盘休眠,但在观影或其他程序读取数据时,三块硬盘都会唤醒,导致功耗比较高,个人感觉 24 小时运行的 Nas 功耗还是要尽可能的低一些;

如何优化存储策略

为了解决第一个问题,在网上搜了很多文章,发现 Unraid 系统的阵列非常符合我的需求,但是换掉飞牛系统是不太可能了,于是开始想在飞牛上怎么才能做到类似的效果?

哎,想到一个主意,把每块硬盘分别创建一个存储池不就行了吗?在存储影音时,先指定一块盘作为下载盘,等这块盘满了,再手动指定到下一块块......这样即时某块盘损坏,也只会损失部分数据;同时,为了使影音软件能读取并汇总到所有硬盘的影音数据,我将每个影视存储池的目录结构配置成完全一致,然后在影视系统每个类目下配置每个对应的路径即可,例如飞牛影视:

微信图片_20250912162633_1.png

第二个问题也很好的解决了,由于分离硬盘到了不同的存储池,每次观影时只会唤醒并读取对应硬盘的数据,其他硬盘可以正常休眠降低功耗;

效果

优化存储策略后,同样待机条件下,待机功耗降低至 28w, 功耗降低了 30%+!

IMG_1592.jpg

收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

43

主题

88

回帖

0

牛值

fnOS系统内测组

飞牛百度网盘玩家

这...

4

主题

44

回帖

0

牛值

fnOS系统内测组

这硬盘规格好有个性,硬盘少工作确实能降低功耗

一块一块买的哈哈哈哈  详情 回复
昨天 09:45

1

主题

37

回帖

0

牛值

fnOS系统内测组

然后 月用电量反而增加了

并没有,实实在在地降低了30%  详情 回复
昨天 09:44

1

主题

4

回帖

0

牛值

江湖小虾

可以使用mergerfs,这个工具,把SSD放前面,其他HDD放后面,挂载为一个目录,从哪里拿数据就会唤醒哪一块盘。像我就是三块SSD作为一个热数据的区域,三块16TB作为冷数据区域。平常电视剧、动漫这种下载下来后肯定会频繁访问,那么就都是在热数据区域的,就不会唤醒HDD(但飞牛播放器貌似,只要打开就会全盘唤醒,但一天貌似就会这么一次,后面访问热数据区域好像也不会唤醒HDD)。然后mergerfs,数据写入有几张模式,适合我的是依次写入,就是先写第一块盘,写90%了再写到第二块盘。唯一的就是要监控,当SSD都写到90%之后要搬数据到HDD,把一部分变成冷数据的电影,搬到HDD去(可以AI写脚本,自动操作),一般热数据变成冷数据,就是刚下载完的电影看完了就会变成冷数据了(冷数据就是长期不会访问了的数据,偶尔访问一下)

MOUNT_DIR="/vol1/1000/myhome" SRC_DIRS="/vol00/INTEL SSDSC2KB960G8:/vol00/INTEL SSDSC2KB960G8_1:/vol00/INTEL SSDSC2BB480G4:/vol00/ST16000NM002G:/vol00/ST16000NM002G_1:/vol00/ST16000NM002G_2" # 确保目  详情 回复
4 天前

1

主题

4

回帖

0

牛值

江湖小虾

qyc888 发表于 2025-9-14 11:59
可以使用mergerfs,这个工具,把SSD放前面,其他HDD放后面,挂载为一个目录,从哪里拿数据就会唤醒哪一块盘 ...

MOUNT_DIR="/vol1/1000/myhome"
SRC_DIRS="/vol00/INTEL SSDSC2KB960G8:/vol00/INTEL SSDSC2KB960G8_1:/vol00/INTEL SSDSC2BB480G4:/vol00/ST16000NM002G:/vol00/ST16000NM002G_1:/vol00/ST16000NM002G_2"

# 确保目录存在
if [ ! -d "$MOUNT_DIR" ]; then
    mkdir -p "$MOUNT_DIR"
fi

# 检查是否已经挂载
if mountpoint -q "$MOUNT_DIR"; then
    echo "$MOUNT_DIR 已经挂载,不需要处理。"
else
    echo "$MOUNT_DIR 未挂载,清理目录内容..."
    rm -rf "${MOUNT_DIR:?}/"*   # 防止误删,加 ? 避免空变量误删根目录

    echo "重新挂载 mergerfs..."
    mergerfs -o defaults,allow_other,use_ino,category.create=ff,moveonenospc=true \
        "$SRC_DIRS" "$MOUNT_DIR" &
fi
我都部分脚本
学习一下  详情 回复
昨天 09:43

2

主题

250

回帖

0

牛值

小有名气

我没组raid就是耗电高,而且对我使用环境,一次唤醒单块也够用了。

苟利国家生死以,岂因祸福避趋之

3

主题

62

回帖

0

牛值

初出茅庐

这 搞个basic模式不就轻松解决了吗?

用linear或者basic都可以,重点是要搞一个盘一个池来用……  详情 回复
昨天 09:42

0

主题

4

回帖

0

牛值

fnOS系统内测组

昨天 09:42 楼主 显示全部楼层
Maxgo 发表于 2025-9-16 14:04
这 搞个basic模式不就轻松解决了吗?

用linear或者basic都可以,重点是要搞一个盘一个池来用……

0

主题

4

回帖

0

牛值

fnOS系统内测组

昨天 09:43 楼主 显示全部楼层
qyc888 发表于 2025-9-14 12:01
MOUNT_DIR="/vol1/1000/myhome"
SRC_DIRS="/vol00/INTEL SSDSC2KB960G8:/vol00/INTEL SSDSC2KB960G8_1:/v ...

学习一下

0

主题

4

回帖

0

牛值

fnOS系统内测组

昨天 09:44 楼主 显示全部楼层
flytutu 发表于 2025-9-13 22:11
然后 月用电量反而增加了

并没有,实实在在地降低了30%
有没有遇到 nvme硬盘无法休眠? 我这个是空的 单独一块nvme创建一个存储空间. 另外的3.5机械盘可以正常休眠  详情 回复
昨天 18:52

0

主题

4

回帖

0

牛值

fnOS系统内测组

昨天 09:45 楼主 显示全部楼层
欢乐马_kOOco 发表于 2025-9-13 07:56
这硬盘规格好有个性,硬盘少工作确实能降低功耗

一块一块买的哈哈哈哈

1

主题

37

回帖

0

牛值

fnOS系统内测组

_Derrors 发表于 2025-9-17 09:44
并没有,实实在在地降低了30%

有没有遇到 nvme硬盘无法休眠?   我这个是空的  单独一块nvme创建一个存储空间.   另外的3.5机械盘可以正常休眠
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则