收起左侧

基于PVE 9.1与双NAS分离架构的家庭全能服务器搭建指南

23
回复
1858
查看
[ 复制链接 ]

4

主题

12

回帖

0

牛值

江湖小虾

2025-12-7 13:22:20 显示全部楼层 阅读模式

基于PVE 9.1与双NAS分离架构的家庭全能服务器搭建指南

一、 设计总览与核心思想

本方案旨在利用经典的AMD A8-7650K平台(4线程,16GB内存),通过严谨的虚拟化与网络规划,构建一个集远程管理、高性能存储、媒体处理、应用服务和网络安全于一体的家庭服务器。其核心在于 “存储与计算分离”“流量精细隔离” ,使老旧硬件焕发新生,每一分资源都物尽其用。(PC平台通用)

硬件清单:

  • 路由器:华为AX3 pro,支持花生壳DDNS、IPV6、远程唤醒,光猫已桥接。
  • 核心平台:AMD A8-7650K (4线程), 16GB DDR3内存
  • 系统与缓存盘:238.47GB NVMe SSD (通过PCIe转接卡连接)
  • 主存储盘:若干块SATA机械硬盘(通过主板自带6个SATA口连接)
  • 显卡:NVIDIA Quadro P600 (用于硬件解码)
  • 网络:单千兆以太网口

软件版本:

  • 虚拟化平台:Proxmox VE 9.1
  • 存储虚拟机:TrueNAS Scale 25.1
  • 应用虚拟机:飞牛NAS V1.1.4

二、 拓扑结构与设计思路

本方案的网络与数据流设计是性能与安全的基础,其拓扑可概括为“一个平台,两个网络,三层角色”。

  1. 拓扑简述
    • 一个平台:PVE作为底层,统一管理所有硬件资源(CPU、内存、SSD、SATA控制器、显卡)。
    • 两个网络
      • 外部网络 (vmbr0):桥接物理网卡,承担PVE管理、所有对外服务(SMB、公网访问)及互联网出口。
      • 内部网络 (vmbr1):纯虚拟桥接,专用于TrueNAS与飞牛之间高速、隔离的数据传输(如NFS)。
    • 三层角色
      • TrueNAS (存储层):直通全部SATA控制器,独占所有机械硬盘,提供纯粹的ZFS文件服务。通过双网卡分别对外(SMB)和对内(NFS)。
      • 飞牛NAS (应用层):直通独立显卡,运行所有Docker应用(Jellyfin、下载工具等)。通过双网卡分别上网和访问内部存储。
      • 雷池WAF (安全层):以Docker形式部署于飞牛内,以“旁路模式”仅防护需从公网访问的Web服务(如管理界面),内网文件流量不受影响。
  2. 设计亮点
    • CPU效率最大化:面对AMD A8独特的“双模块四线程”架构,为两台虚拟机均设置 CPU类型=host,绕过虚拟化开销,直接调用所有CPU指令集。
    • SSD三级角色精划分:将238GB SSD精细划分为:
      • 系统盘:保障PVE运行。
      • SLOG:加速TrueNAS的同步写入(NFS/SMB),大幅降低延迟。
      • 应用与下载缓存:为飞牛的Docker和下载提供高速工作区,避免读写机械硬盘。
    • 性能与安全平衡:仅对外映射雷霆防火墙端口,公网流量经WAF清洗,内网存储流量直接、纯净,兼顾安全与极致的内网传输性能。

三、 分步建设时间轴

第一阶段:硬件准备与PVE基础安装 (第1小时)

  1. BIOS设置:开机进入BIOS,启用 AMD-V/SVM(虚拟化)和 IOMMU(用于硬件直通)功能。
  2. 安装PVE 9.1
    • 制作启动盘,从NVMe SSD启动安装。
    • 配置主机名、管理IP(如 192.168.1.10)。
    • 【关键步骤】自定义分区:选择“自定义”并点击“Options”,设置 maxvz=0。按以下方案分区:
      分区用途 大小 文件系统 说明
      EFI系统分区 512MB FAT32 启动引导
      PVE系统根分区 40GB ext4 (local存储)
      TrueNAS SLOG预留 8GB 不格式化 后续作为ZFS日志设备
      PVE虚拟机存储 52GB LVM-Thin (local-lvm,存放虚拟机系统盘)
      飞牛应用空间预留 剩余(~138GB) 不格式化 后续作为虚拟硬盘挂载给飞牛

