常用的 I/O 虚拟化有三种形式:
部分背景信息: 超融合虚拟化下的网络 I/O 虚拟化技术。
个人的需求其实很简单,就是把全部的虚拟机都桥接到宿主机的物理网络下,这样所有的设备都在拨号路由器下属的同一子网内,省去了很多的麻烦。
实践方面遇到了一些问题:
在我看来,SR-IOV 显然是技术上最佳的方案,比如说单个万兆口可以分为 10 个 VF ,10 个 VF 单独都是万兆,10 个 VF 共享了万兆的总带宽,线路管理和扩展上限都很方便。似乎困难在于需要主板、网卡和系统的支持。
不知道个人对相关内容的认知是否正确,为什么现在类似畅网的软路由 mini 主机,都是选择方案 2 ;个人的 all in boom 也是方案 2 ,其背后的原因是什么。
万能的水友们,有相关的网卡产品和技术方案推荐吗,还请不吝赐教。
1
yyzh 357 天前 via Android 1
|
2
renothing 357 天前
因为软路由多数用的低功耗板子。没那些企业级功能
|
3
TsubasaHanekaw 357 天前 1
因为虚拟网卡:性能很差,无论是 vmware workstation 那种 vmnet0 的直通,还是 hyper-v 建立外部交换机进行桥接(无论是宿主机通过网桥,还是虚拟机通过外部交换机,千兆的公网 1000mbps 下行都只能跑 100 多 mbps),性能很难让人满意
你这个前提就是错的 |
4
rrfeng 357 天前 via Android
sriov 太高级了…那是数据中心虚拟化用的
|
5
0044200420 357 天前
@TsubasaHanekaw 对,为什么少人用是因为消耗 cpu 而不是性能,这么慢肯定哪里搞错了
|
7
helleon 357 天前
虚拟网卡 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 357 天前
@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 357 天前
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 356 天前
虚拟网卡性能不差啊,hyperV 的虚拟交换机下的 win11 实例,内网 2.5G 能跑满,外网千兆跑下载也有 120-150MB/s 。
|
14
tywtyw2002 356 天前 via iPhone
现在家用 sriov 的卡基本都是二手洋垃圾 10g/40g 的卡吧
这种卡 sriov 说实话性能有点差。 先说驱动 pcie pass through 的网卡驱动是在虚拟机,支持全功能网卡功能,而且可以在虚拟机里面随便改驱动。这种想的等于虚拟机有个硬件网卡。 sriov 的驱动跑在母鸡的上,虚拟机里面是没法直接控制硬件的。我的那几张 10g 洋垃圾卡都不支持 mac 层操作,比如硬件 vlan ,旁路端口镜像抓包等。sriov 的卡 相当等于高级一点的 vmxnet 卡,网卡的 ic 帮助 cpu offload 一些工作,节约母鸡 cpu 。但是也是个虚拟网卡。 |
16
wm5d8b 356 天前 via Android
我花两倍价格,从小黄鱼买了 sriov 网卡,然后主板不支持,我怎么用?
|
18
nicai 286 天前
个人的 all in boom 也是方案 2 ,其背后的原因是什么。
这个是你了解的少把?我的 AIO 就是一张 10G 卡一张 40G 卡,所有 LXC 和 VM 都走的 sriov 后 VF 直通,不走虚拟网桥,小包转发性能那不是 virtio 能比的且不占 cpu 开销。 |