这是一份做了五个月的作业,花费了不少时间、精力、金钱,写在这里做个记录。
硬件选型
我目前使用的设备是一台 16G+256G 的 M2 Mac Mini,托「库存克星」的福,逼仄的存储空间是日常使用的最大槽点,我拒绝继续向果子氪金,但又不想拿掉 Mac Mini 作为桌面电脑的定位,因此组一台能填补这两块短板的 AIO 就提上了日程,为了平衡性能、体积和可升级空间,我的方案瞄准在了小体积、全闪存和能塞得下一张显卡的小主机上。
经过一段时间的寻找,已经停产了的 NUC 9 幽灵峡谷成了唯一候选。5L 小体积却能塞的下 20 cm 长的双槽显卡,同时配备了3块 m2 硬盘位,外加1个 sata 接口共计4 块硬盘,背部2个雷电3接口,还有白金级的 500W Flex 电源,精准地契合我的需求。更重要的是截止到2024年中,在某多多上 i7 版本仅需1500大洋就能到手,因此果断下单。然而由于一些原因,我最终换成了 NUC 11。相较 NUC 9,NUC 11 Extreme 猛兽峡谷体积大了两圈,来到了 8.4 L, CPU 从9代笔记本标压 U 升级为 10nm 制程的 i7-11700B,相应的 PCIE 3 升级到了 PCIE 4,雷电3升级到雷电4。但精悍的 Flex 白金电源降级为 SFX 金牌电源,整体也少了很多精致感,换来的是更强的性能,只能说有失有得吧。
机子只是台准系统,我加装了金士顿 64GB DDR4 3200内存,配了一张华硕4060 Dual 显卡用来直通给 Win10 虚拟机。存储方面是氪金大头,作为一台全闪 AIO,用满了 NUC 11 的4块 m2 存储位:3块4T 联芸 MAP1602 + 长江存储232层 TLC 组建 RaidZ1 阵列,实现全闪、全万兆的性能。 外加1块1T 的 SN580 直通给 Windows。
软件方案
- 宿主机系统:用 Windows + HyperV 很方便,但 Win 下的 HyperV 不支持硬件直通,转而选择了比较熟悉的 PVE 作为宿主机系统。PVE 安装在 U 盘里,可以省下一个硬盘位。考虑到 U 盘读写性能,PVE 配置无 SWAP,local 仅存放 TrueNAS 引导,Windows 单独直通一块 SSD 使用,其他虚拟机采用 NFS 存储。
- 虚拟机 TrueNAS :RaidZ1 阵列可用容量8T,分配了16G 的内存。
- 虚拟机 Windows :使用 sunshine + moonlight 远程串流,不玩 FPS ,延迟近乎无感。参照这篇文章做了 anti-cheat 配置,同时开启了 Hyper-V 使用 WSL。(所以我的 Windows VM 是跑在第三层嵌套虚拟化上的?)
- UPS 配置:都用 AIO 了,UPS 不能省。虽然这样一来,整套设备却又离小体积更远了。参照 chiphell 的这篇文章配置了断电 60s 自动关闭所有虚拟机,180s 关闭宿主机。
性能测试
- 存储性能:fio 写性能 3.5 GB/s,读性能 4 GB/s 。dd 写性能 10.4 GB/s,读性能 16.3 GB/s。virtio 跑满 20 Gb/s,SMB 3 网络硬盘速度读写大概 3 GB/s。
- 雷电网桥性能:TrueNAS 和 Mac Mini 开启 9000 MTU,iperf 3 测试速度 9.29 Gb/s。
- Windows 虚拟机性能:由于 WSL 需求,开启了 Hyper-V。在性能方面有一些损失,跑了 GeekBench,单核 2000,多核 9000,相较裸机直装损失在10% 左右。
踩坑
已解决
- NUC 11 接 UPS 后执行关机命令后自动重启。 这是由于 BIOS 中配置了 USB 自动唤醒,可以找到 Intel 官方解决方案。
未解决
- RaidZ1 阵列速度问题:fio 本地测试阵列速度,写速度 3.5 GB/s,读速度 4 GB/s,基本只有单盘 PCIE 3 nvme 的速度,远不及 PCIE 4 nvme 速度。目前猜测瓶颈在 CPU 做 RaidZ1 奇偶校验速度,或者是其中一块 nvme 连在总线的 PCIE 3 通道而非和另外两块一样直连 CPU 的 PCIE 4通道。所以 RaidZ1 的阵列理论速度到底怎么算?
- 雷电传输速度问题:直通给 TrueNAS 的雷电4连接 Mac Mini 跑硬盘测试,速度甚至到不了万兆,猜测是雷电网桥的瓶颈,可能是线材的问题或是系统兼容问题。
- NUC 11 计算板有一个 Type-E 接口,买了一个 Type-E 转 USB 的转接器,U 盘用转接器插在这个接口上,结果 BIOS 启动项里根本找不到这个 U 盘。
F&Q
- 为什么从 NUC 9 换成 NUC 11 ? TrueNAS 直通3块 4T nvme。不知道是硬件问题还是 BIOS 问题,NUC 9 其中一个硬盘位就是没办法直通给虚拟机,在 chiphell 发帖问了下,也没解决方案。另外机器到手后发现,NUC 9 计算板上的两条 m2 ,雷电3共享 PCIE 3 x4 的 DMI 总线。最后联系了华硕售后(Intel Nuc 业务已经整体卖给了华硕),客服回电告知没有备件,换了 NUC 11 良品,来回免运费,售后很好。
- 为什么不做存算分离?空间限制。我玩游戏不多,单独配一台游戏 PC 没有必要,但不能没有。因此把 4060放在 AIO 里,4060待机功耗也不高。
- 为什么选择 RaidZ1?mirror 太浪费,Raid0 属实亡命之徒,而且我还有一台装了 2T sata 的 J4125 小主机,用 Free File Sync 监控 TrueNAS 重要数据文件夹作为备份,兼顾了空间和数据安全。
- 功耗如何?没有测量过。但 510W 的 UPS 在 AIO 待机状态下显示负载为 10%。游戏满载时负载 35%,NUC 11的 CPU TDP 满载 65W,4060 满载 105W,因此估算待机功耗应该在 60W 左右。
最后
折腾五个月,还有很多小问题,但总算是能用了,其他的后续慢慢学习优化吧。折腾的时候是真痛苦,折腾完了又觉索然无味,越发感觉对这台机子定位有问题,或许回归桌面 itx 才是正道。这台机子还有很大的改进空间,后续也可以加装 40G 网卡真正发挥全闪 NAS 的实力。但就目前而言,这台机子最大的缺点在于每次看到它,就让我怀念起那台漂亮的、精致小巧的,但被华硕「友好」回收了的幽灵峡谷。看着越来越大的「NUC」,幽灵峡谷真成绝版了,Sad~~~