欢迎光临散文网 会员登陆 & 注册

PYC7D12 8盘3.5寸机械+多盘nvme闪存 【25G高性能】 NAS搭建方案分享

2023-07-19 18:15 作者:Tenotek  | 我要投稿

长文+多图警告!

如题,分享的是一个超强的NAS复合存储方案。 该方案可在一个21.3升的小型nas机箱内容纳8个机械硬盘和十余个nvme闪存盘,且支持并几乎跑满25gbe高速网络。

价格放到最顶:整机含50TB硬盘约1个w整

continue。。。

这段时间着手搭建有几点:

1、今年洋lj硬件真便宜

2、618闪存价格大跳水,nvme ssd价格跌到逼近hdd,比ahci(sata)ssd更低,速度更快。

 so需要一个能放得下大量剁手买来的nvme盘的NAS方案,最好避免使用昂贵的asmedia/plx拆分芯片和nvme阵列卡,且要能支持按需扩展(单盘扩容)并保证安全性。

3、苹果WWDC23发布了船新的apple silicon Mac pro,顺利成章apple silicon官宣安排上了mellanox网卡(适配cx4-cx7)。arm Mac由于全系标配雷电,用扩展坞转出PCIe*4即可蹭上Mac pro 的驱动。

(Intel MAC盼了近十年都没给mellanox驱动…还记得上万rmb的atto 40gbe网卡吗…)。到这个节点放出来,只能说懂得都懂。

wwdc23直播看到cx516网卡直接就蹦起来了2333

Mac若能用25g网络连接到NAS,难不成Mac内置黄金存储就可以迎来解放, 再也不用给雷电盘交智商税了。。。吗?

4、新家入住解锁了homelab存放位置,然后希望NAS同时能够再跑一些extra load,如家庭影院、视频转码、相册备份识别、HA智能家居、娱乐串流,挂机下载等等。

5、楼主的电脑硬盘已满,急需大容量安全高速的存储阵列。

综上五条,汇总后即极为迫切的需要一个性能强、功耗低、扩展性好的虚拟化平台。同时运行hdd阵列和ssd阵列以及若干应用。   硬件选型过程中,因为一颗漂洋过海而来的四舍五入不要钱的神秘7d12,所以选择了epyc霄龙作为虚拟化平台。  接下来,我将详细介绍硬件选择、安装过程、系统设置和性能测试。

1️⃣硬件选型

CPU

大船货AMD EPYC 7D12,属OEM定制 ZEN2 Rome罗马系列。与锐龙3000系同源的Starship/Matisse架构,32核心64线程128兆L3。主频不高1.8-2.0ghz,但功耗极低,双烤最大83w。且pcie通道多达128条。很契合需求。

 瘦死的骆驼比马大,32c@2.0ghz也能轻松cpuz过万,用锐龙8核的功耗换来16核的性能,香~   这款CPU在闲鱼上可以拿到600元左右的价格。直接买三通道残废版也许可以砍到500

机箱

机箱这个很重要,提到前面说。

首先由于lz的homelab存放地——储藏柜深度只有600mm,所以没法捡各路便宜大碗的2U/4U准系统; 这就将视野放在了小体积8盘位的nas专用机箱上。由于epyc平台标准主板最小就是ATX(排除妖板/节点板),所以刚需7扩展槽。 ATX+8盘以上+7pcie槽,小体积。。。那就是半人马座咯,1200r,咬牙掏吧。

半人马座β版。21.3L极限尺寸,风道和开孔配h11ssl不多不少。sff8643的位置很舒适。

上层据说有150瓦的解热,实测成功压住。**但用全套猫扇依旧很吵,零距离摆放需佩戴降噪耳机,(应该)不能摆放在卧室环境。**

主板

主板方面,选择了超微H11SSL-C。

图里是h11ssl-nc

有8个SATA和2个SFF8643,SFF8643可以插8个SAS盘。

 有三个pcie x16插槽和三个pcie x8插槽,双千兆i210和一个IPMI远程管理接口,1000元左右,

应该是最便宜的EPYC ATX标准规格主板。

 预算充足的话更推荐用超微H12SSL,多28条PCIe通道,且PCIe3.0 → PCIe4.0

