常用的 I/O 虚拟化有三种形式:
部分背景信息: 超融合虚拟化下的网络 I/O 虚拟化技术。
个人的需求其实很简单,就是把全部的虚拟机都桥接到宿主机的物理网络下,这样所有的设备都在拨号路由器下属的同一子网内,省去了很多的麻烦。
实践方面遇到了一些问题:
在我看来,SR-IOV 显然是技术上最佳的方案,比如说单个万兆口可以分为 10 个 VF ,10 个 VF 单独都是万兆,10 个 VF 共享了万兆的总带宽,线路管理和扩展上限都很方便。似乎困难在于需要主板、网卡和系统的支持。
不知道个人对相关内容的认知是否正确,为什么现在类似畅网的软路由 mini 主机,都是选择方案 2 ;个人的 all in boom 也是方案 2 ,其背后的原因是什么。
万能的水友们,有相关的网卡产品和技术方案推荐吗,还请不吝赐教。
![]() | 1 yyzh 2024-01-07 15:51:33 +08:00 via Android ![]() |
![]() | 2 renothing 2024-01-07 16:24:09 +08:00 因为软路由多数用的低功耗板子。没那些企业级功能 |
3 TsubasaHanekaw 2024-01-07 16:33:48 +08:00 ![]() 因为虚拟网卡:性能很差,无论是 vmware workstation 那种 vmnet0 的直通,还是 hyper-v 建立外部交换机进行桥接(无论是宿主机通过网桥,还是虚拟机通过外部交换机,千兆的公网 1000mbps 下行都只能跑 100 多 mbps),性能很难让人满意 你这个前提就是错的 |
![]() | 4 rrfeng 2024-01-07 17:24:57 +08:00 via Android sriov 太高级了…那是数据中心虚拟化用的 |
![]() | 5 0044200420 2024-01-07 17:34:20 +08:00 @TsubasaHanekaw 对,为什么少人用是因为消耗 cpu 而不是性能,这么慢肯定哪里搞错了 |
![]() | 7 helleon 2024-01-07 17:56:59 +08:00 虚拟网卡 1000m 只能跑到 100m 绝无可能。 这三个的区别最多就是 950m, 990m, 980m 的区别 |
![]() | 8 echo1937 OP @helleon 测试方法,https://www.speedtest.cn/ 没有用 iperf 场景 1:开 vmware workstation 的的 windows 虚拟机,网络模式选择桥接,虚拟机内部测速下行 100mbps 场景 2:启动 hyper-v ,增加一个外部交换机,选择“允许管理操作系统共享此网络适配器”,然后在管理操作系统跑 speedtest ,也是只有 100 多 mbps |
![]() | 9 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. |
![]() | 10 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. |
![]() | 11 echo1937 OP @helleon #10 我大概了解你的意思了。 方案一虚拟网卡本身种类很有多种的,VirtIO 算是开销相对较小的吧,我这创建出来的网卡有且只有 Intel 82574L ,表现不一样很正常吧。 为什么用 speedtest 的出口带宽测试,因为场景 2 中,未进行操作前,同样的 windows 物理机可以轻松测速跑到 960 多 mbps ,只是为了粗略体现一下差别。 |
![]() | 12 Fish1024 2024-01-07 20:10:52 +08:00 虚拟网卡性能不差啊,hyperV 的虚拟交换机下的 win11 实例,内网 2.5G 能跑满,外网千兆跑下载也有 120-150MB/s 。 |
13 zhangckid 2024-01-07 23:06:37 +08:00 via Android @echo1937 搜下 virtio-net 你就知道…你的 1 就不成立…随随便便跑个几个 g |
![]() | 14 tywtyw2002 2024-01-08 06:28:18 +08:00 via iPhone 现在家用 sriov 的卡基本都是二手洋垃圾 10g/40g 的卡吧 这种卡 sriov 说实话性能有点差。 先说驱动 pcie pass through 的网卡驱动是在虚拟机,支持全功能网卡功能,而且可以在虚拟机里面随便改驱动。这种想的等于虚拟机有个硬件网卡。 sriov 的驱动跑在母鸡的上,虚拟机里面是没法直接控制硬件的。我的那几张 10g 洋垃圾卡都不支持 mac 层操作,比如硬件 vlan ,旁路端口镜像抓包等。sriov 的卡 相当等于高级一点的 vmxnet 卡,网卡的 ic 帮助 cpu offload 一些工作,节约母鸡 cpu 。但是也是个虚拟网卡。 |
![]() | 15 helleon 2024-01-08 18:05:35 +08:00 @echo1937 我的意思是就算虚拟化也不可能掉 90%的性能,你这要么是驱动要么是网线啥的,具体只能你自己排查了。但是这个锅虚拟化肯定不背 |
![]() | 16 wm5d8b 2024-01-08 18:31:11 +08:00 via Android 我花两倍价格,从小黄鱼买了 sriov 网卡,然后主板不支持,我怎么用? |
18 nicai 2024-03-17 22:02:08 +08:00 个人的 all in boom 也是方案 2 ,其背后的原因是什么。 这个是你了解的少把?我的 AIO 就是一张 10G 卡一张 40G 卡,所有 LXC 和 VM 都走的 sriov 后 VF 直通,不走虚拟网桥,小包转发性能那不是 virtio 能比的且不占 cpu 开销。 |