找回密码
 加入我们
搜索
      
查看: 42085|回复: 129

[电脑] 全闪NAS(5*M.2 NVMe)暨软路由AIO,N100作业

  [复制链接]
发表于 2023-9-30 00:39 | 显示全部楼层 |阅读模式
本帖最后由 hawie 于 2023-9-30 00:31 编辑

前言

这是一份历时三个月的作业。

联芸MAP1602+长江存储232L的国货精品,省电(待机不到0.1瓦, 峰值最高3.98瓦)、省钱(999/4TB、499/2TB)、省空间(M.2 2280),掀开了利用M.2 NVMe组建全闪NAS的需求。由此,产生了再DIY一台迷你NAS的想法。

这台迷你NAS的理想目标,是功耗必须低(家用7*24h运行),尽可能多用途(用途多设备少,能降低总体功耗),性能不能太弱,部署要简单、维护要方便。

经历长达三个月艰辛曲折的努力,最终达成:
  • 体积1.3升的5盘位M.2 NVMe全闪NAS;
  • ROS L6+OP软路由,兼4端口2.5Gbps交换机;
  • 7*24h稳定运行, 满血性能约为i9-9900的77.6%(单核)、46.6%(多核);
  • 整机功耗(含5个NVMe盘),约13瓦(待机,PCDN功耗附后)。

下面,进入正题。

起点与选型

既然低功耗是组建这台NAS的一个优先目标,那么CPU就从节能系列架构中挑选了。
J1900、J3455、J4125、N5105、N100、……这些都是一代代走过来的经典,从成熟度、口碑、应用广泛程度,J4125当之无愧,是低功耗NAS最受欢迎的经典之中的经典了。
不过,其最大支持6条仅PCIe 2.0的规格,已难以满足NVMe对于带宽的需求。

而其最新的继任者,当红的N100,能否取代J4125,达到功耗与性能的新均衡呢?

从规格上看,N100 属于Intel的Alder Lake-N处理器系列,该系列基于节能的 Gracemont 架构,采用 Intel 7 工艺,4 核 4 线程,睿频 3.4GHz,核显为 24EU,TDP 仅为 6W。支持PCIe Gen 3,PCI Express 通道数的最大值为9。
同比 J4125 属于 Gemini Lake Refresh 系列,14nm 工艺,运行在 2.0-2.7GHz,核显 12EU,TDP 为10W。PCIe Gen 2,PCI Express 通道数的最大值为6。

J4125 vs N100 Specifications

J4125 vs N100  Specifications


从已知成绩看,N100 性能提高接近一倍,能耗降低40%。
J4125vsN100-header.png
J4125vsN100-passmark.png

可见,N100 规格与性能较先前经典 J4125 有显著提高,基本符合设定目标,值得尝试,就选它了!

CPU确定之后,进一步对市面上搭载N100的纯NAS主板、小主机,M.2 NVMe支援情况等关键指标进行了解,从众多的厂家之中,寻找了一款最接近理想目标的产品,规格为N100、2xM.2 NVMe、4x2.5Gbps(i226-V),12V3A。按厂家PPT,后续会推出4x1拓展板,将其中一个M.2 NVMe所用的PCIe3.0x4通道,转接为4个M.2 NVMe,每个M.2 NVMe占用1条PCIe 3.0x1通道;以及会推出1个三合一SATA拓展板,将另一个M.2 NVMe所用的PCIe3.0x1通道,转接为1个SATA(NGFF/SATA/mSATA)。这样计算,最大可支持4个M.2 NVMe,1个M.2 NGFF SATA,共5个M.2的SSD。

那么,有几个未确定因素出来了:
一,5个M.2 SSD,每个只占用一条PCIe3.0x1,CPU或PCIe是否构成瓶颈,综合性能能否跑满4x2.5Gbps,即10Gbps、双向共有20Gpbs的网络吞吐率呢?
二,能否组成5*M.2 NVMe呢?假如不使用三合一SATA拓展板,那本身那一个使用PCIe3.0x1通道的M.2 NVMe,是否可以保留,与4x1转接板共同构成5个M.2 NVMe呢?
三,i226-V,是否仍然断流呢?