第二阶段:构建存储核心 - TrueNAS Scale (第2-3小时)

  1. 创建虚拟机
    • VM ID: 100, 名称: TrueNAS-Scale
    • 系统:机器 q35, BIOS OVMF (UEFI), 添加EFI磁盘。
    • CPU:3核心, 类型 host
    • 内存:10240MB, 禁用 Ballooning设备。
    • 网络:添加两块网卡,分别桥接 vmbr0vmbr1,模型 VirtIO
  2. 配置硬件
    • 系统盘:添加一个32GB的虚拟磁盘(总线SATA),存储在 local-lvm
    • 直通SATA控制器:添加PCI设备,选择主板的SATA控制器,勾选“所有功能”和“PCI-Express”。
  3. 安装与配置
    • 挂载TrueNAS 25.1 ISO,安装系统到32GB虚拟盘。
    • 配置网络:
      • vmbr0网卡:192.168.1.20/24 (对外/管理)
      • vmbr1网卡:10.10.10.2/24不设网关 (对内/NFS)
    • 创建存储池:使用直通的机械硬盘创建ZFS池(如 tank)。
    • 添加SLOG:在池的“扩展”选项中,添加预留的8GB SSD分区作为“日志设备”。
    • 创建数据集(如 media)并开启 NFS共享,授权网络为 10.10.10.0/24

第三阶段:构建应用核心 - 飞牛NAS (第4-5小时)

  1. 创建虚拟机
    • VM ID: 101, 名称: FeiNiu-NAS
    • 系统:q35OVMF (UEFI)
    • CPU:1核心,类型 host
    • 内存:4096MB。
    • 【核心】网络:添加两块网卡,分别桥接 vmbr1vmbr0,模型 VirtIO
    • 直通显卡:添加PCI设备,选择NVIDIA P600显卡(通常有两个设备,均需直通),勾选“所有功能”。
  2. 配置硬盘
    • 系统盘:24GB虚拟磁盘,存储在 local-lvm
    • 应用数据盘:添加一个138GB的虚拟磁盘,存储在 local-lvm
  3. 安装与系统内配置
    • 安装飞牛NAS V1.1.4到24GB系统盘。
    • 配置网络:
      • 连接 vmbr0的网卡:设为家庭网IP(如 192.168.1.30),设置网关和DNS。
      • 连接 vmbr1的网卡:设为 10.10.10.3/24绝不设置默认网关
    • 进入飞牛系统,将138GB数据盘格式化为 EXT4,挂载至如 /mnt/appdata
    • 【必须】迁移Docker目录:在飞牛Docker设置中,将数据目录修改为 /mnt/appdata/docker
    • 挂载NFS存储:挂载TrueNAS的共享 10.10.10.2:/mnt/tank/media 到如 /mnt/truenas_media