内存

内存方面,选择了三根32GB DDR4 2400 ECC REG内存条组96GB三通道。由于7D12的缺陷最终没有用上四通道,不过96GB已经可以很好满足需求。

硬盘

 硬盘方面,闪存池选用了长江颗粒+联芸MAP1202无缓 【最低速最便宜】方案作为全闪nas的数据硬盘。长江颗粒懂得都懂便宜耐艹,5条2T平均每条400。  机械池选用了7个珍藏多年的准新SAS 3TB企业盘和1个18TB HC550硬盘作为阵列(7盘小盘体阵列保障安全和速度)和冷存储(不考虑安全)。插满机箱8盘位。

 如果存储满了还可以考虑在留空的PCIe槽位扩展sas光纤卡(sas 4i4e规格)外接3.5寸机头,加个几十个盘位没问题。或者考虑下lto5磁带机做二级冷备份?

网卡

 网卡方面,选用了mellanox的mcx4121a-acat,属CX4-lx系列,是小mac核心所以温度不会特别高,不放心扎带绑一个4cm小风扇即可压住。 cx4121目前可兼容apple silicon设备。支持SRIOV和RDMA RocEV2技术(macOS不支持),准新300元左右。

显卡

显卡方面,用的也是和7d12一样漂洋过海的大船英伟达tesla p4。虽然不适合玩游戏,但是可以提供视频编解码、图像处理,以及**CUDA**。  还有就是支持vGPU,可以切给虚拟机。   vGPU的方案是可以将图形任务和计算任务隔离,例如分配两个grid-p4-4q虚拟工作站实例给两个Windows虚拟机或者Linux+Windows,同时满足图形桌面渲染+娱乐和后台gpu compute任务(编解码,图像识别,推流等) 价格是400元左右,原装被动散热,**有负载必过热**,40买个涡轮扇可解决过热问题。就是橙色的那个。

电源

看评测随便挑了一个,sfx电源预算足建议买1.5元一瓦以上。

散热器

散热器方面,是买主板送的2U散热器。风扇规格6025,换猫扇后满载不超过75度。 另机箱风扇是利民8015、猫头鹰12025。cpu-内存两个8015用利民静音扇实测可行。PCI槽位的8015风扇可以用风量更大的,比如双滚珠12V0.4a规格。

至此,硬件介绍完毕。

2️⃣系统配置:

软硬件架构以及基本的周边设备

线框图 一图流:建议放大查看

为了提高该方案的性能、稳定性、扩展性和效率,我可以提出以下几点:

  • 要尽可能利用PCIe槽位给闪存设备,最好只留一张网卡和一张显卡其他都用nvme闪存盘。这样使闪存池容量最大化,同时利用SR-IOV和Nvidia vGPU技术将网卡和显卡的功能分配给多个虚拟机,实现单设备功能复用。

  • 尽可能使用RDMA技术减少高速转发带来的CPU负担,因为nvme闪存的速度已经远超过网络和常规链路层支持的速度上限,如果不采取措施,高速的闪存数据会堵塞在网络上增加CPU的负担。RDMA技术可以让闪存数据直接通过网络传输,不需要经过CPU的处理。

  • 使用【25gbps/每用户】的网络带宽满足全闪NAS的性能需求,是因为Windows资源管理器的单线程传输速度受限(1.9-2GB/S);macOS对smb协议的支持不佳,而apple silicon的雷电接口也存在写入限速的硬件bug(1.5GB/S)。所以,即使使用40G或更高的网络接口,也无法充分利用网卡带宽。在这种情况下,提高网络带宽的收益很小。40Gbe等一众QSFP+网卡光模块价格也会高很多。

  • 如果用户数量很少,nvme闪存组阵列几乎没有意义。单盘nvme ssd足以跑满带宽。

宿主系统

选用基于debian的开源系统proxmox ve(pve)作为虚拟化平台。

在pve上暂时用了5个虚拟机来实现需求。

1、TRUENAS scale

