最近用一千五左右的成本,入手了一台便宜的准系统,计划使用它来作为家里第一台全闪存的高速 NAS,来改善在玩模型过程中让人头疼的模型文件传输的效率问题。

写在前面

这段时间折腾 AI 模型相关的事情比较多,经常需要下载一堆不同参数量的模型进行比较,每个模型动辄五十到两百 GB 的身材,让本地存储捉襟见肘。

即使带显卡的设备本地有 2TB 存储,在从去年折腾到现在,可用容量也非常的“捉急”,尤其是有一些模型的对比需要长期进行,或者一些模型需要同时对比不同的量化版本。

可能你会说,把这些模型扔 NAS 里不就好了吗?

是的,存算分离思路可以极大的降低存储成本,将相对冷一些的存储扔 NAS 是一个正确的选择。

可是,为了数据安全,我的 NAS 数据盘是 HDD,传输速度极限 180~200MB/s,这还是建立在台式机有 2.5G 网口,NAS 支持双千兆聚合的情况下,想要转移一个 100GB 的模型到 NAS 里,最快也要五分半钟。

我目前的使用场景是 MacOS 作为编程环境,台式机和前一篇文章中提到的 ThinkPad 作为标准的运行环境,搭配各种不同的设备来分摊存储成本,家里的网络则是从 16 年分享《soulteary/Home-Network-Note》开始就是全千兆的省钱方案,入户网络为用了三年左右的 1G 北京联通家宽。

什么是更高性价比的方案呢?

如何用最少的成本,来获得最大的性能提升呢?

为了最大化获取网络性能,最少的折腾现有设备,降低成本投入,结合我只需要部分设备之间存在更高规格的带宽,我选择了相对不常见的方案:雷电组网(thunderbolt)。

没有选择光纤和万兆电口的理由

更高性能的“电口组网”

如果我想提升这个场景的设备间传输速度到 2.5G 或者万兆规格以上,按照常规的方案,我需要:

  1. 考虑升级全部现有超六类网线(2.5G规格)到七类网线(万兆规格)。
  2. 对应的交换机、设备 PCIe网卡、USB 网卡需要换一圈,有些设备则需要更新换代,才能够享受更高速的网络。
  3. 数据存储,如使用已有 NAS,则 NAS 也需要升级,2.5G 或万兆接口设备,或至少添加 2.5G USB 网卡使用。
  4. 相关存储使用的磁盘也必须升级为固态硬盘。

这里,如果我不对已存放数据磁盘进行部分或全部的升级,那么网络设备的更新是徒劳的。

如果我对已有设备的存储介质进行升级,在考虑经济成本的前提下,且不说这个方案存在因为大量使用现阶段的固态硬盘,原本存储在机械硬盘上较长期的数据在迁移固态后,存在一些数据可靠性的风险外,一般 NAS 设备仅支持 SATA 协议磁盘,也发挥不出固态硬盘的性能:PCIe 固态硬盘 NAS 的价格目前并不“美丽”,而我并不喜欢使用 Raid 1 之外的方案做备份之外的,额外的数据保障。

并且,潜在的不同介质的磁盘间的数据迁移,也是一份有潜在工作量的事情。想要完成这个方案的改造,整体的时间和经济成本非常高,甚至远比不考虑多设备数据交换,直接在台式机上补 1~4 条 4T 固态硬盘的成本还要高。

更高性能的“光纤组网”

如果我选择升级改造现有环境到光纤组网方案,和上面的万兆电网环境遇到的问题类似,而且会更多。

除了涉及到磁盘升级,涉及到购置额外的光纤交换机,也要购置额外的光模块,并且还要进行更麻烦的线材保护处理:我家里有两头活泼的猫子,之前已经解决掉了我一根带屏蔽的很粗的超六类线,让我被迫把机柜外拉出的一根线换成了更加粗壮、猫子不好下嘴的七类线。

除此之外,因为我的使用场景中包含了 MacBook,我还需要考虑是否要购置一个一千多的雷电转光纤网卡,好让 Mac 设备也能够享受到这个高速的光纤网络。目前最高只能够使用到万兆的光纤网络,至于 40G、100G 的光纤组网体验,暂时想都不用想。实际上我并不只有一台 Mac 设备,这里如果都要升级,这个完全不必要的成本真挺高的。

简单总结,不论是上面哪一种方案,成本都非常高,得到的性能提升、工作量、整体设备的体验却并没有那么理想,倘若不追求顶配体验的话:

  • 使用电口网线方案,性价比比较高的方案,能够使用的网络速度是 2.5G(暂时没有 5G/万兆 USB 网卡,能够让 Mac 体验);
  • 使用光口方案,配件买齐了,极限也就是万兆水平。

在实际使用过程中,我还不得不面对额外的噪音和设备的散热、额外的数据存储可靠性的问题。所以,这两种方案,都不是我的最优选择。

难道就没有廉价又高效的组网方案了吗?显然,是有的。

雷电组网

性价比颇高的“雷电组网”

