为什么 软路由/nas 的网卡更多选择 PCI-E 直通,而不是 SR-IOV

2024-01-07 15:38:08 +08:00
 echo1937

常用的 I/O 虚拟化有三种形式:

部分背景信息: 超融合虚拟化下的网络 I/O 虚拟化技术

个人的需求其实很简单,就是把全部的虚拟机都桥接到宿主机的物理网络下,这样所有的设备都在拨号路由器下属的同一子网内,省去了很多的麻烦。

实践方面遇到了一些问题:

在我看来,SR-IOV 显然是技术上最佳的方案,比如说单个万兆口可以分为 10 个 VF ,10 个 VF 单独都是万兆,10 个 VF 共享了万兆的总带宽,线路管理和扩展上限都很方便。似乎困难在于需要主板、网卡和系统的支持。

不知道个人对相关内容的认知是否正确,为什么现在类似畅网的软路由 mini 主机,都是选择方案 2 ;个人的 all in boom 也是方案 2 ,其背后的原因是什么。

万能的水友们,有相关的网卡产品和技术方案推荐吗,还请不吝赐教。

3396 次点击
所在节点    服务器
18 条回复
yyzh
2024-01-07 15:51:33 +08:00
renothing
2024-01-07 16:24:09 +08:00
因为软路由多数用的低功耗板子。没那些企业级功能
TsubasaHanekaw
2024-01-07 16:33:48 +08:00
因为虚拟网卡:性能很差,无论是 vmware workstation 那种 vmnet0 的直通,还是 hyper-v 建立外部交换机进行桥接(无论是宿主机通过网桥,还是虚拟机通过外部交换机,千兆的公网 1000mbps 下行都只能跑 100 多 mbps),性能很难让人满意
你这个前提就是错的
rrfeng
2024-01-07 17:24:57 +08:00
sriov 太高级了…那是数据中心虚拟化用的
0044200420
2024-01-07 17:34:20 +08:00
@TsubasaHanekaw 对,为什么少人用是因为消耗 cpu 而不是性能,这么慢肯定哪里搞错了
shinko
2024-01-07 17:48:40 +08:00
@rrfeng 畅网的新款 intel U 现在都支持了。不过现在性能过剩,虚拟化网卡也够用
helleon
2024-01-07 17:56:59 +08:00
虚拟网卡 1000m 只能跑到 100m 绝无可能。
这三个的区别最多就是 950m, 990m, 980m 的区别
echo1937
2024-01-07 18:42:28 +08:00
@helleon 测试方法,https://www.speedtest.cn/ 没有用 iperf

场景 1:开 vmware workstation 的的 windows 虚拟机,网络模式选择桥接,虚拟机内部测速下行 100mbps
场景 2:启动 hyper-v ,增加一个外部交换机,选择“允许管理操作系统共享此网络适配器”,然后在管理操作系统跑 speedtest ,也是只有 100 多 mbps
helleon
2024-01-07 18:49:27 +08:00
@echo1937 你用那玩意测出来的那不是出口带宽的性能么,能说明啥?

我贴个第一种虚拟网卡的 iperf 结果吧,古老的 Gen8 跑 PVE ,VirtIO 网卡,中间是个垃圾红米路由器的 LAN 口


D:\Soft\iperf-3.1.3-win64>iperf3.exe -c 10.1.1.7
Connecting to host 10.1.1.7, port 5201
[ 4] local 10.1.1.8 port 51471 connected to 10.1.1.7 port 5201
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 22.5 MBytes 189 Mbits/sec
[ 4] 1.00-2.01 sec 19.0 MBytes 158 Mbits/sec
[ 4] 2.01-3.00 sec 31.0 MBytes 263 Mbits/sec
[ 4] 3.00-4.00 sec 36.5 MBytes 306 Mbits/sec
[ 4] 4.00-5.00 sec 36.4 MBytes 305 Mbits/sec
[ 4] 5.00-6.01 sec 35.4 MBytes 296 Mbits/sec
[ 4] 6.01-7.00 sec 33.6 MBytes 283 Mbits/sec
[ 4] 7.00-8.00 sec 34.2 MBytes 287 Mbits/sec
[ 4] 8.00-9.00 sec 33.4 MBytes 280 Mbits/sec
[ 4] 9.00-10.00 sec 36.5 MBytes 306 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 318 MBytes 267 Mbits/sec sender
[ 4] 0.00-10.00 sec 318 MBytes 267 Mbits/sec receiver

