外观
NAS 系统
把 NAS 系统跑成虚拟机,是 PVE 最常见的用法之一,也是风险最高的用法之一。
这个方案有一类特有的风险
NAS 虚拟机管理着你最重要的数据,而它现在依赖于下面的 PVE。这意味着:
- PVE 出问题 → NAS 停 → 所有依赖它的服务停。
- 直通配置错误 → 数据盘可能被抹掉。
- 给 NAS 虚拟机做快照/迁移的能力会因直通而丧失。
开始之前,确认数据在这台机器之外还有一份。
本分类文章
- OpenMediaVault:在 PVE 上跑一台轻量 NAS:不依赖直通的方案,2 GB 内存起步。
- TrueNAS SCALE 虚拟机:ZFS 原生实现,官方立场是数据要长期保存就必须直通整张 HBA。
- unRAID 虚拟机:买断制授权与物理 USB 盘绑定,官方本身并不建议虚拟化它。
先决定存储方案
这是所有 NAS 虚拟机的第一个决定,它决定了你能不能快照、能不能迁移、vzdump 备不备得到数据。
| 方案 | NAS 看到的磁盘 | 冗余由谁负责 | 能快照/迁移 | 数据在 vzdump 里 |
|---|---|---|---|---|
| 虚拟磁盘 | PVE 存储上的虚拟盘 | 宿主机 | 能 | 在 |
| 直通物理盘 / HBA | 真实磁盘 | NAS 系统 | 不能 | 不在 |
直通盘的数据不在 PVE 备份里
vzdump 只备份 PVE 存储上的虚拟磁盘。直通进去的物理盘 PVE 完全看不到。
用直通方案时,数据备份必须由 NAS 系统自己负责。不要以为「PVE 备份了这台虚拟机」就等于数据安全了。
直通是不是必须的,取决于系统
这一点常被一概而论,实际要分开看:
| 系统 | 直通 | 原因 |
|---|---|---|
| TrueNAS(ZFS) | 实质上是必须的 | ZFS 需要直接访问磁盘和真实的 SMART 数据 |
| unRAID | 需要 | 其阵列机制依赖直接管理物理盘 |
| OpenMediaVault | 不需要 | 默认用 ext4,在虚拟磁盘上跑得很好 |
这是 OMV 在 PVE 上的最大优势
不用直通,就意味着保留了快照、迁移和完整备份的能力,也不挑硬件(不需要 IOMMU 和独立 HBA 卡)。
如果你只是要 SMB/NFS 共享,OpenMediaVault 比 TrueNAS 省心得多。
TrueNAS 和 unRAID 这类系统如果确实要用,官方推荐的做法是直通整张 HBA 卡,而不是映射单块磁盘。用 qm set -scsiN /dev/disk/by-id/... 映射单盘虽然能跑,但客户机拿不到完整 SMART,ZFS 的错误处理也会打折。直通的前提条件和 NAS 场景的具体做法见硬盘与 HBA 直通,直通的通用代价见硬件直通。
资源起点
| 系统 | vCPU | 内存 | 启动/系统盘 |
|---|---|---|---|
| OpenMediaVault | 1–2 | 2 GB 起 | 16–32 GB 虚拟磁盘 |
| TrueNAS(ZFS) | 2–4 | 8 GB 起,固定分配(不开气球) | 16–32 GB 虚拟磁盘 |
| unRAID | 1–2 | 2 GB 起 | 直通的物理 USB 盘(授权绑定) |
ZFS 系统不要开气球驱动
跑 ZFS 的 NAS 虚拟机内存必须固定分配。ZFS 的 ARC 缓存和宿主机的内存回收配合不好,会导致难以排查的性能问题。
一个更简单的替代
只有一两块数据盘、只需要文件共享的话,在 PVE 上直接建 ZFS 池、用一个 LXC 容器跑 Samba,能省掉整台虚拟机。代价是没有 NAS 系统那套管理界面,用户和权限要自己在命令行配。
判断标准:你是否需要「界面」。需要就上 OMV,不需要就用容器。