还记得年初《MacBook 与其他设备的低成本高性能数据传输方案(一)》、《MacBook 与其他设备的低成本高性能数据传输方案(二)》两篇文章里提到的方案么?

没错,就是雷电组网方案:即使是雷电 3 版本的组网,也能够支持 22G 带宽的数据传输,更不提规格更高的雷电 4,具备 32G 可用的数据传输带宽。

反正我也没有用连接 NAS 设备的雷电线再传输一路显示器画面的诉求,数据带宽都是可以让度给网络传输的,能够使用雷电 4 喜出望外,能够使用雷电 3 性能也会远超上面的万兆组网方案。

正好在年初的实践里,还有一些课题没有去尝试和解决:没有机会实验双雷电口的数据传输能否叠加合并,没有折腾一个工具来做快速组网后的应用通信、网络自适配… 这次有机会正好可以一试,“最差情况”下,单就 22G 带宽也比实现光纤或电口万兆成本更低、性能更强, :-)

确定了网络方案后,还需要明确一个选型:存储介质和对应容量选择。

确定存储介质为固态硬盘

下面的图片中直观的展示了最常见的磁盘类型中,传统机械硬盘、SATA 接口固态硬盘、PCIe 接口固态硬盘的一般的速度差异。

最常见的磁盘速度差距

上文中提到了,我不会选择 Raid 1 之外的类型作为存储方案,加上 HDD 运转过程中难以避免的噪音问题,所以 HDD 的方案就被抛弃了。SATA 固态目前的成本和 PCIe 差价不大,但是可写入数据量和有效性能受限于接口带宽能力,差异巨大。

所以,一方面,想要发挥雷电接口的效能,PCIe 的固态盘是第一选择。

另一方面,选择固态盘,也可以让这个 NAS 在运行过程中更加安静:毕竟选择雷电方案,如果不想花大价钱购置长过 0.8m 的主动线材,这个设备就只能够放在使用它设备 1m 之内的范围,安静是非常重要的

正巧,在这几年的升级换代中,我积攒了不少闲置的固态硬盘,用于测试的情况下,随便找几块就好啦,待完成测试,再购置新盘不迟。这不,成本就下来了嘛。

寻找合适的设备:带雷电网口的多盘位主机

比 NUC8 大,但是比 EliteDesk 小巧不少的 NUC9

网上搜索一圈,比较容易被多数人选择的,目前有几种方案:

  1. 选择支持雷电 3/4 的固态硬盘阵列盒
  2. 选择支持雷电协议的成品 NAS
  3. 选择带雷电接口的主板,进行整机组装
  4. 选择大容量的 Mac Mini 或者 Mac Studio
  5. 选择具备雷电接口的,能够装多块硬盘的笔记本

但是这四种方案,每一种的价格都在无限逼近上文提到的整套网络架构升级的成本,并且除了第三种自己组装主机设备的方案外,基本都没有任何可扩展性。

遇事不决,可以看看 NUC。

一般情况下,支持雷电方案的设备中,其中一个核心依赖是 9 代后的 Intel CPU。所以,我想到了 Intel 曾经的亲儿子(今年砍掉的产品线)NUC,或许会是不错的选择。

一番查找,我看到了一台 SKU 非常匹配的设备:NUC 9 幽灵峡谷,在 Intel 官网的设备规格中,我们能够看到这台 20 年设计的产品中,包含了下面的令人眼馋的接口和能力:

  • 支持两个雷电3的接口
  • 默认两条 SSD 插槽,支持识别 3 块硬盘(PCIe x2,SATA x1),如果你愿意,可以组 Raid
  • 额外支持一个 PCIe 4.0 x4 插槽和一个 PCle 3.0 x16 插槽,你可以继续扩展磁盘位或添加扩展设备
  • 最大内存支持到 64GB

当然,这台设备也不是没有缺陷:插上显卡后的散热问题(风道设计)一直被人诟病,加上最开始发行时的高昂的价格,导致了相比较辉煌的 NUC8 系列,市场反响不是那么好。

网上使用这台机器的最多的资料之一,是如何使用它来跑黑苹果。庆幸它的黑苹果方案并不完美,让我入手这台机器的成本更低了一些:支持黑苹果的设备,往往更贵。

NUC9 在经历时间洗礼和 Intel NUC 产品线的停产双重 Buff 后,一台全新的低配置准系统库存,基本可以使用一千五百到一千六百块左右的价格拿下。

相对弱一些的 CPU,可以在 NAS 场景更加省电,也会对安静起到至关重要的贡献。不在 NUC9 中插显卡,除了能够极大的缓解被诟病的插上显卡影响风道进风产生的散热问题之外,对省电和安静也会起到非常大的贡献,而且也降低了不必要的成本。

况且,真要追求 CPU 计算性能,我有 E5 和 M1、M2、13900K,要 GPU 计算,我有 4090,这台 NAS 就不必那么“坚强”了。

最后

这篇文章,就先聊聊基础的组网选择和设备选择吧。下一篇相同系列的内容中,再继续展开这块的折腾细节。

如果你也有类似诉求,想相对省点事,或许也可以考虑这个方案。

–EOF