分享你的2021种草计划,聊聊你的完美避坑故事,2月3日-3月11日参与#2021种草计划#征稿,畅所欲言种草不打烊,只要晒出你的购买经验,就有机会赢取最高1000元京东E卡>>>查看活动详情创作立场声明:本次文章中的猎豹峡谷NUC11PAHi7为楼猪参加Koolshare论坛众测活动,自费购入的。这台猎豹峡谷,我前前后后体验了半个月。最后众测文在Koolshare论坛首发。众测文原文长万字,且配了100多张插图,本文为众测文的一部分,拿来与值友分享。
一台NUC可以用来做什么?当然一百个人有一百个答案,但我相信大多数人回那台来做办公机、上网机、码字机、炒股机、扫雷机、棋牌类游戏机等等。但是之前一片文章里,我用一台豆子峡谷NUC8i5BEH做成了一台自带旁路由功能的All-In-One迷你主机。今天,我要拿这台众测购入的第11代NUC,继续做一台All-In-One,其中自带的路由从旁路由变为主路由。
首先先瞅瞅楼猪这台猎豹峡谷吧
盒子
正面
背面
左侧
右侧
顶盖是磨砂材质
底面贴满标签
全家福
最合适他的位置就是客厅电视机柜
SN850 PCIe 4.0 SSD和16G镁光内存伺候
你可能要问:你这台NUC有几个网口?
猎豹峡谷是一台消费版的NUC,所以只自带了一个2.5Ge的有线网口。要多网口,可以选择商用版本的猛虎峡谷,Tigerlake,不止可以扩展双2.5Ge有线网口,Wifi网卡还不是焊死在主板上的,就是价格肯定巨贵无比。
可能你又要问:一个网口怎么能够做主路由?
当然可以,可以参照单臂路由方式搭建。但是我更建议你购买一个代VLAN功能能的小型交换机,通过vlan把上行链路和下行链路分隔开来。
那你可能要说,支持Vlan的千兆交换机太贵了
我大中华,地大物博,最不缺的就是性价比高的解决方案,下面两台水星的智能网管交换机可不贵,而且还是网管型的,支持VLAN。水星是很成熟的品牌,网管型交换机也是非常成熟的技术,放心买就对了。
水星(MERCURY)8口全千兆智能网管交换机【热卖-高速稳定】5口千兆SG105M45元京东去购买
水星(MERCURY)SG105Pro5口全千兆智能网管交换机99元京东去购买
一般我们家的主路由通常是下面这样连接的
最普遍的网络拓扑图
主路由上联电信光猫,下联交换机
而我们上面这个图修改一下,变成下面这个图,其实我们在逻辑上就是在光猫和主路由之间加入了一台交换机罢了。
使用管理型交换机的VLAN功能
VLAN的功能,实际上就是上把一台交换机在逻辑上切开来,变成两台独立的交换机。上图中的交换机被我们切成两台,一台放在光猫和主楼有之间,一台放在主路由之后,专门连接家庭网络。
说到VLAN,我们经常还会听到单线复用这个词。其实单线复用就是把一根网线在逻辑上变成两根甚至更多根网线使用。就比如我上面的图里,主路由出来了两根网线,一根接的WAN口,一根接的LAN口。单线服用就是把这两根网线合并成为一根网线,对应的两个网口也合并成为一个网口,但是用VLAN标记的方式来进行区别数据流到底是WAN那根线上的还是LAN那根线上的。如果你觉得这个都太干,都无法理解,那你可以关闭这篇文章了,下面的内容更干,更不适合你。
有了上面的基础后,我们可以看下面这张拓扑图:
单口软主路由网络拓扑图
我们把之前那张图里面的两台VLAN虚拟的交换机合并成一台,两根网线合并成一根就成为了最简单的单网口主路由的拓扑图了。
这张图看着是不是很唬人?有什么PVID,还有Tag啥的。其实很简单,你这么看一张图,一根线就代表了一根网线,网线的一头只能接一个网口,但我们用PVID和Tag把这一个网口变成了两个逻辑网口,所以这一个标记就代表了一个逻辑网口。有点绕哇,哇咔咔咔。
把这个拓扑图变得更复杂一些。
All-in-One的网络拓扑图
我们在管理交换机和主路由之间加如一个虚拟网桥,你可以把虚拟网桥看成一台虚拟交换机,我们在这个虚拟网桥上连了NAS,Docker服务器和Windows10这三个虚拟机。这就演变成为了一个完整的All-In-One的网络拓扑图了。
基于这个图,我在我家网络里实验了一下,我实验的拓扑图如下:
我家网络里实验时的拓扑图
在这个拓扑图里面还包含了除All-In-One设备以外的其他物理设备和其他交换机,都是由图中这唯一一台OpenWRT软路由器进行管理的。
这里需要说明一下PVID和Tag的区别。如果交换机启用了VLAN,每一个端口都会会有一个端口VLAN ID (Port VLAN ID,PVID),这个PVID就是一个脱色染色的过程。举一个例子,如果一个端口的PVID是10。PC的网卡向交换机发送的数据是没有VLAN标记的,当经过这个端口进入交换机内部的时候就会被打上这个端口的PVID,也就是VLAN10的标记,这就是一个染色的过程。而这个带有VLAN10标记的数据从另一个PVID=10的端口流出,就会在端口被去除VLAN标记,这就是一个脱色的过程。
Tag不会对数据进行染色和脱色,只会滤色。只有当数据流的VLAN ID=端口的Tag ID时,数据才允许流入或流出这个交换机端口。
有了这个PVID染色脱色和Tag滤色的概念以后,来看我上面的拓扑图就像对简单一些。看iMac到光猫的数据流为例:
iMac的网卡发出一组没有标记的数据到VLAN交换机,被打上这个交换机的PVID=100
这个带有VLAN ID=100数据经过连接NUC的网口,由于网口的PVID=100,所以在网口处,这条数据的VLAN标记会被去掉后流出交换机到NUC
这组没有VLAN ID的数据会经过虚拟网桥流到OpenWRT的LAN口
经过OpenWRT的防火墙和NAT网络地址转换从Wan口流出
这个WAN口在进入虚拟网桥时会被打上VLAN=40的标记
这组被打上VLAN ID=40标记的数据会流到交换机连接NUC的网口上,由于这个网口同时已经被打上Tag=40的标记,所以数据被放行进入到交换机
这组被打上VLAN ID=40的数据再流到连接光猫的网口,由于这个网口上我们也打上了PVID=40的标记,所以这条数据会被去掉VLAN标记变成一条不带VLAN标记的数据,流经光猫,进入互联网。
把这个枯燥的拓扑图梳理清楚后,后面的工作就很简单了。交换机上端口这样设置就行了:
连接光猫的端口设置PVID=40
连接NUC的端口设置PVID=100 同时Tag=40
连接iMac的网口设置PVID=100
交换机设置完后看NUC上UNRAID的设置。
UNRAID Dashboard
▲我使用的是UNRAID 6.9.0rc2的测试版系统,试用期一个月。在UNRAID里,我开了一个OpenWRT的虚拟机和一台Win10的虚拟机。可以看到UNRAID完美识别出了这颗第11代NUC的i7-1165G7的第十一代CPU。
UNRAID Network Setting
▲UNRAID的网络设置里面,在未做任何设置的时候,只有一个网口,对应一个网络界面eth0。我们要在这个网口上添加开启VLAN功能,然后新添加一个VLAN40。
接着进入OpenWRT的虚拟接设置界面
OpenWRT虚拟机设置,重点是网络界面设置
▲OpenWRT的虚拟机设置里,第一块虚拟网卡对应OpenWRT的LAN口,桥接到br0。第二块虚拟网卡对应WAN口,桥接到br0.40。
进入到OpenWRT软路由的Web界面看一下
OpenWRT软路由Web界面
▲OpenWRT可以完美识别出这台NUC的CPU,并且完美识别出两个网卡。此外可以看到这台软路由已经为两台设备分配了IP地址,第一台Desktop就是Win10的虚拟机,第二台Mac是我正在操作的iMac。
OpenWRT的网口设置
▲看一下LAN口和WAN口的MAC地址,确实和UNRAID设置界面下的虚拟网卡MAC地址一一对应。
OpenWRT看完,再来看一下虚拟机Win10
Win10 虚拟机
▲Win10,可以看到设备管理器里全部都是虚拟组件
Win10虚拟机的MAC地址和被分配的IP
▲IP地址也和OpenWRT主页上显示的一致
再来看一下在拓扑中接在另一台24口交换机VLAN100下的iMac获取到的IP地址
Mac被分配的IP地址
▲也与OpenWRT主页上显示的一致,由此可以说明无论是在宿主机上建的虚拟机,还是其他接交换机的物理机,只要在VLAN100下,都可以正确获取到OpenWRT分配的IP地址。
既然已经搭建好了,就跑一个iperf3打压测试呗。测试方法很简单,服务端开在一台在VLAN40(WAN所在的局域网)下的UNRAID服务器,客户端开在VLAN100(LAN所在的局域网)下的iMac。数据流向:
客户端iMac > 24口POE交换机 > UDM Pro > XG 6 POE交换机 > Linux网桥 > OpenWRT LAN口 > NAT转发 > Linux网桥 > XG 6 POE交换机 > 服务端 x86 NAS
iperf3打压测试结果如下:
iperf3打压测试结果
▲实测带宽为894Mbps,存在一定性能损耗,但是基本认为可以跑满OpenWRT的千兆上下行。
在x86 NAS上搭建一个speedtest网页服务器,在iMac上直接登陆这个网页服务器进行测速,结果如下:
内网Speedtest结果
▲实测上下行带宽分别为949Mbps和910Mbps,而在测试过程中,OpenWRT的CPU占用没有超过8.9%。
再做一组测试,在VLAN100和VLAN40的两台主机,分别从UNRAID中下载一部视频,来看一下带宽使用情况。
Win10虚拟机从NAS下载
▲在VLAN40的Win10上,下载速度达到120MB/s
iMac物理机从NAS下载
▲在VLAN100的iMac上,下载速度同时达到107MB/s
所以在从性能上来说,这台NUC 2.5Ge有线网口真的挺香,可以这么搞!
上面这么玩,其实并没有利用上这台猎豹峡谷的Xe核显。但别急,Xe核显我们可以用来硬件转码。经过测试发现,其实UNRAID已经支持调用这猎豹峡谷上的Xe核显解码硬件加速了。以Jellyfin为例,播放4K HEVC 10bit HDR的叶问4,比特率68.5Mbps,视频文件大小为50.4GB。将这部4K影片转码为720P,4.0Mbps进行播放,来看CPU和GPU的占用情况。
首先是未开启硬件转码
未开启硬件转码,4K转码为720P
未开启硬件转码时候的CPU和GPU占用
▲CPU使用率全线飙红,但是Intel GPU的使用率为0%
开启硬件解码后
开启硬件转码,从4K转码为720P
开启硬件转码时候的CPU和GPU占用
▲CPU占用率下降到9%,而Intel GPU的使用率提高到32%。
再丢两部8K演示片进去看看硬解情况
首先是之前在Win10上流畅播放的AVC1演示片
AVC1 8K转720P
▲从8K转码为720P 4.0Mbps比特率,播放正常,丝般顺滑
AVC1 8K转720P的CPU和GPU占用
▲可以看到Xe核显已经参与硬件加速,GPU占用率达到86%
再来一部之前播放卡顿的8K VP9 HDR演示片
VP9 8K转720P
▲同样从8K转到720P,4.0Mbps比特率,转码比较慢,等缓冲足够后,能够流畅播放
VP9 8K转720P时候的CPU和GPU占用
▲Xe核显同样参与了硬件加速,GPU占用率达到86%,而且CPU的占用率比之前高了不少。
在Jellyfin的转码硬件加速选项里,我没有发现AV1编码选项,但还是希望尝试一下UNRAID下的Jellyfin能否对AV1编码的8K视频进行硬件加速。从油管又扒拉下来一部AV1编码的8K日本风光片。
AV1 8K转720P
▲同样是从8K转码到720P,4.0Mbps比特率,转码速度比较慢,等到建立了足够的缓冲区后,能够顺畅播放
AV1 8K转720P时候的CPU和GPU占用
▲令人惊喜的是,GPU也参与了硬件加速,占用率达到88%,此时CPU占用率超过50%,可见AV1编码格式的硬解还是非常开销硬件资源的。
此外之前担心过UNRAID不支持PCIe 4.0,但实测已经能够完美识别这条SN850的PCIe 4.0 SSD了。
SN850可以完美识别
综上所述,以这台猎豹峡谷为基础搭建一台巴掌大小的All-In-One系统,也是妥妥的。
以上
网友评论