这些疑问,没有得到明确的答复,大致说是这个不太确定,或可能不支持。那就保守估计,至少应可以达到1 M.2 SATA + 4 M.2 NVMe。跟群晖官方系统强制要求必须至少有一个SATA进行引导,保持了一致,也是不错的。

其他的配套,
内存考虑性能,选择了支持2*32bit双通道的最小容量16GB;
M.2 NVMe盘,选择了明确标识待机功耗与最大峰值功耗的,功耗最低的一款。
TF盘,考虑需要在USB2.0上使用,选择了目前最高性能的一款。
USB盘,选择了最迷你又不发热的一款。

功课做到这,就实际入手来验证那些疑问吧。
实际的行动起始于618前夕,5.31号陆续入手了一台小主机、16GB DDR5 SODIMM内存条、64GB TF卡、5块 2TB M.2 NVMe SSD固态硬盘,正式着手迷你全闪NAS的组建。

开箱
包装,合影
box-2.jpg
p7000z-5.png

主机本体,及电源
unbox-2e.png

配件一,M.2 WIFI位,PCIe 3.0x1,转接1盘位M.2 NVMe @PCIe 3.0x1
wifi-nvme.png

配件二,M.2 WIFI位,PCIe 3.0x1,转接1盘位SATA(NGFF/SATA/mSATA)
sata3in1.jpg

配件三,M.2 NVMe位,PCIe 3.0x4,转接4盘位M.2 NVMe @PCIe 3.0x1。不需拆分芯片的黑科技。
新版优化了结构以及同时多个1TB以上大容量硬盘的兼容性问题。
4x1-new.jpg
4x1-2ndx.png
对照图。左侧为初始版,右侧为新版。新版尺寸加大,四角通过立柱与底板固定。初始版无固定。新版增加独立供电。
4x1-two.png

配件四,NVMe散热加强组件。支持安装外置8010风扇,给NVMe盘加强散热。
5800eaae692e899c9dc9e571b2683ba7.png
效果图方便直观:
5800eaae692e899c9dc9e571b2683ba3.PNG

其他配件,TF卡、U盘。性能强,运行温度低。
tf-u.jpg

其他配件,内存 1条、NVMe盘 5个。
内存Crucial 16GB DDR5 4800; NVMe,5 * P7000Z 2TB(第一颗2TB入手时,4TB未上货,考虑RAID需要,后续均按同容量购买)。
accessories-ram-ssd.jpg

其他配件,闲置风扇。
主机支持PWM,安装闲置风扇一枚。将风扇线从内部经机壳缝隙引出,三明治叠在本体之上,辅助散热。
body-with-fan.jpg

内部安装,四层堆叠。约1L体积安装多个NVMe盘。
第一层,主板/底板,已预装
第二层,WIFI位安装转接板,转接安装1个M.2 NVMe
l1n2.jpg
第三层:M.2 NVMe位(PCIe 3.0x4)安装4x1转接底座
l3.jpg
第四层:在4x1转接底座之上,安装4x1转接板,转接安装4个M.2 NVMe
l4.jpg

主要功能性能
一、SSD,5 * M.2 NVMe
RootPort PCIe资源分配情况。N100 9条PCIe3.0资源完全用满,5条给了5个NVMe(ID 1602),4条给了4个2.5Gbps网口(ID 125C)。
Windows:
hwinfo-pcie-rootport.png
Linux:
截屏2023-09-29 16.15.10.png

RAID0性能,5盘 @ PCIe3.0x1 ,Windows带区卷模拟
win-raid0-a.png

RAID F1(RAID5)性能,5盘 @ PCIe3.0x1 ,PVE虚拟DS3622xs+环境模拟
使用linux dd简测,读写性能约1.5GB/s,确认性能高于4*2.5Gbps(10Gbps)并发访问带宽需求。
即,PCIe拆分后,5条PCIe3.0x1组成的RAID,在虚拟机中也未构成整机性能瓶颈。
截屏2023-09-27 18.44.22.png

单盘 @ PCIe3.0x4 性能,底板M.2 NVMe槽位测试
nvme0-bench.png

