外观
一台机器做 NAS、软路由和实验环境
预算和空间只够一台机器时,很多家庭实验室(home lab)玩家会把网络出口、存储和折腾用的虚拟机全部塞进一台 Proxmox VE 主机。这篇不重复讲怎么建虚拟机或配网络,而是说清楚这几件事凑在一起该按什么顺序做,以及为什么这套方案的可靠性天生比拆成几台机器低。
方案总览
| 角色 | 常见承载方式 | 是否需要直通 |
|---|---|---|
| 软路由 / 防火墙 | OpenWrt 或 OPNsense 虚拟机,占一张物理网卡做 WAN | 网卡直通,或用 VLAN 子接口共享网卡 |
| NAS | TrueNAS SCALE / OMV 虚拟机 + HBA 直通;或直接用宿主机 ZFS + LXC 做文件共享 | HBA/磁盘直通(虚拟机方案)或不需要(LXC 方案) |
| 实验环境 | 其余虚拟机与 LXC 容器,用宿主机剩余算力 | 一般不需要 |
两种 NAS 做法的取舍:虚拟机方案(TrueNAS/OMV)隔离好、能整体快照,但要直通整块 HBA,PCIe 插槽和 IOMMU 分组必须干净分离;LXC/宿主机原生 ZFS 方案更省资源,但 NAS 服务和宿主机深度耦合,宿主机出问题直接影响存储服务。
需要用到的章节
规划与直通
- IOMMU 分组、开启 IOMMU
- 硬盘与 HBA 直通
- 资源映射(多网卡/多硬盘环境下避免直通对象因插拔顺序漂移)
网络
存储
客户机
收尾
实施顺序
- 规划阶段:先确认主板的 IOMMU 分组是否干净——软路由要用的网卡、NAS 要用的 HBA 必须能单独分给各自的虚拟机,不能和其他设备绑在一个组里。这一步做不到位,后面全部推倒重来。
- 安装并完成初始化:按安装与初始化走完,开启 IOMMU。
- 网络先行:软路由虚拟机是全家唯一的上网出口,优先建好并验证联网,再动其他配置。建之前先规划好管理网络怎么走,见下文风险评估。
- 存储:决定 HBA 直通给 NAS 虚拟机,还是走宿主机 ZFS。两种都定下来之后再建虚拟机,中途换存储方案的数据迁移成本很高。
- NAS 虚拟机/容器:建好后先搬测试数据,确认读写和权限正常,再搬正式数据。
- 实验环境:前两步稳定之后再叠加其他虚拟机和容器,避免它们抢占给软路由和 NAS 预留的资源。
- 备份收尾:为 NAS 数据、软路由配置和宿主机
/etc/pve分别建立备份任务,见风险评估里的「同一故障域」。
风险评估
单点故障
软路由虚拟机是全屋唯一的网络出口:宿主机重启、内核更新触发的重启、或者软路由虚拟机本身故障,都会让整个家庭网络断线,包括你用来远程管理 Proxmox VE 本身的连接。
网络出口和管理网络最好分开规划
把物理网卡直通给软路由虚拟机后,宿主机自己管理 Web UI 要用的网络必须走另一张网卡或独立 VLAN,不能依赖软路由虚拟机转发。影响范围:如果管理网络也经过软路由虚拟机,一旦它没启动或配置出错,你会同时失去上网和登录 Web UI 排障的能力。前置条件:至少两张物理网卡,或者一张支持 VLAN 子接口的网卡加上交换机配合。回退:保留一条不经过软路由虚拟机的应急通路(例如直连宿主机管理口的笔记本),并参考防火墙把自己锁在门外了怎么办与改网络后失联。
给软路由虚拟机设置「随宿主机启动」且启动顺序靠前,能缩短断电重启后的恢复时间,但不能消除这个单点故障,只能缩短它的持续时间。
同一故障域
NAS 数据、虚拟化平台配置和所有实验虚拟机都跑在同一块硬件上:一块主板、一个电源或一块系统盘出问题,会同时打断网络、存储服务和全部实验环境。ZFS 镜像等冗余只防硬盘故障,防不了整机断电、主板损坏、误操作删除或勒索软件,这些情况下冗余和数据一起没了。
这套方案没有为数据安全提供额外保护,必须单独安排离开这台机器的备份,见家庭实验室的最小可用备份方案。
验收清单
- [ ] 断电重启一次,软路由、NAS、实验虚拟机按预期顺序自动启动
- [ ] 拔掉笔记本网线,仅通过软路由虚拟机也能正常上网
- [ ] NAS 数据可正常读写,
zpool status或磁盘健康检查无异常 - [ ] 有一条不依赖软路由虚拟机的宿主机管理通路,并验证过可用
- [ ]
/etc/pve和虚拟机配置有独立备份,不和虚拟机数据放在同一个池 - [ ] NAS 上的重要数据在异地或至少离机的存储上有一份备份,做过一次恢复演练
常见问题
软路由虚拟机没起来,整个家都上不了网怎么办。 先确认能不能通过宿主机本地 Console 登录(不依赖网络),检查虚拟机状态和启动日志;如果连 Web UI 都上不去,参考Web UI 打不开。
HBA 直通后,NAS 虚拟机看不到硬盘。 多是 IOMMU 分组没有干净分离,或者直通对象因为插拔顺序漂移,见直通常见问题和资源映射。
是虚拟机跑 NAS 还是宿主机原生 ZFS 更好。 没有标准答案:前者隔离好、能整体快照迁移,代价是多一层虚拟化开销和直通复杂度;后者更省资源,代价是 NAS 服务和宿主机故障域完全合一。按你对隔离性和维护简单度的取舍决定。