一是truenas scale,在truenas scale虚拟机中,7个希捷es3 3TB机械硬盘组成一个raidz阵列,还有一块18TB HC550氦气盘做单盘条带。总共有32TiB的可用空间。raidz阵列可容忍1个硬盘同时损坏而不丢失数据,还有快照、压缩、去重、加密等高级功能。作为服务机,分配32个vCPU,兼用机械盘nas和轻量应用平台。作为nas服务端,分配2个VF虚拟25g网卡。

 因为存储池总容约40TB,所以分配40GB的内存作为ARC一级缓存。建议ARC=存储池总容量的0.1%

缓存vdev设置,缓存vdev即L2ARC。这里取了个巧,给truenas分配了2个虚拟磁盘,如图开启写入同步和ssd仿真,因为pve现版本virtio虚拟盘实测读写效能非常优秀,也就是说成功省下两块物理缓存盘。建议L2ARC=存储池容量的1%

这是qemu虚拟磁盘的读写跑分,pve宿主盘是致态PC005。

2、windows server 2022

作为服务机,分配32个vCPU和一个vGPU,兼用闪存nas和多媒体应用平台。作为nas服务端,分配2个VF虚拟25g网卡。

 书接上文,RDMA目前最简单的实现方案就是使用2012以上版本Windows server,客户端使用 Windows 专业工作站版~~或2012以上版本Windows server~~,技术开箱即用。


 且smbd(smaba-direct)技术目前为winserver独占,smbd同样在Windows上开箱即用。  RDMA我认为是全闪nas需使用到的关键技术,rdma启用后,可直接网卡对网卡传输数据,利于提供更高速和低延迟的网络传输和共享。

  以及要实现上文提到的支持按需扩展(单盘扩容),这里使用了付费的stablebit drivepool实现磁盘合并,以及开源免费的snapraid实现数据安全保障。   Stablebit DrivePool是一款磁盘池化应用程序,可以将多个物理硬盘组合成一个大的虚拟驱动器。

支持随时修改存储池映射位置,可随意增加/减少池内硬盘。存储池的存取速度取决于读写时使用的特定硬盘的速度。

要实现数据安全需要同时部署snapraid。

SnapRAID是一款备份程序,可以为磁盘阵列存储奇偶校验信息,从而在最多六个磁盘损坏的情况下恢复数据。SnapRAID主要适用于存储大量不经常变化的文件,如家庭媒体中心。SnapRAID的特点有:

  • 可以在不格式化或重新分区的情况下,使用已经有文件的磁盘。

  • 可以在任何时候添加或删除磁盘,磁盘可以有不同的大小。

  • 可以为任何文件夹设置奇偶校验盘,保护数据的完整性和安全性。

  • 可以检测和修复数据的损坏,避免静默错误。

  • 可以恢复意外删除的文件。

  • 不会锁定数据,可以随时停止使用SnapRAID,而不影响数据的访问

这里编辑snapraid的config文件或使用第三方开发的GUI界面Elucidate进行简单配置,将剩余的一个数据盘设定为检验盘,根据readme教程走即可。

snapraid是快照式备份,若设置恰当将不会影响Stablebit存储池的性能。

  • winserver也可以部署其他服务,比如我正在跑的jellyfin、阿里ddns、家庭相册、某torrent等。

3、Windows10专业工作站版

作为客户机,分配56个vCPU和一个vGPU,用于娱乐和cpu负载场景。作为nas客户端,分配2个VF虚拟25g网卡。

部署handbrake、davinchi media server等。

cpuz宿主空载跑分9400-10000左右,压片神器。宿主后台重负载也能跑到9000分以上。供参考。

4、win10ltsc

作为客户机的win10ltsc,用于整活和测试

5、nvlic

用于nvidia vgpu的nvlic服务

三、配置过程(概要)

这里只列举了一些踩坑的内容,剩余部分基本不存在难度,善用搜索引擎即可完成整个部署流程。

也可以看看这篇:告别单盘组建TrueNAS SCALE终极家用OpenZFS File Server, VM & More - 电脑讨论(新) - Chiphell - 分享与交流用户体验

0、修改bios设置

启用IOMMU,SVM,ABOVE 4G,ARI SUPPORT,AER SUPPORT,SR-IOV,ACS ENABLE,