iperf Done.
helleon
2024-01-07 18:50:38 +08:00
Sorry 贴成无线的了,下面这个才是

D:\Soft\iperf-3.1.3-win64>iperf3.exe -c 10.1.1.7
Connecting to host 10.1.1.7, port 5201
[ 4] local 10.1.1.8 port 51534 connected to 10.1.1.7 port 5201
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 112 MBytes 940 Mbits/sec
[ 4] 1.00-2.00 sec 112 MBytes 936 Mbits/sec
[ 4] 2.00-3.00 sec 112 MBytes 936 Mbits/sec
[ 4] 3.00-4.00 sec 110 MBytes 919 Mbits/sec
[ 4] 4.00-5.00 sec 113 MBytes 944 Mbits/sec
[ 4] 5.00-6.00 sec 113 MBytes 949 Mbits/sec
[ 4] 6.00-7.00 sec 109 MBytes 916 Mbits/sec
[ 4] 7.00-8.00 sec 112 MBytes 941 Mbits/sec
[ 4] 8.00-9.00 sec 113 MBytes 949 Mbits/sec
[ 4] 9.00-10.00 sec 110 MBytes 922 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 1.09 GBytes 935 Mbits/sec sender
[ 4] 0.00-10.00 sec 1.09 GBytes 935 Mbits/sec receiver

iperf Done.
echo1937
2024-01-07 19:15:49 +08:00
@helleon #10 我大概了解你的意思了。

方案一虚拟网卡本身种类很有多种的,VirtIO 算是开销相对较小的吧,我这创建出来的网卡有且只有 Intel 82574L ,表现不一样很正常吧。

为什么用 speedtest 的出口带宽测试,因为场景 2 中,未进行操作前,同样的 windows 物理机可以轻松测速跑到 960 多 mbps ,只是为了粗略体现一下差别。
Fish1024
2024-01-07 20:10:52 +08:00
虚拟网卡性能不差啊,hyperV 的虚拟交换机下的 win11 实例,内网 2.5G 能跑满,外网千兆跑下载也有 120-150MB/s 。
zhangckid
2024-01-07 23:06:37 +08:00
@echo1937 搜下 virtio-net 你就知道…你的 1 就不成立…随随便便跑个几个 g
tywtyw2002
2024-01-08 06:28:18 +08:00
现在家用 sriov 的卡基本都是二手洋垃圾 10g/40g 的卡吧

这种卡 sriov 说实话性能有点差。

先说驱动
pcie pass through 的网卡驱动是在虚拟机,支持全功能网卡功能,而且可以在虚拟机里面随便改驱动。这种想的等于虚拟机有个硬件网卡。

sriov 的驱动跑在母鸡的上,虚拟机里面是没法直接控制硬件的。我的那几张 10g 洋垃圾卡都不支持 mac 层操作,比如硬件 vlan ,旁路端口镜像抓包等。sriov 的卡 相当等于高级一点的 vmxnet 卡,网卡的 ic 帮助 cpu offload 一些工作,节约母鸡 cpu 。但是也是个虚拟网卡。
helleon
2024-01-08 18:05:35 +08:00
@echo1937 我的意思是就算虚拟化也不可能掉 90%的性能,你这要么是驱动要么是网线啥的,具体只能你自己排查了。但是这个锅虚拟化肯定不背
wm5d8b
2024-01-08 18:31:11 +08:00
我花两倍价格,从小黄鱼买了 sriov 网卡,然后主板不支持,我怎么用?
echo1937
2024-01-09 08:53:04 +08:00
@wm5d8b 层主你买的什么卡,我也想买张来玩玩。
nicai
322 天前
个人的 all in boom 也是方案 2 ,其背后的原因是什么。

这个是你了解的少把?我的 AIO 就是一张 10G 卡一张 40G 卡,所有 LXC 和 VM 都走的 sriov 后 VF 直通,不走虚拟网桥,小包转发性能那不是 virtio 能比的且不占 cpu 开销。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1006569

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX