I try to do something with network virtualisation to get my Proxmox server ready for production in an HA environment
i'm using openvswitch 2.5
the Setup that i try to reach:
My Server which has 4 interfaces
3 link to switch1
and 1 link to switch2 for redundancy if the bond broke
I successfully created a spanning tree environment between my 2 physicals switches and my virtual bridge on the server. but it works only without a Bond
i connected eth0 to switch 1, eth3 to switch2 and switch 1 and switch2 together.
Proxmox interfaces configuration with openvswitch
auto br1
allow-ovs br1
iface br1 inet manual
ovs_type OVSBridge
ovs_ports eth0 eth3 vint1
allow-br1 eth3
iface eth3 inet manual
ovs_bridge br1
ovs_type OVSPort
ovs_options other_config:stp-path-cost=100
allow-br1 eth0
iface eth0 inet manual
ovs_bridge br1
ovs_type OVSPort
ovs_options other_config:stp-path-cost=10
auto vint1
allow-br1 vint1
iface vint1 inet static
ovs_type OVSIntPort
ovs_bridge br1
ovs_options vlan_mode=native-untagged
ovs_extra set interface ${IFACE} external-ids:iface-id=$(hostname -s)${IFACE}-vif
address 10.2.2.4
netmask 255.255.255.192
gateway 10.2.2.1
it works but when i try to replace eth0 by a bond which has eth0 eth1 and eth2 as slave.
spanning tree don't want to work
interfaces configuration:
auto br1
allow-ovs br1
iface br1 inet manual
ovs_type OVSBridge
ovs_ports bond1 eth3 vint1
allow-br1 bond1
iface bond1 inet manual
ovs_bridge br1
ovs_type OVSBond
ovs_bonds eth0 eth1 eth2
ovs_options bond_mode=balance-tcp lacp=active other_config:lacp-time=fast other_config:stp-path-cost=10
allow-br1 eth3
iface eth3 inet manual
ovs_bridge br1
ovs_type OVSPort
ovs_options other_config:stp-path-cost=100
auto vint1
allow-br1 vint1
iface vint1 inet static
ovs_type OVSIntPort
ovs_bridge br1
ovs_options vlan_mode=native-untagged
ovs_extra set interface ${IFACE} external-ids:iface-id=$(hostname -s)-${IFACE}-vif
address 10.2.2.4
netmask 255.255.255.192
gateway 10.2.2.1
in that case every link get in to Forward mode and a loop start on the network.
the LACP bond is working.
i don't know if it is common to put a bond(LACP) and a classical interface in a spanning tree environment.
i've been working on it for days and i can't find a way to make it working.
i don't know if i should use something else than Spanning tree to cut that safety link when the bond is UP.
i don't know if openvswitch can do what i want it to do.
i don't nessesary need a instant solving answer
but something that can help me to understand and try things differently.
i'm stuck right now, i tried a lot of things, but i failed.
Thanks to the people who will help me.
Best Answer
Unfortunately I think Open vSwitch currently cannot do RSTP/STP on bonded links (https://pve.proxmox.com/wiki/Open_vSwitch#Example_4:_Rapid_Spanning_Tree_.28RSTP.29_-_1Gbps_uplink.2C_10Gbps_interconnect) . I'm currently working on the exact same setup and I really hope this will be implemented soon.