M2拓展卡对应的pcie插槽分配改成x4x4x4x4模式

启动UEFI引导

1、安装pve7操作系统

2、打开系统shell,备份并修改软件源

备份

编辑,添加清华镜像源

编辑完文件后按“Ctrl + X” > “Y” > “回车”

编辑企业源

编辑完文件后按“Ctrl + X” > “Y” > “回车”

更新

3、修改grub

打开PVE节点的shell,输入命令:

PVE的shell中输入:

在文件下面添加新内容

编辑完文件后按“Ctrl + X” > “Y” > “回车”,继续输入以下命令。更新配置信息并重启PVE主机

4、配置uefi Windows

创建Windows虚拟机,选择引导方式为uefi,创建完成后不要启动,PVE的shell中输入:

添加这些命令行(添加它们的位置并不重要,只要它们位于新行即可。保存后 Proxmox 会为您移动内容):

虚拟机选项调整磁盘引导顺序,Windows安装盘第一,系统盘第二,virtio驱动光盘第三

uefi引导过程中敲击任意键,启动安装程序

磁盘列表为空,就需要手动加载virtio驱动盘。virtio驱动盘至此下载:

https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso

安装并启动,记得删除Windows安装盘。

进系统后设备管理器里手动加载驱动,启用virtio 虚拟网卡。

5、启用mellanox网卡sriov功能

【mellanox网卡驱动pve已预装,请勿尝试手动安装!!!】

查看网卡编号lspci -nn或至webui-节点-网络页面 中 查找

举例,这里网卡编号是 enp66s0f0np0enp66s0f1np1

跳转目录

编辑配置文件

逐条执行以下命令,应用保存重启

重启后打开shell,输入lspci,确认是否开出vf(virtual function)

虚拟机-PCI设备,选中vf分配即可,注意:

1、同一物理端口下vfpf可任意连通,但不能跨物理端口(双端口卡也就是分成了两组);

2、vfvf之间跑通需要物理端口state up,若空着物理端口,内部虚拟网卡则无法使用。

6、配置vGPU

隔壁小黄鱼请

四、性能测试

客户机分别用Windows10专业工作站版和macOS14.0beta测试。

1、读写速度:使用crystal disk mark4软件测试nas上各个存储池的读写速度。结果如下:

5个2TB nvme ssd条带存储池:

  • host顺序读写速度为3.57G/s和3.17G/s

  • guest(Windows10工作站版)顺序读写速度为2.87G/s和2.59G/s

  • guest(macOS Sonoma 14.0beta)顺序读写速度为1.74G/s和0.37G/s

但若使用物理机win10工作站host对macOS Sonoma 14.0beta guest,速度则会更高,推测可能是SR-IOV的性能开销,这里再放一张物理机对连的跑分:顺序读写速度为2.54G/s和0.44G/s。

Truenes scale7个3TB机械硬盘阵列:

  • guest(Windows10工作站版)顺序读写速度为2.18G/s和1.63G/s

  • guest(macOS Sonoma 14.0beta)顺序读写速度为2.15G/s和0.23G/s

2、功耗

使用一个智能插座测试nas的功耗。分别在nas空闲、满载状态下测量功耗。

  • 家里智能插座似乎不准这条后续补在评论区。

3、温度

ipmi自带的监控功能测试温度。

  • 空闲状态:cpu温度为69℃,显卡温度为54℃,nvme ssd温度为42-50℃,机械硬盘温度为35℃。

烤鸡半小时状态:cpu温度为83℃,显卡温度为73℃,nvme ssd温度为43-53℃,机械硬盘满载温度为50℃。空载盘35℃

4、噪音

手机app测试,距离服务器直线距离一米,无遮挡。

启动 40db,持续运行 44db,满载(风扇拉满) 47db。


未完待续


对你有帮助的话,收藏点赞别忘了哦🙏

再想到什么评论区补充吧。


PYC7D12 8盘3.5寸机械+多盘nvme闪存 【25G高性能】 NAS搭建方案分享的评论 (共 条)

分享到微博请遵守国家法律