可以在同一端口上切换处理多个LACP小组

如果我使用支持SRIOV的适配器进行虚拟化,并且在2个guest虚拟机上设置了2个不同的LACP链路,那么在交换机的同一个端口上可能会有2个LACP链路,可以切换处理这种情况吗?

例如:

交换机端口0 <=>适配器端口0

PF(主机):eth0

VF1(Guest1-eth0):LACP团队1

VF2(Guest2-eth0):LACP团队2

===================

交换机端口1 <=>适配器端口1

PF(主机):eth1

VF1(Guest1-eth1):LACP团队1

VF2(Guest2-eth1):LACP团队2

提前致谢。

这不会按照你期望的方式工作。 交换机不知道PF和VF,它只是使用LACP来绑定两个以太网接口(整个事情,不只是一个或另一个VF的stream量)

我必须这样做:启用PF上的LACP并将它们绑定。 那么你必须在VF传递给客人的时候粘贴这些VF。 正如Jamieb所说,mac欺骗检查将成为一个问题,但有办法解决这个问题。 使用英特尔SR-IOV网卡,您可以设置一个选项,告诉它允许VF设置自己的MAC,您可以通过“IP链接”closures欺骗检查。 如果您有Broadcom NetExtremeII nics(bnx2系列驱动程序)之类的东西,则无法closuresMAC欺骗或允许来宾设置自己的MAC。

如果使用Broadcom,您将需要做一些预configuration,然后客人才能正确使用它们。 启动后,启用虚拟交换机,设置其MAC地址(它们最初是MAC全零,不可用),那么必须禁用并重新启用这些MAC地址的虚拟交换机,您设置的MAC地址。 我将它们与同一个mac分配,例如,port0-vf0将mac设置为22:27:1a:2a:d5:3a port1-vf0将mac设置为相同,将两个VF传递给guest虚拟机(使用KVM)在qemu xml中分配的MAC地址与您在VF上手动设置的相同。 然后在客人键合他们使用模式2和键合将正常工作。

使用英特尔,您只需告诉PF您想closuresMAC侦听并允许VF设置自己的MAC地址,然后您可以允许kvmpipe理MAC地址,您不需要做任何特殊的绑定操作,它只会像正常适配器一样工作。

重要的是你只在PF上运行LACP。 一旦完成,来自PF的VF对基本上已经在交换机端结合,并且必须在客户端结合来自这些PF的ALL vfs。 LACP是一个链路层协议,不是由mac地址协议。 它不通过LACP将path绑定到特定的MAC地址,而是将物理端口绑定在一起,这些物理端口携带PF和所有VF的stream量。

您需要禁用SR-IOV交换机上的欺骗检查。 当你绑定客人的接口时,债券改变接口MAC。 SR-IOV交换机通常会丢弃任何不是来自自己的PF或VF的帧。 这被称为欺骗检查。

除此之外,这应该工作得很好。