アクティブバックアップモードでネットワークボンドの複数のインターフェイス(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