3832 字
19 分钟
所以我放弃了 All in One ~ PVE 半日体验卡
NOTE

叠甲:霞葉并不反对 All in One,只是觉得不应盲目 All in One,强行 All in One。

方向错误?#

霞葉曾设想过这台 DXP4800 的使用方式,想最大化利用它的硬件资源,但最后还是放弃了 All in One。

我打算装个 PVE 作底层,然后创建一个虚拟机作存储系统,存储系统只负责和存储相关的基本服务,其他虚拟机后续按需创建。

整机两个 m.2 盘位,四个机械盘位,大致的用途为:

  • 一个 m.2 作为 pve 系统盘
  • 一个 m.2 用作机械硬盘加速 (直通给存储系统) 或与另一个 m.2 镜像备份
  • 一个机械硬盘存储重要资料 (直通给存储系统)
  • 一个机械硬盘备份重要资料 (直通给存储系统)
  • 一个机械硬盘用来跑容量需求大的服务 (直通给存储系统)
  • 一个矿盘用来随便造(玩 PT 之类的损耗硬盘行为)(不确定是否直通)

我计划的大致模式是,存储系统只负责和存储相关的基本服务,其他的服务新建虚拟机或 LXC 容器提供。职责划分明确一些,避免影响存储系统的稳定性,也方便后续拓展为存算分离模式。

还没确定好存储系统的选择,黑群晖、UNRAID、OMV、TrueNAS、飞牛 OS、黑威联通、Debian 等可选项有些多,但我对存储系统有以下要求(优先级依次降低):

  • 稳定。NAS 的核心功能是存储,存储系统一定要稳定
  • 数据安全。存储系统应该保证数据的安全可靠,不应出现丢失数据的情况。
  • 硬盘休眠。存储系统应该支持硬盘休眠以节约寿命和省电,应支持自动休眠和单块硬盘粒度的休眠/唤醒。
  • 低占用。作为一个只要 NAS 开机就在运行的系统,我希望它的资源(CPU、内存等资源)占用尽可能的低,避免影响其他服务;在不需要运行其他服务的时候,只运行存储系统可以低功耗。
  • 网络协议。存储系统应支持 NFS、Samba 等网络存储协议。
  • 加密备份。存储系统应支持自动地增量的将资料加密后备份到云端,云端服务提供商的支持当然是多多益善。(第一方支持最好,第三方应用支持也行)
  • SSD 加速。希望存储系统能支持用 SSD 给机械硬盘缓存加速。
  • 文件加密。支持对文件夹级别的加密,而不是整个盘加密,如群晖的 如何对 Synology NAS 上的共享文件夹进行加密或解密?
  • 文件系统。支持 Btrfs、ZFS 等高级文件系统。

当时的我认为这个设想很好,但过了一段时间后,我发现了这个方案的矛盾和复杂性。首先从我的设想中提到的内容说起,单个 m.2 作为 PVE 的系统盘,如果这个固态崩了,PVE 恢复起来很麻烦,PVE 里的虚拟机恢复起来更麻烦,不是一时半会能解决的。即便有 PBS 方案可以自动备份 PVE,但是 PBS 需要单独的一台 x86 物理设备,并且恢复起来也不算省事。

其次便是机械硬盘的问题,在 PVE 下机械硬盘休眠比较麻烦,因为 PVE 会监控硬盘状态。我没有测试过,不知道将单个机械硬盘直通给虚拟机之后,能否让虚拟机控制硬盘的休眠。感觉直接将 SATA 控制器直通给虚拟机,应该可以实现硬盘休眠,但直通 SATA 控制器之后,四个机械硬盘都由虚拟机控制了。

然后是我追求的稳定性,PVE 增加了复杂性,多了一层就会多一个潜在的故障点,这与稳定性是天然矛盾的。网友 johnason 评论到“用 pve 做底层是和稳定需求相悖的。最稳定的是存算分离,就算做不到也要优先保证“存”,后面才是“算””。此外,在同一台物理机上,虚拟机之间,或者虚拟机与 LXC 容器之间共享存储需要通过 NFS 之类的方式,同样是增加了复杂度。

网友 libook 评论到,他曾认真的考虑过是否需要 PVE:

我曾经十分认真考虑过要不要用 PVE。

用 PVE 就需要规划各个虚拟机的硬件资源分配,但这种分配往往不是很灵活的,比如虚拟磁盘的大小,当用了一段时间之后可能因为需求变化而需要重新调整,这往往很复杂。

虚拟机使用一些硬件需要处理独占、直通、虚拟化,有时候需要选择特定驱动版本,甚至是在虚拟化上进行欺骗。

多一个层级往往就会多一个潜在的故障点,除非是硬性需求。

