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后, 无法做视频硬链接 。飞牛影视刮削不错,暂时不用整理下载内容。

Ubuntu做NFS服务器

1.Ubuntu做NFS分享

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

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

2.PVE直通单个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

3.在PVE格式化磁盘

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

4.Ubuntu安装 nfs-kernel-server

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

5.Ubuntu创建分享目录

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

6.Ubuntu挂载直通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

7.Ubuntu编辑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)

8.重启生效

1
2
3
4
sudo exportfs -ra

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

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

直通核显

1.PVE修改GRUB配置

vim /etc/default/grub

1
2
3
## 把这一行注释掉,修改成下面的
# GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt video=efifb:off"

保存后执行:

1
update-grub

2.PVE启用 VFIO 模块

vim /etc/modules 添加如下内容

1
2
3
4
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

3.PVE屏蔽 i915 模块

1
echo "blacklist i915" > /etc/modprobe.d/blacklist-i915.conf

更新initramfs:

1
update-initramfs -u

4.绑定核显设备ID

1
lspci -nn | grep -i vga

输出

1
00:02.0 VGA compatible controller [0300]: Intel Corporation UHD Graphics 630 (Desktop 9 Series) [8086:3e92]

绑定设备 [8086:3e92]

1
echo "options vfio-pci ids=8086:3e92" > /etc/modprobe.d/vfio-pci.conf

5.重启生效

1
reboot

6.验证直通成功

1
2
3
4
5
6
root@pve:~# dmesg | grep -i vfio
[    4.656337] VFIO - User Level meta-driver version: 0.3
[    4.688038] vfio-pci 0000:00:02.0: vgaarb: deactivate vga console
[    4.688043] vfio-pci 0000:00:02.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    4.688185] vfio_pci: add [8086:3e91[ffffffff:ffffffff]] class 0x000000/00000000
[   19.554481] vfio-pci 0000:00:02.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff

7.直通飞牛OS

飞牛虚拟机ID为101

1
qm set 101 -hostpci0 00:02.0,x-vga=1,pcie=1

eg.最后我的飞牛虚拟机配置如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
root@pve:~# qm config 101
agent: 1
bios: ovmf
boot: order=scsi0
cores: 4
cpu: host
efidisk0: local:101/vm-101-disk-2.raw,efitype=4m,pre-enrolled-keys=0,size=528K
hostpci0: 00:02.0,x-vga=1,pcie=1
ide2: local:iso/fnos-0.9.15-1003.iso,media=cdrom,size=2144208K
machine: q35
memory: 8192
meta: creation-qemu=9.2.0,ctime=1753200686
name: v-fnos
net0: virtio=BC:24:11:54:0B:AD,bridge=vmbr0
numa: 0
onboot: 1
ostype: l26
scsi0: local:101/vm-101-disk-0.qcow2,iothread=1,size=32G,ssd=1
scsi1: local:101/vm-101-disk-1.qcow2,iothread=1,size=32G,ssd=1
scsihw: virtio-scsi-single
smbios1: uuid=5e4c26de-627a-492c-8e2b-5682e19e89be
sockets: 1
startup: order=1,up=30
vmgenid: ee956ba4-1022-4fe6-93d5-ce26ae2c0cca

设置自动开机

本来设置的10点启动,结果白天ssh连接失败,用小米路由器软件看了下,这货也没联网,大概知道是启动失败了。晚上下班回家后看机器已经启动了,看了下PVE启动时间是18点,大概是RTC问题。

查看BIOS时间

SSH进入PVE运行hwclock查看硬件时间,如果找不到命令运行安装:apt install util-linux。运行date查看系统时间,如果两个不一致,会影响定时开机。

同步时间

让系统使用本地时间作为硬件时钟

timedatectl set-local-rtc 1 --adjust-system-clock

第二天正常10点自动开机了

自动关机脚本参考:https://11010.net/p/pve-timer-shutdown/

迁移

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

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