恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6814|回复: 22

[ikuai] 在ESXi添加多个SR-IOV网卡给 VM(OP/爱快) 桥接网口后无法访问

[复制链接]
发表于 2021-9-8 16:21 | 显示全部楼层 |阅读模式
使用环境:
1. ESXi 6.7u2
2. OpenWRT R20
3. iKuai 3.5.7

硬件:
1. Intel 10 Gigabit X540-AT2 x 6


遇到的问题:
给同一个VM (OP/爱快)添加多张SR-IOV网卡,在OP/爱快 中桥接后无法访问 (VT-d,IO-MMU都已经开启,测试过单个SR-IOV网卡完全工作正常)
!!!注意不是同一个 PF物理网卡 虚拟出的 VF虚拟网卡 添加进去,而是多张 PF物理网卡 虚拟出来的 多张 VF虚拟网卡添加进去 !!!


希望解决:
在OP/爱快中将多张SR-IOV网卡桥接后也能正常使用


具体设置:
1.在ESXi中开启SR-IOV功能

2.为每张网卡单独设置一个虚拟交换机(也尝试过将5个网口合并到一个虚拟交换机中,还是一样没法访问)


3.为每个虚拟交换机配置对应的端口组





4.给爱快添加SR-IOV网卡


测试结果:
1.爱快可以正常识别所有的SR-IOV网卡,但是在桥接后,只有一个网口(和管理口在同一个虚拟交换机中)可以正常访问内外网

其他4个网口都是能获取的IP地址,但无法访问内外网(包括爱快后台和ESXi后台)


2.将SR-IOV网卡单独绑定一个LAN,网络可以正常访问,但只有和管理口在同一个虚拟交换机的网口可以访问ESXi后台(这个估计需要在爱快中设置一下)


附加说明:
为什么一定要用SR-IOV?

先来看一下这两图:
使用VMNET3的表现(这里我弄错了,我也不知道Direct I/O到底起了什么作用,反正虚拟交换机和OP之间就是没有发送的流量)

使用SR-IOV的表现


总结来说就是,使用了SR-IOV后不仅处理器占用可以显著降低,网络在高负担下的表现也更加出色。

那到这里,肯定有人会说:
只将一个网口开启SR-IOV作为LAN接入到 OP / 爱快中,接着再把其余4个网口直通给  OP / 爱快 不就好了吗?

EMMMMM
是的,我最开始就是这样做,结果就是
OP将直通网口和SR-IOV网口桥接到一起后,无法访问,无法访问,无法访问。但不排除是OP自己的问题

爱快也是差不多的情况。

我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-9-9 11:06 | 显示全部楼层
原来是通病,我还以为网卡问题,我试了好几个网卡x540和x520一样都是桥接就不行了,不桥接还能访问。x550的vf 爱快识别硬件但是不识别网口,很蛋疼。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-9-9 11:21 | 显示全部楼层
我还试了,直接用添加pci设备,然后选择虚拟的vf,一样不行

点评

直接添加VF设备是需要手动指定MAC的。 我看intel官方的SR-IOV说明图也是需要配合虚拟交换机使用,SR-IOV像是把一个 真实物理网口 虚拟成多个 虚拟网口 和虚拟交换机组合在一起,这样就可以让一个网口给多个虚拟系  详情 回复 发表于 2021-9-9 12:16
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2021-9-9 12:16 | 显示全部楼层
朱朱侠 发表于 2021-9-9 11:21
我还试了,直接用添加pci设备,然后选择虚拟的vf,一样不行

直接添加VF设备是需要手动指定MAC的。

我看intel官方的SR-IOV说明图也是需要配合虚拟交换机使用,SR-IOV像是把一个 真实物理网口 虚拟成多个 虚拟网口 和虚拟交换机组合在一起,这样就可以让一个网口给多个虚拟系统使用,并且传输消耗很小。(可以想象成是一个【真实的交换机】和 虚拟系统连接到了一起)

点评