我的几乎所有需求不需要将数据以(虚拟)磁盘级别进行隔离,目录隔离就够;服务也可以容器化隔离;需要共用绝大部分硬件,包括 GPU 和 USB。偶尔需要跑不同内核的系统(如 Windows),所以也需要跑虚拟机,但绝大部分基于 Linux 的发行版都支持 KVM,跑虚拟机是完全没问题的。

综上,我选择不使用 PVE,而是直接在硬件上跑一个 NAS 系统。

NAS 系统我用过 Windows、OMV(Debian)、unRAID,除了 Windows 以外每个系统都有各自的独特的产品定位,需要结合自己的需求场景来选择:

  • 黑群晖/黑威联通:适合硬件兼容群晖、仅一般存储需求、希望使用群晖的软件套件的用户。
  • OMV:实际上就是 Debian 加了套 Web UI,由于并不是所有操作都做了 Web UI,所以有时候还是需要命令行操作,适合熟练掌握 Linux 的用户。
  • TrueNAS:适合对 IO 性能的需求高于功耗、扩展性的用户,如媒体工作室。
  • unRAID:适合对功耗、扩展性的需求高于 IO 性能的用户,如冷数据存储和数据归档。
  • 飞牛:适合家庭媒体中心,如看电影和相册。

另外,不建议在 NAS 或 Homelab 上跑软路由等网络功能,因为网络设备的可靠性需求往往是远高于服务器的,在折腾服务器的时候网络同时不可用是个极其糟糕的体验,强烈建议使用独立的设备来跑网络功能。

最后,不管用什么系统,都要对数据进行备份,RAID 不算备份。

我认为他说的非常好,仔细想了想,我确实不需要虚拟磁盘级别的隔离,Docker 容器即可满足我的绝大部分需求。我之前打算装 PVE 只是为了折腾 PVE、搞虚假的”存算分离“、偶尔开一些 Linux 虚拟机玩、偶尔开 Win 虚拟机玩 galgame。即便不用 PVE,绝大部分的 NAS 系统能满足这些需求。然而我当时沉浸于自己天真的想法中,以上的困难都可以通过折腾解决,或者忍一忍也就过去了,但很多实际问题都是我实际安装了 PVE 之后才发现的。

PVE 体验卡#

我的 NAS 是绿联的 DXP4800,官方系统是 UGOS Pro,安装在一块内置的 eMMC 上。这台 NAS 有 HDMI 口,BIOS 也没有锁,可以很方便地安装第三方系统。为了避免破坏原系统,我将 PVE 安装在了一块 m.2 固态上,不过保险起见还是先备份一下原系统。大致的操作如下,文末参考资料中详细教程,在此仅做记录。

SSH 登录到绿联 NAS,在 root 用户下执行以下命令,即可完整的备份 eMMC。请不要将你备份的文件发给其他人,其中可能包含了你的机器 SN 或个人信息。

Terminal window
dd if=/dev/mmcblk0 of=/volume1/docker/ugos.img status=progress

之后便是修改 BIOS 设定,绿联 BIOS 常见的快捷键为:

  • Ctrl+F2:进入 BIOS 设置
  • Ctrl+F12:启动项选择
  • Ctrl+F1:进入 BIOS 设置后,开启显示隐藏的参数

绿联虽然没有锁 BIOS,但是有硬件看门狗,每过三分钟检测一次是否为官方系统,如果不是就会重启。如果你无法在三分钟内完成 BIOS 设定,建议先将看门狗关闭,保存后重新进入 BIOS 设定。Advanced 菜单中关闭 WatchDog、Chipset 菜单中禁用内置 eMMC,可以避免损坏原系统、在 Boot 菜单栏中,将对应盘位的 M2 Boot Option 改为 Enabled 即可。其实 BIOS 里可以设定的内容还挺多的,CPU 功耗墙、风扇转速设定之类的。

绿联 BIOS 界面
绿联 BIOS 界面

之后插上引导 U 盘开机,从 U 盘启动即可。PVE 安装过程很简单,有过 Linux 桌面安装经验的话,很轻松就可以安装上,注意不要选错硬盘和网口即可。PVE 有一个管理网口的概念,管理网口是专门用来管理 PVE 的,例如 PVE Web 界面、SSH 连接之类的,都是通过管理网口。如果你使用多个网口,可以物理隔离管理流量和虚拟机流量,但注意不要搞错网口。在下图中,连通的网口前会有一个绿色的圆点标记。说个题外话,即使你只是用一个网口,也可以通过虚拟网桥让 PVE 和虚拟机共用一个网口。

PVE 安装 - 管理网口设定
PVE 安装 - 管理网口设定

