一、问题
由于客户的硬件交换机品牌和功能不确定,为避免修改客户的交换机,ovs bond采用active-backup和slb两种模式,没有使用lcap功能。
但是跨越交换机[华为]做端口聚合[未开启mode lacp模式],就会出现arp无法及时刷新,导致同网段arp不正常。
Incomplet表示无法正常学习到对端设备的arp表项
二、解决
1.交换机需要开启lacp
2.ovs-vsctl set port bond0 lacp=active
两端对应解决了arp 不刷新问题
三、解析
原理 | 描述 | 交换机支持 | 备注 | |
---|---|---|---|---|
bond_mode=balance-tcp | 目标MAC地址,IP地址和TCP端口 | 此模式类似于Linux绑定驱动程序使用的模式4绑定。 | 需要 | balance-tcp建议尽可能使用,因为LACP为链路故障检测提供最高的弹性,并提供有关绑定的其他诊断信息。建议的选项是balance-tcp使用LACP 进行配置。此设置尝试配置LACP,但active-backup如果无法与物理交换机协商LACP,则会回退到该设置。 |
bond_mode=balance-slb | 源MAC地址和输出VLAN平衡流量 | 此模式类似于Linux绑定驱动程序使用的模式2绑定。当交换机配置为绑定但未配置为使用LACP(静态而非动态绑定)时,将使用此模式。 | 需要 | 如果您的交换机不支持LACP,请使用bond_mode=balance-slb或bond_mode=active-backup。当交换机配置为绑定但未配置为使用LACP(静态而非动态绑定)时,将使用此模式。 |
bond_mode=active-backup | 提供主用/备用故障切换 | 不需要 | 如果您的交换机不支持LACP,请使用bond_mode=balance-slb或bond_mode=active-backup。 |
# 查看ovs bond状态
[root@host2886763531 ~]#ovs-appctl bond/show bond0
---- bond0 ----
bond_mode: balance-slb
bond may use recirculation: no, Recirc-ID : -1
bond-hash-basis: 0
updelay: 0 ms
downdelay: 0 ms
next rebalance: 149 ms
lacp_status: negotiated
active slave mac: d8:c4:97:78:0f:e4(external)
slave external: enabled
active slave
may_enable: true
hash 31: 44 kB load
hash 121: 9009 kB load
hash 252: 10 kB load
slave mgmt: enabled
may_enable: true