複数のインターフェイスの優先順位を設定するLinuxボンディングアクティブバックアップモードはありますか?

複数のインターフェイスの優先順位を設定するLinuxボンディングアクティブバックアップモードはありますか?

アクティブバックアップモードでネットワークボンドの複数のインターフェイス(2つ以上)の優先順位を設定する方法はありますか?

3つのインターフェイスがあります(2つのインターフェイスに対して1つのインターフェイスをマスターに設定すると、この問題を解決できることがわかります)。優先度の高いインターフェイスがダウンしたときに各インターフェイスに優先順位を付ける方法を探しています。 、次の優先順位を選択するか、複数のインターフェイスでこの問題を解決する方法を選択します。

答え1

これカーネル文書ボンディング互換モード結合インターフェイスに参加するインターフェイスの優先順位を設定する方法を紹介します。

prio

スレーブ優先順位。数値が高いほど優先順位が高くなります。マスターとスレーブの優先順位が最も高いです。このオプションも primary_reselectルールに従います。

このオプションはnetlinkを介してのみ設定できます。active-backup(balance-tlb、モード1)、(5)、balance-alb(6)にのみ有効です。有効な値の範囲は符号付き32ビット整数です。

デフォルト値は 0 です。

文書化のヒント:

  • これは次のように行われます。インターネット接続

    これは、/sysこのプロパティでは使用できないことを意味します。通常IP ルート 2使用中のツールインターネット接続利用可能なインターフェイス: ip link

  • ボンディングされたインターフェイスではなく、スレーブインターフェイスで実行されます。

-detailsこのプロパティは、バインディングのインターフェイスセット部分のオプションを使用して取得できます。たとえば、

ip link add name b0 up type bond mode active-backup miimon 100
ip link add name s0 master b0 type veth peer name p0
# ip -details link show dev s0
4: s0@p0: <NO-CARRIER,BROADCAST,MULTICAST,SLAVE,UP,M-DOWN> mtu 1500 qdisc noqueue master b0 state LOWERLAYERDOWN mode DEFAULT group default qlen 1000
    link/ether 5e:bf:12:5b:ff:65 brd ff:ff:ff:ff:ff:ff promiscuity 0  allmulti 0 minmtu 68 maxmtu 65535 
    veth 
    bond_slave state BACKUP mii_status DOWN link_failure_count 0 perm_hwaddr 5e:bf:12:5b:ff:65 queue_id 0 prio 0 addrgenmode eui64 numtxqueues 16 numrxqueues 16 gso_max_size 65536 gso_max_segs 65535 tso_max_size 524280 tso_max_segs 65535 gro_max_size 65536 

これにはデフォルト値が含まれますprio 0。または-jsonパラメータを使用してjq注文する:

# ip -details -json link show dev s0 | jq '.[].linkinfo.info_slave_data.prio'
0

次のように設定できます(type bond_slaveキーごとの引数を受け入れる必要があります)。

ip link set dev s0 type bond_slave prio 10

次に、他の要素が許可する場合(管理(例:励起:)ip link set dev s0 up)、キャリア検出(例:励起:)ip link set dev p0 upなど)、使用可能な他の候補インターフェースがない限り、アクティブインターフェースに設定されます。プリオこれより大きい値(または次に設定)基本的などちらが勝つプリオ)。したがって、複数のエンゲージメントインターフェイスの異なる値の場合、異なる要素に依存するのではなく、異なるインターフェイスが選択される順序を選択することができます(たとえば、primary_reselect better同じインターフェイスで2つのインターフェイスを選択して保持します)。プリオ)。

ドキュメントに示すように、この例prioのパラメータの兄弟ダミーファイルが見つかりません。/sys/class/net/s0/sys/class/net/s0/bonding_slave

関連情報