单盘 @ PCIe3.0x1 性能,转接板M.2 NVMe槽位测试
nvme0-bench-pcie3.0x1.png
nvme0-bench-pcie3.0x1-hdtune-rw.png

二、PVE
基础配置
Proxmox Virtual Environment 8.0.3,TF引导,NVMe PCIe直通。考虑USB2.0限制,配置无SWAP,local仅存OS引导,其他NFS存储。
截屏2023-09-29 11.39.18.png
其中,
在PVE 8.0早期的内核版本之中,存在P7000Z 2TB多盘识别不了的问题,这是联芸MAP1602主控刚推出来、Linux内核还没有适配的缘故,是所有联芸MAP1602主控的共性现象。
现在升级至最新内核,可正常识别多盘。之后出的联芸MAP1602主控某些4TB版本,可能仍需要修改内核才支持。具体修改与安装方法,可参见我前面的发文https://www.chiphell.com/thread-2524660-1-1.html

SR-IOV配置
N100的核显为12代,确认支持开启IOMMU、SR-IOV共享,可将同一设备虚拟为多个设备,直通给需要核显硬件加速的虚拟机。比如Jeffylin/Emby/Plex、Windows/Ubuntu等。
开启方法:
0. 安装基础包,apt install -y build-* git dkms sysfsutils
1. git clone https://github.com/strongtz/i915-sriov-dkms.git 并拷贝为/usr/src/i915-sriov-dkms-6.2;
  1. git clone https://github.com/strongtz/i915-sriov-dkms.git
  2. cp -r i915-sriov-dkms /usr/src/i915-sriov-dkms-6.2
复制代码
2. 修改/usr/src/i915-sriov-dkms-6.2/dkmf.conf
  1. PACKAGE_NAME="i915-sriov-dkms"
  2. PACKAGE_VERSION="6.2"
复制代码
3. 执行dkms install -m i915-sriov-dkms -v 6.2 --force 编译安装
4. 修改/etc/default/grub
  1. GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on i915.enable_guc=3 i915.max_vfs=7"
复制代码
5. 修改/etc/modules, 增加
  1. vfio
  2. vfio_iommu_type1
  3. vfio_pci
  4. vfio_virqfd
复制代码
6. 更新引导
  1. update-grub
  2. update-initramfs -u
复制代码
7. 修改/etc/sysfs.conf,增加
  1. devices/pci0000:00/0000:00:02.0/sriov_numvfs = 3
复制代码
重启后
lspci验证,出现多个核显设备:
截屏2023-09-29 16.48.28.png

网络配置
集成的I226,实测在某些场景仍会存在断流现象,关闭TSO之后解决。具体方法为:
1. 创建执行文件/etc/systemd/system/off_tso.service,内容如下
  1. [Unit]
  2. Description=Turn off TSO for NIC

  3. [Service]
  4. Type=oneshot
  5. ExecStart=/usr/sbin/ethtool -K enp5s0 tso off
  6. ExecStart=/usr/sbin/ethtool -K enp6s0 tso off
  7. ExecStart=/usr/sbin/ethtool -K enp7s0 tso off
  8. ExecStart=/usr/sbin/ethtool -K enp8s0 tso off
  9. RemainAfterExit=yes

  10. [Install]
  11. WantedBy=multi-user.target
复制代码
2. 使能、设置为自动启动:
systemctl enable --now off_tso.service
systemctl daemon-reload

三、NAS
NAS系统,选取了TrueNAS Scale及DS3622xs+/SA6400等DSM系统进行评估。
最后以使用维护方便为优先考虑因素,确定主用系统为,PVE环境下的DS3622xs+。备用的系统则为,物理机环境下的SA6400。
系统主要配置,RAID F1、Photos、Docker。
RAID F1,是群晖针对全闪NAS,在RAID5基础上的改进,非常适合用于组建全闪NAS。
截屏2023-09-29 17.41.32.png
白名单,M.2 NVMe盘识别正常,无告警信息,符合系统要求。
截屏2023-09-29 17.46.46.png
Docker安装了几个测试程序,懂的都懂。
截屏2023-09-29 17.57.47.png
功耗
开启Docker中的几个测试程序之后,其中PCDN业务上传带宽约占60Mbps。
此时功耗提升为22瓦。未开启时,约为13瓦(BIOS设置平台PL2为10瓦)。似乎12代之后的Intel CPU有个共性,负载功耗提升特别快。
通过小米功率计查看当天18小时用电为0.4度(刚好看到0.3跳为0.4),平均约为22.22瓦。
powerconsume.png

