我尝试使用网络虚拟化来让我的 Proxmox 服务器在 HA 环境中做好生产准备
我正在使用 openvswitch 2.5
我尝试达到的设置:
我的服务器有 4 个接口,其中 3 个连接到交换机 1,1 个连接到交换机 2,以便在绑定断开时实现冗余
我成功地在我的 2 个物理交换机和服务器上的虚拟网桥之间创建了一个生成树环境。但它只有在没有 Bond 的情况下才能工作
我将 eth0 连接到交换机 1,将 eth3 连接到交换机 2,并将交换机 1 和交换机 2 连接在一起。
Proxmox 与 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
它可以工作,但是当我尝试用具有 eth0 eth1 和 eth2 作为从属的绑定替换 eth0 时。
生成树不想工作
接口配置:
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
在这种情况下,每个链接都会进入前向模式,并且网络上会开始循环。
LACP 连接正在工作。
我不知道在生成树环境中放置绑定(LACP)和经典接口是否常见。
我已经研究了好几天了,但就是找不到让它工作的方法。
我不知道当债券处于 UP 状态时我是否应该使用生成树以外的其他东西来切断安全链接。
我不知道 openvswitch 是否能完成我想要做的事情。
我不需要立即得到解决的答案
但它可以帮助我理解和尝试不同的事物。
我现在陷入了困境,我尝试了很多方法,但都失败了。
感谢那些帮助我的人。
答案1
不幸的是我认为 Open vSwitch 目前无法在绑定链路上执行 RSTP/STP(https://pve.proxmox.com/wiki/Open_vSwitch#Example_4:_Rapid_Spanning_Tree_.28RSTP.29_-_1Gbps_uplink.2C_10Gbps_interconnect)。我目前正在进行完全相同的设置,我真的希望这将很快实现。