web-dev-qa-db-ja.com

ボンドとインターフェース間のLinuxスパニングツリー

ネットワーク仮想化を使って何かをしようとしています。これにより、ProxmoxサーバーをHA環境で本番環境に移行できるようになります。

私はopenvswitch2.5を使用しています

私が到達しようとしているセットアップ:

結合が壊れた場合の冗長性のために、4つのインターフェイスを持つ私のサーバーはswitch1への3つのリンクとswitch2への1つのリンクです

2つの物理スイッチとサーバー上の仮想ブリッジの間にスパニングツリー環境を正常に作成しました。しかし、それはボンドなしでのみ機能します

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をeth0eth1とeth2をスレーブとして持つボンドに置き換えようとすると。

スパニングツリーは機能したくない

インターフェイス構成:

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)と従来のインターフェイスを配置するのが一般的かどうかはわかりません。

私は何日もそれに取り組んできました、そして私はそれを機能させる方法を見つけることができません。

ボンドがアップしているときに、スパニングツリー以外のものを使用してその安全リンクを切断する必要があるかどうかわかりません。

openvswitchが私がやりたいことをできるかどうかわかりません。

すぐに解決できる答えは必要ありません

しかし、私が物事を異なって理解し、試すのを助けることができる何か。

私は今立ち往生していて、たくさんのことを試しましたが、失敗しました。

私を助けてくれる人々に感謝します。

1
Gorshok

残念ながら、OpenvSwitchは現在ボンディングされたリンクでRSTP/STPを実行できないと思います( https://pve.proxmox.com/wiki/Open_vSwitch#Example_4:_Rapid_Spanning_Tree_.28RSTP.29_-_1Gbps_uplink.2C_10Gbps_interconnect )。私は現在、まったく同じセットアップに取り組んでおり、これがすぐに実装されることを本当に望んでいます。

1
MiCRo