四、NAS之外的AIO性能
1. ROS/OP软路由
ROS自带N100主机所用I226网卡驱动,验证可以物理安装、PVE直通安装、VIRTIO虚拟网卡安装。
使用virtio虚拟网卡安装时,虚拟virtio端口之间的性能近20Gbps,这是PVE下的性能。VMM下,virtio的性能约10Gbps。
简测:开启ROS流控,使用电信运营商测速站点,轻松跑满外网千兆,同时ping外网无丢包与延迟增加。
2. Windows系统
支持SR-IOV的核显加速,远程访问时,系统UI流畅。
N100,R23:
R23.png
N100,R24:
R24-s.png
3. Linux作业系统
Geekbench 6,单核1242、多核3332。约为i9-9900官方成绩单核1601、多核7144的77.6%、46.6%。
Geekbench 5,单核1051、多核2998。
gb-linux.jpg
4. Jellyfin性能
核显加速,在线拖动进度图4K转码,流畅播放,无明显迟钝。

五、AIO风险规避方法

复杂的AIO系统,最担心AIB异常发生。
这里构建全闪NAS兼AIO的同时,采取了一些方法,避免风险。
1. 所有数据均存储在NAS当中,包括PVE各虚拟机的系统。只要保障好NAS,从而就可以有效规避AIB。
2. 上述构建的以PVE为底层承载的NAS系统(DS3622xs+,主用系统),和以物理机直接运行的NAS系统(SA6400,备用系统),经实践检验,一定的预先配置之后,可以自由转换无需迁移,直接运行。方法(简述),前者在引导时选择TF卡启动,后者选择U盘启动,NAS系统的配置数据保存在各自引导之中,其他数据保存在相同的磁盘阵列(RAID F1,5*M.2 NVMe SSD物理盘),所以,两者切换时,NAS系统不会进入迁移,而是使用之前保存在引导中的参数直接运行,进入对应的系统。
3. 得益于前一条,复杂的AIO系统可以随时转换为单一的NAS系统。方便异常维护,也可以互为备用。

总结

这三个月来的亲身实践,曲曲折折没有尽表,许多艰难险阻经历过后也不足为道,还好终于从理想化需求,初步按预期目标达成——低功耗全闪NAS暨软路由AIO。

所选机型不需要拆分芯片,将PCIe资源拆分为多个PCIe3.0x1的黑科技,无疑将给全闪NAS市场带来腾飞机遇的里程碑。

未来使用具有更多PCIe资源的CPU,是否能组成更多的M.2 NVMe PCIe3.0x1呢?完全可以期待。
或许,我们见证了以新一代低功耗CPU,开启组建全闪NAS暨软路由AIO的新篇章。


评分

参与人数 9邪恶指数 +340 门户文章 +1 收起 理由
julywolf + 10
acios + 50
xuran007 + 20
TernenceS + 20
hudizhoutube + 20
ilas + 200
Wolverine + 5
李一族 + 15 支持一下
nApoleon + 1

查看全部评分

发表于 2023-9-30 05:49 | 显示全部楼层
起初以为是软路由,结果是高端NAS, 点赞。哈哈。
发表于 2023-9-30 08:09 | 显示全部楼层
目前看到最完美的全闪NAS
发表于 2023-9-30 09:15 | 显示全部楼层
有自己的想法,很钦佩
发表于 2023-9-30 09:36 | 显示全部楼层
应该有大神做板子,做箱子,全M.2的NAS,外带跑跑PCDN等
发表于 2023-9-30 10:07 | 显示全部楼层
增加点隔远点的全景照就好了
发表于 2023-9-30 10:13 | 显示全部楼层
结果是高端NAS, 点赞。
发表于 2023-9-30 10:37 | 显示全部楼层
点赞,又有新目标了
发表于 2023-9-30 11:19 | 显示全部楼层
请教一下,开启SR-IOV一定需要bios支持吗?我看很多主板好像都没有这个选项。
发表于 2023-9-30 12:54 | 显示全部楼层
找个黑科技厉害
发表于 2023-9-30 13:08 | 显示全部楼层
这个还真是不错啊,厉害厉害。