我的搞定了,还是按照添加网卡选择sr-iov的方式。 不仅需要虚拟交换机和端口组, 还需要创建两个网口对应的虚拟网卡,这样桥接之后就能用了。 昨天偶然发现桥接之后不能正确分配ip了,添加虚拟网卡后正常了。  详情 回复 发表于 2021-9-18 09:25
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-9-18 09:25 | 显示全部楼层
mqdlee 发表于 2021-9-9 12:16
直接添加VF设备是需要手动指定MAC的。

我看intel官方的SR-IOV说明图也是需要配合虚拟交换机使用,SR-I ...

我的搞定了,还是按照添加网卡选择sr-iov的方式。 不仅需要虚拟交换机和端口组, 还需要创建两个网口对应的虚拟网卡,这样桥接之后就能用了。  昨天偶然发现桥接之后不能正确分配ip了,添加虚拟网卡后正常了。
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2021-9-23 14:07 | 显示全部楼层
是ESXi的虚拟机配置页面里再添加两个对应网口的虚拟网卡吗?
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2021-9-23 14:07 | 显示全部楼层
朱朱侠 发表于 2021-9-18 09:25
我的搞定了,还是按照添加网卡选择sr-iov的方式。 不仅需要虚拟交换机和端口组, 还需要创建两个网口对应 ...

是ESXi的虚拟机配置页面里再添加两个对应网口的虚拟网卡吗?

点评

是的,我的这样搞定了  详情 回复 发表于 2021-9-24 20:27
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-9-24 20:27 | 显示全部楼层
mqdlee 发表于 2021-9-23 14:07
是ESXi的虚拟机配置页面里再添加两个对应网口的虚拟网卡吗?

是的,我的这样搞定了

点评

我尝试了一下,给OP添加对应网口的虚拟网卡 在OP中也能正确识别出全部网卡 但是如何在OP里绑定网卡呢? 无论怎么绑定都是没法让桥接到一起SR-IOV网卡可以正常访问 如果将全部网卡桥接到一块,在OP里还  详情 回复 发表于 2021-10-9 17:12
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2021-10-9 17:12 | 显示全部楼层
朱朱侠 发表于 2021-9-24 20:27
是的,我的这样搞定了

我尝试了一下,给OP添加对应网口的虚拟网卡

在OP中也能正确识别出全部网卡


但是如何在OP里绑定网卡呢?

无论怎么绑定都是没法让桥接到一起SR-IOV网卡可以正常访问

如果将全部网卡桥接到一块,在OP里还能看到这样的报错

点评

老哥请问您解决了吗?我好像也碰到了  详情 回复 发表于 2021-12-24 21:01
我的恩山、我的无线 The best wifi forum is right here.
发表于 2021-12-24 21:01 | 显示全部楼层
mqdlee 发表于 2021-10-9 17:12
我尝试了一下,给OP添加对应网口的虚拟网卡

在OP中也能正确识别出全部网卡

老哥请问您解决了吗?我好像也碰到了
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-2-5 09:20 | 显示全部楼层
如果是桥接的话,应该是工作在2层:
用于第 2 层服务的 SR-IOV 接口
要将 SR-IOV 接口用于 VMware ESXi 主机中部署的 vMX 实例上的第 2 层服务(如 VPLS、第 2 层 virtual**、第 2 层线路或桥接),您必须在英特尔网卡设置中启用信任模式并禁用欺骗检查。使用以下步骤启用信任模式并禁用欺骗检查:
安装英特尔 esxcli 插件。有关说明,请参见 VMware 知识库文章。
通过在 ESXi shell 模式下输入以下命令,验证 SR-IOV 网卡上的信任模式和欺骗检查状态:
content_copy zoom_out_map
esxcli intnet sriovnic vf get -v <vf number> -n <vmnic name>
例:

content_copy zoom_out_map

root@host:~] esxcli intnet sriovnic vf get -v 0 -n vmnic12


VF ID           Trusted         Spoof Check
-----           -------         -----------
0               false            true
启用信任模式并禁用英特尔 NIC 上的欺骗检查。
content_copy zoom_out_map
esxcli intnet sriovnic vf set -s false -t true -v <vf number> -n <vmnic name>
例:

content_copy zoom_out_map
[root@host:~] esxcli intnet sriovnic vf set -s false -t true -v 0 -n vmnic12

