Featured image of post 第二台NAS组装以及功耗优化

第二台NAS组装以及功耗优化

二胎有备而来~

这是第一台NAS的笔记https://11010.net/p/nas-diy-1/,上一台NAS整理完给家人用了,日常工作的城市用着太不方便了,由奢入俭难,干脆再来一台放工作城市用~

需求

等买盘再决定买SAS或者SATA,8/9代主板多SATA可选性非常多,8100便宜够用。

  • 看视频、纪录片

  • 不保存重要资料

  • 有个Win备用

  • 偶尔跑点docker服务

  • 仅使用的时候开机

配件 型号 价格
主板 技嘉 B365M D3V 200
CPU I3-8100 114
电源 全汉FSP-300W 80
内存 梵想3200Hz16G2 170
系统盘 三星pm981a 98
散热 零下30度4线温控 27
机箱 撒哈拉x500+电源转换架 130
硬盘 1T SSD 原来机器剩下的

Bios设置

主板大概做了下面改动,直接把BIOS相关信息给deepseek,就能给出相关优化。

  • 启用 C-State(CPU 空闲状态)

    • 设置项名称:CPU C StatesEnhanced C-StatesPackage C State Limit

    • 建议设置: Enabled ,并将Package C State Limit设置为 C7 (如支持)

  • 启用 SpeedStep(节能调频)

    • 设置项名称:Intel SpeedStep/EIST/CPU Enhanced Halt (C1E)

    • 建议设置: Enabled

  • 启用 ASPM(主动状态功耗管理)

    • 设置项名称:PCI Express ASPM Support

    • 建议设置: L1Auto

    • 说明:降低空闲时 NVMe 与主板之间的功耗

  • 启用 SATA 电源管理

    • 设置项名称:SATA Aggressive Link Power Management(ALPM)

    • 建议设置: Enabled

  • 关闭未使用的设备

    • 如不使用以下设备,建议在 BIOS 中禁用:

      • 串口(Serial Port)

      • 音频控制器(HD Audio)

      • 板载 Wi-Fi / 蓝牙(如果有)

      • 板载网口(除用于 ESXi 的)

      • 板载 RGB / 灯效

  • XMP 配置

    • 设置项名称:XMP Profile

    • 建议设置: Disabled 或选择较低频率手动设置

    • 原因:XMP 往往会提高内存电压

  • NVMe功耗管理

    • 如果 BIOS 支持NVMe Power StateNVMe L1.2,可启用
  • SATA 模式

    • 设置项名称:SATA Mode Selection

    • 建议设置: AHCI (不要使用 RAID)

  • 关闭 RGB 灯效 (主板或风扇上的灯):

    • 设置项名称:LED LightingAura Lighting

    • 建议设置: Disabled on sleep/standby or completely

  • UEFI启动模式优先

    • 设置项名称:Boot Mode

    • 建议设置: UEFI only

    • 有助于更快的启动和一些平台节能

  • 冷启动风扇策略

    • 设置项名称:Smart FanFan Stop(不同 BIOS 名称不同)

    • 可设定在低温时关闭系统风扇或降低转速

功耗

硬件如上,系统配置如下,常规使用大概21瓦-30瓦,24小时开机0.6度电

系统以及问题

这次用的PVE做虚拟环境,没有公网环境,在PVE系统装个frp,利用SSH穿透 + vscode很容易操作PVE控制台。实现参考:https://11010.net/p/nas-file-docker/。如果自己两端网络环境好,NAT打洞才是最优答案。

  • 飞牛OS:直通STAT控制器、直通核显

  • ubuntu:跑docker

  • win10: 偶尔使用的时候开机

比上一套系统少了OMV,这次直接用飞牛OS来做硬盘和文件管理。Ubuntu下用NFS挂载飞牛文件,映射到Movie-PoiltDocker后, 无法做视频硬链接 。飞牛影视刮削不错,暂时不用整理下载内容。

重启挂载NAS失败

Ubuntu 通过NFS挂载飞牛NAS的目录,最近每次重启后,挂载目录失败。首先设置PVE虚拟机延迟启动200秒,这个方法无法解决问题。

修改挂载项

1
2
3
sudo vim /etc/fstab

192.168.3.201:/fs/1000/nfs /mnt/ssd_media nfs nofail,_netdev,x-systemd.requires=network-online.target 0 0

创建挂载检查服务