感谢这个思路
发表于 2023-9-30 13:50 | 显示全部楼层
真高端!!
发表于 2023-9-30 13:54 | 显示全部楼层
此帖厉害在SR-IOV啊,直接虚拟一拆四,之前PCIeX
16拆4个X4还要类似PLX芯去拆~
发表于 2023-9-30 15:02 来自手机 | 显示全部楼层
委屈PCIe4.0*4的固态了,被降级到PCIe3.0*1
发表于 2023-9-30 15:08 | 显示全部楼层
一直想组M2的Nas,买原厂的太贵,
而且除了致钛,其他原厂的TLC SSD发热巨大,P3 Plus之类QLC的写入太坑爹
买白片又要担心掉盘的问题,估计要再等等,希望LZ顺利上车
不想折腾,以后直接ASUSTOR Flashstor
发表于 2023-9-30 17:27 | 显示全部楼层
一套PCIe3.0x1 确实委屈了这盘。
不过确实是全闪NAS啊
希望群晖啊  QNAP啊能看到这些
赶紧上全闪机型(1290fx什么的那价格就邪灵退散吧)
发表于 2023-9-30 21:36 | 显示全部楼层
专业,这样的nas 再弄个10G网卡,用来减视频完美了
发表于 2023-10-1 02:07 | 显示全部楼层
proxmox直通有比较全面的教程吗?最近在搞,直通了核显和板载sata控制器,然后proxmox就崩溃了
发表于 2023-10-1 06:47 来自手机 | 显示全部楼层
全闪不配合100g网卡等于没来
发表于 2023-10-1 12:57 | 显示全部楼层
SSD价格确实便宜不少了。可是,SSD不是一直都说不适合做NAS吗。。。
发表于 2023-10-1 13:18 | 显示全部楼层
支持国货
发表于 2023-10-1 16:11 | 显示全部楼层
多谢楼主分享。

不过一直有个疑问,全闪NAS,sata接口的固态硬盘是不是更实用一些?
没有pcie通道限制,体积大散热情况估计也好一些。
发表于 2023-10-1 16:12 | 显示全部楼层
同在看这套。
考虑直接上N305的,看中x宝畅网的
发表于 2023-10-1 19:08 | 显示全部楼层
fs6712X 买回来没开箱
发表于 2023-10-1 21:40 | 显示全部楼层
我觉得这方案应该量产,毕竟未来几年,大家可能越来越需要全低价国产SSD组NAS,那么RAID6甚至RAID60这样的NAS方案就会非常吃香。
发表于 2023-10-1 22:25 | 显示全部楼层
主板第一层插内存处咋看上去有个上层小板?没看懂请解释一下,谢谢!

点评

内存上方没有别的小板,只有4x1转接板了。  发表于 2023-10-8 16:27
发表于 2023-10-2 13:43 来自手机 | 显示全部楼层
不装个刀客跑网心,对不起4T盘,另外爱国者暴毙的可能性比较大,建议选大华那个10年保的。
发表于 2023-10-2 18:42 | 显示全部楼层
牛掰~
这个主板我愣是没看明白什么造型~
发表于 2023-10-2 23:21 | 显示全部楼层
我是N100+QNAS mini机箱,上2.5寸ssd,真香,感觉比你这个实用多了
发表于 2023-10-3 06:41 | 显示全部楼层
本帖最后由 danety 于 2023-10-3 06:44 编辑

这个是厂家优化了供电的第二版?

点评

应该是优化了,不确定是第几版。  发表于 2023-10-8 17:33
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

Archiver|手机版|小黑屋|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806 上海市互联网违法与不良信息举报中心

GMT+8, 2024-12-22 00:15 , Processed in 0.038383 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2007-2024 Chiphell.com All rights reserved.

快速回复 返回顶部 返回列表