我之前曾想过,如果完全抛弃官方的 UGOS 系统,就无法享受到官方内网传统之类的服务。相当于这台 NAS 只是买了硬件回来,那肯定是血亏的。但后来我在 B 站看到了一个”黑绿联”的教程,可以把 UGOS 系统安装到虚拟机,并且正常使用内网穿透。于是我可以将此 UGOS 虚拟机专门用于照片、音乐、视频之类需要方便的远程访问的服务,而存储则由 UNRAID 或黑裙虚拟机负责。

UGOS Pro in PVE
UGOS Pro in PVE

设想是美好的 (吗),现实却很残酷。我虽然成功的安装上了 PVE 和黑绿联,但使用起来却有各种各样的问题。首先 DXP4800 前面的四个灯是由系统接管的,安装其他系统会导致一直跑马灯。虽然有大佬制作了 LED 灯的驱动,第三方系统也可以控制 LED 了,但第三方的兼容性肯定是没有第一方好的,而且驱动也只有灯控功能,想要实现原版系统的功能或其他功能,需要自己实现。

更严重的问题是,黑绿联系统中,无论是通过什么方式创建虚拟磁盘,都会被识别为 USB 外置存储。我将 PVE 中各种磁盘排列组合都尝试了一遍,最后发现只有硬件直通可以正常使用。UGOS 中不添加存储空间,就无法安装相册等应用,要添加存储空间,就得硬件直通给虚拟机,但这与我设想的让 UNRAID 或黑裙虚拟机管理存储的方案矛盾(直通 SATA 控制器会把四个机械盘位都直通了)。

此时我已经打算放弃 PVE 了,刚安装好的 PVE 系统就占用了大概 1.5G 的内存,虽说内存不是用来看的,而且我内存也有 16G,但这宿主系统也不能说轻量。官方的 UGOS 系统可以管理 LED,可以设置 CPU 性能模式,可以调整风扇转速,可以在系统中设置定时开关机、来电自启和 WOL 等,在 PVE 中这些都得去 BIOS 中设置。UGOS 自带内网穿透,而 PVE 中现如今无法正常使用黑绿联系统,各种各样的问题叠加起来,让我放弃了 PVE。

PVE Web
PVE Web

一想到之后可能不会再装回 PVE,想着趁此机会折腾一下。便又在 PVE 中安装了黑群晖和 Windows,彻底打消了我使用 PVE 的想法。CPU 核心数太少,分配是个问题,如果想要共享显卡,还得弄 vGPU。在 Windows 中,开个浏览器都卡半天,CPU 还轻易到了 97% 的占用。即使啥也没干,内存也没闲下来,三个系统待机内存占用 12G 左右。N100 这个 4C4T,TDP 6W 的低功耗 CPU 还是老老实实单系统跑 NAS 吧,实在有虚拟机需求,UGOS 里也可以开。

后话#

放弃 PVE 后,我便一直在用 UGOS,用起来很省心很舒服。之前的 DXP4800 初体验的文章中提到过,后续会从我的视角更新绿联 UGOS Pro 系统的体验。我是在宿舍里使用的,低功耗低噪声,不需要的时候根本感觉不到它存在,我觉得这是装了 PVE 后无法带来的体验。这一折腾也打消了我 All in One 的想法,低功耗 CPU 还是老老实实单系统吧。很多网络上分享出来的低功耗 AIO,但实际上随便跑点东西就高负载了,跟低功耗本身就是矛盾了,性能还上不去,真想 AIO 就上高性能平台。

很多人说搞 AIO 应该把网络隔离开来,网络的稳定性要求更高。在我看来存储亦是如此,我不希望我在外边需要某个文件的时候,遇到一堆问题。一个好的网络设备,应该是你设置好之后,就感觉不到它的存在。一个好的 NAS,也应该是低功耗低噪音的,在你不需要手动处理的时候感觉不到它的存在。

J1900 笑话
J1900 笑话

所以我放弃了 All in One,路由器回归路由器、NAS 回归 NAS、服务器回归服务器。设备各司其职,每一部分都可以根据需求单独地开关机、迁移、升级、降级或是扩展,带来的是稳定性和更高的灵活性。NAS 我已经有 DXP4800 了,软路由我新购入了一台友善 R3S,之后会更新博客记录一下。而服务器方面,最近搞到了一台 NUC,搭载 J3455 处理器。虽然性能比 N100 弱得多,但可以用来随便折腾,即便数据丢失,或者它哪天挂掉了也不会有问题。

参考资料#

所以我放弃了 All in One ~ PVE 半日体验卡
https://kasuha.com/posts/so-i-gave-up-on-all-in-one/
作者
霞葉
发布于
2025-10-11
许可协议
CC BY-NC-SA 4.0
评论加载中...