Trusted mode is set to true and spoof check is set to false
content_copy zoom_out_map
[root@host:~] esxcli intnet sriovnic vf get -v 0 -n vmnic12
VF ID           Trusted         Spoof Check
-----           -------         -----------
0               true            false
更改为信任模式和欺骗检查值后,重新启动使用 SR-IOV 接口配置的 vMX FPC。
content_copy zoom_out_map
user@host> request chassis fpc slot <number> restart
FPC 联机后,第 2 层服务开始在 SR-IOV 接口上工作。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-2-5 09:20 | 显示全部楼层
本帖最后由 Martin213 于 2022-2-5 09:22 编辑

如果是桥接的话,应该是工作在2层:
用于第 2 层服务的 SR-IOV 接口
要将 SR-IOV 接口用于 VMware ESXi 主机中部署的 vMX 实例上的第 2 层服务(如 VPLS、第 2 层 virtual**、第 2 层线路或桥接),您必须在英特尔网卡设置中启用信任模式并禁用欺骗检查。使用以下步骤启用信任模式并禁用欺骗检查:
安装英特尔 esxcli 插件。有关说明,请参见 VMware 知识库文章。
通过在 ESXi shell 模式下输入以下命令,验证 SR-IOV 网卡上的信任模式和欺骗检查状态:

esxcli intnet sriovnic vf get -v <vf number> -n <vmnic name>
例:
root@host:~] esxcli intnet sriovnic vf get -v 0 -n vmnic12


VF ID           Trusted         Spoof Check
-----           -------         -----------
0               false            true
启用信任模式并禁用英特尔 NIC 上的欺骗检查。

esxcli intnet sriovnic vf set -s false -t true -v <vf number> -n <vmnic name>
例:

[root@host:~] esxcli intnet sriovnic vf set -s false -t true -v 0 -n vmnic12

Trusted mode is set to true and spoof check is set to false

[root@host:~] esxcli intnet sriovnic vf get -v 0 -n vmnic12
VF ID           Trusted         Spoof Check
-----           -------         -----------
0               true            false
更改为信任模式和欺骗检查值后,重新启动使用 SR-IOV 接口配置的 vMX FPC。

user@host> request chassis fpc slot <number> restart
FPC 联机后,第 2 层服务开始在 SR-IOV 接口上工作。

点评

拖了那么久才来问大佬也怪不好意思的,目前确实是遇到一点点小问题 英特尔 ESXiCLI 插件 安装成功 参考的是VMware的知识库里的说明,但我看了一下英特尔的说明,貌似没有支持X540-AT2这个型号。 【我也看了  详情 回复 发表于 2022-8-31 16:38
太感谢了,但目前我还没时间去验证,先提前感谢大佬的回复。有空我再去测试一次,后续有问题还望打扰大佬了  详情 回复 发表于 2022-2-15 15:30
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2022-2-15 15:30 | 显示全部楼层
Martin213 发表于 2022-2-5 09:20
如果是桥接的话,应该是工作在2层:
用于第 2 层服务的 SR-IOV 接口
要将 SR-IOV 接口用于 VMware ESXi  ...

太感谢了,但目前我还没时间去验证,先提前感谢大佬的回复。有空我再去测试一次,后续有问题还望打扰大佬了
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-3-2 23:59 来自手机 | 显示全部楼层
有蛋糕了?
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-3-5 21:38 | 显示全部楼层
为什么你们的x540 at2能开启sriov,我的x540 在esxi下面开启sriov就一直显示需要重新引导,引导完还是重新引导,真的要吐了,到底是怎么开启的

点评

网卡换个PCIE槽,再开再重启就行了,我的是这样子解决 如果主板就一个PCIE16的话,那就没办法了 或者找系统-高级设置 找 Boot.disableACSCheck 改成 True重启再试  详情 回复 发表于 2022-3-31 12:05
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )|网站地图

GMT+8, 2022-12-8 21:43

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

| 江苏省互联网有害信息举报中心 举报信箱:js12377@jschina.com.cn 举报电话:025-88802724 | 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797
快速回复 返回顶部 返回列表