第四阶段:部署应用与安全加固 (第6小时及以后)

  1. 在飞牛中部署应用
    • 影视:添加媒体库指向 /mnt/truenas_media,在播放设置中开启硬件解码,选择 NVENC
    • 下载工具:设置临时下载目录为 /mnt/appdata/downloads,完成目录指向NFS共享。
  2. 部署雷池WAF
    • 在飞牛Docker中部署雷池社区版,映射端口:9443(管理)、9444(防护)。
    • 路由器设置(旁路模式核心):将需要公网访问的服务(如Jellyfin的8096端口)的公网端口(如 38201),转发到 192.168.1.30:9444
    • 在雷池管理界面添加站点,监听端口 9444,上游服务器填写内网地址(如 http://192.168.1.30:8096)。
  3. 设置启动顺序
    • 在PVE中设置TrueNAS(ID 100)优先启动(顺序1)。
    • 设置飞牛NAS(ID 101)延迟90秒启动(顺序2),等待存储服务就绪。

四、 最终验证清单

  • 网络连通性:从飞牛 ping10.10.10.2192.168.1.20
  • 存储访问:在飞牛中可读写 /mnt/truenas_media 目录。
  • 应用功能:Jellyfin能扫描并播放NFS中的4K影片,GPU解码正常工作。
  • 外网安全访问:通过路由器映射的新端口(如 38201)能经雷池访问到Jellyfin。

至此,一个架构清晰、性能均衡、安全可控的家庭全能服务器即搭建完成。此方案充分证明了,通过合理的设计,经典硬件依然能提供卓越的现代服务体验。

收藏
送赞 4
分享

7

主题

178

回帖

0

牛值

初出茅庐

fnOS1.0上线纪念勋章社区上线纪念勋章

2025-12-7 23:53:15 显示全部楼层
没用过truenas,目前Debian13的lxc挂所有docker,然后fnOS系统盘、存储盘分别给32G,其余雷池什么的单开lxc
alpine的系统空间占用更小,用来跑docker也不错。  详情 回复
2025-12-9 14:56
感谢您的分享,确实,雷池部署在PVE的LXC容器优于在飞牛的docker,宿主平台能够提供更好的系统资源、稳定性、安全性,更接近linux底层,有更好的隔离,也不会因为虚拟机停机或崩溃而失去防火墙功能,我已经调整了方  详情 回复
2025-12-8 04:52

4

主题

12

回帖

0

牛值

江湖小虾

2025-12-8 04:52:30 楼主 显示全部楼层
屯屯鼠 发表于 2025-12-7 23:53
没用过truenas,目前Debian13的lxc挂所有docker,然后fnOS系统盘、存储盘分别给32G,其余雷池什么的单开lxc ...

感谢您的分享,确实,雷池部署在PVE的LXC容器优于在飞牛的docker,宿主平台能够提供更好的系统资源、稳定性、安全性,更接近linux底层,有更好的隔离,也不会因为虚拟机停机或崩溃而失去防火墙功能,我已经调整了方案,感谢您的提醒

1

主题

3

回帖

0

牛值

江湖小虾

2025-12-8 08:52:30 显示全部楼层

楼主应该是一个网安从业者biggrin

自己的网站媒体要面对各种扫描,见过了就上心了,安全还是要考虑一下的  详情 回复
2025-12-8 21:21

1

主题

40

回帖

0

牛值

江湖小虾

2025-12-8 10:51:27 显示全部楼层

PVE直接运行docker不行?既然不用飞牛的nas功能了,那样就不必用飞牛虚拟机再开docker这种套娃加套娃的方式了

适合用macvlan占用80、443端口 或者sirov核显、GPU的,普通的docker很多  详情 回复
2025-12-8 15:42

7

主题

178

回帖

0

牛值

初出茅庐

fnOS1.0上线纪念勋章社区上线纪念勋章

2025-12-8 15:42:06 显示全部楼层
石塘人 发表于 2025-12-8 10:51
PVE直接运行docker不行?既然不用飞牛的nas功能了,那样就不必用飞牛虚拟机再开docker这种套娃加套娃的方式 ...

适合用macvlan占用80、443端口 或者sirov核显、GPU的,普通的docker很多
已启动81!!!!!!牛  详情 回复
2025-12-8 21:23

27

主题

46

回帖

0

牛值

初出茅庐

2025-12-8 17:40:23 显示全部楼层

飞牛相册啥的对远程存储支持不太友好 。

是的,飞牛相册对NFS挂载的不支持,所以目前飞牛只能用来玩玩  详情 回复
2025-12-8 21:19

4

主题

12

回帖

0

牛值

江湖小虾

2025-12-8 21:19:15 楼主 显示全部楼层
暖阳 发表于 2025-12-8 17:40
飞牛相册啥的对远程存储支持不太友好 。

是的,飞牛相册对NFS挂载的不支持,所以目前飞牛只能用来玩玩

4

主题

12

回帖

0

牛值

江湖小虾

2025-12-8 21:21:49 楼主 显示全部楼层
King_CFX59 发表于 2025-12-8 08:52
楼主应该是一个网安从业者

自己的网站每天要面对各种扫描,见过了就上心了,安全还是要考虑一下的
我面过,我连抓包都不会,哭死  详情 回复
2025-12-9 09:25

4

主题

12

回帖

0

牛值

江湖小虾

2025-12-8 21:23:16 楼主 显示全部楼层
屯屯鼠 发表于 2025-12-8 15:42
适合用macvlan占用80、443端口 或者sirov核显、GPU的,普通的docker很多

已启动81!!!!!!牛

7

主题

178

回帖

0

牛值

初出茅庐

fnOS1.0上线纪念勋章社区上线纪念勋章

2025-12-9 09:25:40 显示全部楼层
朱帅潮 发表于 2025-12-8 21:21
自己的网站每天要面对各种扫描,见过了就上心了,安全还是要考虑一下的 ...

我面过,我连抓包都不会,哭死

11

主题

26

回帖

0

牛值

初出茅庐

2025-12-9 14:56:16 显示全部楼层
屯屯鼠 发表于 2025-12-7 23:53
没用过truenas,目前Debian13的lxc挂所有docker,然后fnOS系统盘、存储盘分别给32G,其余雷池什么的单开lxc ...

alpine的系统空间占用更小,用来跑docker也不错。
今天刚学会,lxc需要设置不是特权容器,还有加上cgroups什么的三行隔离代码。以前一直没成功。 不过就算是这样,里面缺命令。比如用1panel看容器日志的时候,啥也没有,不知道少了啥命令。 现在准备拿他当 dpanel  详情 回复
2025-12-9 20:16

1

主题

28

回帖

0

牛值

江湖小虾

2025-12-9 19:51:58 显示全部楼层

清晰

7

主题

178

回帖

0

牛值

初出茅庐

fnOS1.0上线纪念勋章社区上线纪念勋章

2025-12-9 20:16:50 显示全部楼层
relia1 发表于 2025-12-9 14:56
alpine的系统空间占用更小,用来跑docker也不错。



今天刚学会,lxc需要设置不是特权容器,还有加上cgroups什么的三行隔离代码。以前一直没成功。
不过就算是这样,里面缺命令。比如用1panel看容器日志的时候,啥也没有,不知道少了啥命令。
现在准备拿他当 dpanel的swarm的node节点用
我就是用来跑dpanel  详情 回复
2025-12-10 00:41

11

主题

26

回帖

0

牛值

初出茅庐

2025-12-10 00:41:17 显示全部楼层
屯屯鼠 发表于 2025-12-9 20:16
今天刚学会,lxc需要设置不是特权容器,还有加上cgroups什么的三行隔离代码。以前一直没成功。
不过就 ...

我就是用来跑dpanel
你也是pve吗  详情 回复
2025-12-10 04:18

7

主题

178

回帖

0

牛值

初出茅庐

fnOS1.0上线纪念勋章社区上线纪念勋章

2025-12-10 04:18:07 显示全部楼层
relia1 发表于 2025-12-10 00:41
我就是用来跑dpanel

你也是pve吗,把全部docker都放在了Alpine里面了?我有点心动,刚迁移到Debian13,Alpine里面刚放了 PandaWiki和雷池 这种脚本安装的
用unraid的都是手搓大佬,太能折腾了  详情 回复
2025-12-11 22:03
我是unraid,除了下载类的docker(openlist、metube)放飞牛之外,其他服务类的都放alpine,主要是之前飞牛老出问题重装,为了迁移方便。  详情 回复
2025-12-10 10:05

11

主题

26

回帖

0

牛值

初出茅庐

2025-12-10 10:05:13 显示全部楼层
屯屯鼠 发表于 2025-12-10 04:18
你也是pve吗,把全部docker都放在了Alpine里面了?我有点心动,刚迁移到Debian13,Alpine里面刚放了 Panda ...

我是unraid,除了下载类的docker(openlist、metube)放飞牛之外,其他服务类的都放alpine,主要是之前飞牛老出问题重装,为了迁移方便。
**,我不大好迁移,平时用1panel快照,迁过去不到会少什么命令,就抓瞎了。 不过我可以先把 /mnt/pve/Configs下面零散的compose先迁移过去。 好麻烦,我已经设计好了使用200G分区的nvme挂载到 lxc 的/var/lib/docker  详情 回复
2025-12-11 22:00

7

主题

178

回帖

0

牛值

初出茅庐

fnOS1.0上线纪念勋章社区上线纪念勋章

2025-12-11 22:00:21 显示全部楼层
relia1 发表于 2025-12-10 10:05
我是unraid,除了下载类的docker(openlist、metube)放飞牛之外,其他服务类的都放alpine,主要是之前飞 ...

**,我不大好迁移,平时用1panel快照,迁过去不到会少什么命令,就抓瞎了。
不过我可以先把 /mnt/pve/Configs下面零散的compose先迁移过去。
好麻烦,我已经设计好了使用200G分区的nvme挂载到 lxc 的/var/lib/docker ,可以先建个本地 registry,转移就不用 拉远程镜像了,也许我要不破不立 重新设计一套了,我刚迁移完Debian13。
我想到了。等我pve备份一下lxc,反正里面compose连带 1panel的配置才10G,把快照恢复到 Alpine里面剩多少docker能用,应该都能启动?再把/var/lib/docker 挂回来

7

主题

178

回帖

0

牛值

初出茅庐

fnOS1.0上线纪念勋章社区上线纪念勋章

2025-12-11 22:03:36 显示全部楼层
屯屯鼠 发表于 2025-12-10 04:18
你也是pve吗,把全部docker都放在了Alpine里面了?我有点心动,刚迁移到Debian13,Alpine里面刚放了 Panda ...

用unraid的都是手搓大佬,太能折腾了

0

主题

123

回帖

0

牛值

初出茅庐

2025-12-12 10:49:36 显示全部楼层

大佬,这里还有个问题,UPS怎么办

PVE支持UPS很友好,不过就说通知虚拟机关机要用脚本  详情 回复
5 天前

0

主题

2

回帖

0

牛值

江湖小虾

2025-12-12 12:45:54 显示全部楼层

这可是正儿八经的all in boom。

1

主题

29

回帖

0

牛值

fnOS系统内测组

2025-12-12 14:19:07 显示全部楼层

all in one

5

主题

15

回帖

0

牛值

江湖小虾

2025-12-12 14:56:04 显示全部楼层

虚拟网卡用来传文件功耗还是太高了

4

主题

12

回帖

0

牛值

江湖小虾

5 天前 楼主 显示全部楼层
toddler 发表于 2025-12-12 10:49
大佬,这里还有个问题,UPS怎么办

PVE支持UPS很友好,不过就说通知虚拟机关机要用脚本
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则