sudo vim /etc/systemd/system/ensure-nfs.mount.service

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
[Unit]
Description=Ensure NFS mount is ready before Docker
Requires=network-online.target
After=network-online.target

[Service]
Type=oneshot
ExecStart=/bin/bash -c 'for i in {1..10}; do mountpoint -q /mnt/ssd_media && exit 0 || mount /mnt/ssd_media && exit 0; sleep 5; done; exit 1'

[Install]
WantedBy=multi-user.target

让服务生效

1
2
sudo systemctl daemon-reload
sudo systemctl enable ensure-nfs.mount.service

修改docker服务等待挂载

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
sudo vim /lib/systemd/system/docker.service

# 分别在 Requires 和 After 后添加 ensure-nfs.mount.service 服务
# 参考部分文件
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target nss-lookup.target docker.socket firewalld.service containerd.service time-set.target ensure-nfs.mount.service
Wants=network-online.target containerd.service
Requires=docker.socket ensure-nfs.mount.service
StartLimitBurst=3
StartLimitIntervalSec=60

服务生效

1
2
sudo systemctl daemon-reload
sudo systemctl restart docker

重启PVE后,发现目录挂载一切正常~

Ubuntu做NFS分享

我的文件可以丢,但绝对不能受制于单个系统,因为我太喜欢折腾了,所以准备好随时把文件目录挂载到的别的地方,立刻生效。所以,思来想去还是决定取消飞牛OS对SATA控制器的管理。原来使用OMV来管理的硬盘,贼稳定,但大部分功能又用不上。于是决定再试试别的,这次瞄准CasaOS,LXC模板操作起来非常快。装完后,体验了下,感觉对Docker很友好,没啥吸引力。最终决定直接Ubuntu一把梭得了。单硬盘直通,也能更好的更具自己需求直通到不同的系统做不同的文件管理,比如部分盘PVE搞ZFS😄,部分盘在飞牛搞raid。

单盘直通后,别忘了取消上面设置的Docker修改和ensure-nfs.mount.service服务

直通单个STAT盘

1
2
3
4
5
# 查询硬盘 by-id 路径
ls -l /dev/disk/by-id/

# 直通
qm set 101 -virtio1 /dev/disk/by-id/ata-WANYAO_1TB_SSD_PRN24102900001

格式化磁盘

1
2
3
4
5
# 这个盘刚开始用,所以直接格式化重新分区
# 在v-ubuntu 虚拟机操作即可
sudo parted /dev/vda -- mklabel gpt
sudo parted /dev/vda -- mkpart primary ext4 0% 100%
sudo mkfs.ext4 /dev/vda1

安装 nfs-kernel-server

1
2
apt update
apt install -y nfs-kernel-server

创建分享目录

1
2
3
4
5
6
# 参考 OMV 目录,硬盘挂载到 srv 目录下,后续都是单个硬盘直通,根据功能取名,例如 nfs_media
sudo mkdir -p /srv/nfs_media

# 修改用户和用户组,改成自己的用户组和用户
sudo chown ubuntu:ubuntu /srv/nfs_media
sudo chmod 755 /srv/nfs_media

挂载直通STAT

1
2
3
4
5
6
# 开机自动挂载
sudo blkid /dev/vda1
/dev/vda1: UUID="3aa7e88e-d1d1-4140-bf38-305fa0abf8bb" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="primary" PARTUUID="7d4aeee3-eb77-4d49-a933-ed3b8955bc39"

# sudo vim /etc/fstab 添加上面输出的UUID内容
UUID=3aa7e88e-d1d1-4140-bf38-305fa0abf8bb /srv/nfs_media ext4 defaults 0 2

编辑NFS配置

sudo vim /etc/exports

1
2
# no_subtree_check: 性能优化,适用于整个目录共享, no_root_squash:不用root操作
/srv/nfs_media 192.168.3.0/24(rw,sync,no_subtree_check,no_root_squash)

重启生效

1
2
3
4
sudo exportfs -ra

# 开机启动
sudo systemctl enable --now nfs-server

然后就可以挂载到飞牛使用了。

迁移

这台NAS搞得差不多了,准备把板子、CPU和系统盘打包带回家,把家里的12300T+Z690带回来重搞。正好高配的这套也适合放到撒哈拉X500大箱子里,折腾起来方便。

Licensed under CC BY-NC-SA 4.0
最后更新于 Jul 17, 2025 06:51 CST