web-dev-qa-db-ja.com

Linuxボンドモード802.3adがアクティブ化されていません

Debian Stretchを実行しているサーバー上でbond0802.3adモード次のように:

auto bond0
iface bond0 inet manual
        slaves eth0 eth2
        bond_miimon 100
        bond_mode 802.3ad

bond0インターフェースは稼働していますが、負荷分散(ラウンドロビン)モード:

root@servir01:~# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 2
Permanent HW addr: e4:1f:13:65:f0:c4
Slave queue ID: 0

Slave Interface: eth2
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 2
Permanent HW addr: e4:1f:13:36:a3:ac
Slave queue ID: 0

スイッチでは、LACPが有効になっている状態でLAGが正しく作成され、両方のポートが稼働しています。

[LAG status[1]

Status of the Unit3 / port1

Status of the Unit4 / port1

同じマシンには、別のボンドインターフェイス(eth1およびeth3インターフェイスのbond1)がまったく同じ方法で構成され、同じスイッチに接続されており、LACPはうまく機能している:

Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2 (0)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

802.3ad info
LACP rate: slow
Min links: 0
Aggregator selection policy (ad_select): stable
System priority: 65535
System MAC address: e4:1f:13:65:f0:c6
Active Aggregator Info:
    Aggregator ID: 1
    Number of ports: 2
    Actor Key: 9
    Partner Key: 1010

bond0インターフェースがLACPを有効にしたくないのはなぜですか?どこが間違っているのですか?

1
Mat

この問題を解決し、/etc/network/interfacesの結合構成に以下を追加しました。

bond_xmit_hash_policy layer2+3

この構成を追加してネットワークを再起動すると、すべてが正常に機能します。

0
Mat

古い質問ですが、検索のかなり早い段階で表示されるため、同じ問題で同様の設定が行われました。これが私がそれを機能させる方法です(Debianストレッチでifenslaveを使用)...

/ etc/network/interfaces .. ..

    # The loopback network interface
    auto lo
    iface lo inet loopback

    # bond0 is the bonded NIC and can be used like any other normal NIC.
    # bond0 is configured using static addressing.
    auto bond0
    iface bond0 inet static
    address <your static address>
    gateway <your gateway>
    # bond0 uses standard IEEE 802.3ad LACP bonding protocol
    bond-mode 4
    bond-miimon 100
    bond-lacp-rate 0 (This is on a small NAS, so no Rush)
    bond-slaves none

    # eth0 is manually configured, and enslaved to the "bond0" pseudo NIC
    allow_hotplug eth0
    auto eth0
    iface eth0 inet manual
    bond-master bond0

    # eth1 ditto, thus creating a 2-link bond.
    allow_hotplug eth1
    auto eth1
    iface eth1 inet manual
    bond-master bond0

原因は何でしたか?

さて、NICが起動し、ボンディングドライバーがそれらを取得し、NICがダウンしてスレーブになるように再構成し、ボンディングドライバーがパニックに陥り、スレーブがないため、首なし鶏のように走り回りました(ラウンドロビン)。

これで、ボンディングドライバーが起動し、スレーブがないことを確認したので、座って待機します... NICはマスターがあることを確認したので、レポートインし、bond0からアドレスを取得し、仕事に取り掛かります。それらはすべて行きます。

4
Radar

debian 10でテスト済み(このスレッドとdebianボンディングのドキュメントを読んだ後)

設定は以下のとおりです(他のファイルは編集されていません-モジュールなど)

auto enp4s0f2
allow-hotplug enp4s0f2
iface enp4s0f2 inet manual
        bond-master bond1
        bond-mode 4

auto enp4s0f3
allow-hotplug enp4s0f3
iface enp4s0f3 inet manual
        bond-master bond1
        bond-mode 4

auto bond1
iface bond1 inet static
        address 1.2.3.4
        netmask 255.255.255.0
        bond-mode 4
        bond-slaves none
        bond-miimon 100
        bond-lacp-rate 1
        bond-updelay 800
        bond-downdelay 400
        bond_xmit_hash_policy layer2+3    # optional, sets the bonding algorithm

新着情報:

  • 結合の前にインターフェイスが表示されます
  • 結合モードは@インターフェースレベルでも指定されます
  • ボンドにはスレーブが定義されていません
0
quaie