Добрый день.
У меня тут внезапно вылезла проблема с работой bonding в режиме active-backup (1).
Имеется два сервера HPE DL380 Gen9 c 4 встроенными сетевыми портами. Необходимо их связать 2 кабелями в режиме active-backup. Настройки идентичны
Установлен Альт 8.2
4.9.101-std-def-alt0.M80P.1 #1 SMP Mon May 21 19:26:15 UTC 2018 x86_64 GNU/Linux
Настроен bond0 из eth0 и eth1 (драйверы tg3)
После запуска интерфейса (ifup bond0, перезагрузка компьютера), интерфейс работает. Но стоит выдернуть кабель из eth0, сетевой обмен прекращается (хотя должен продолжиться через eth1)
В dmesg появляется только надпись типа : tg3 0000:02:00.0 eth0: Link is down
Но нету надписи " bond0: link status definitely down for interface eth0, disabling it"
И, следовательно, в /proc/net/bonding/bond0 висит
Currently Active Slave: eth0 (хотя должно быть eth1)
Slave Interface: eth0
MII Status: down
Speed: Unknown
Duplex: Unknown
Slave Interface: eth1
MII Status: up
Speed: 1000
Duplex: full
Настройки:
# cat bond0/options
NM_CONTROLLED=no
DISABLED=no
TYPE=bond
ONBOOT=yes
BOOTPROTO=static
HOST="eth0 eth1"
BONDMODE=1
BONDOPTIONS="miimon=100"
# cat eth0/options
NM_CONTROLLED=no
DISABLED=no
TYPE=eth
CONFIG_WIRELESS=no
BOOTPROTO=static
CONFIG_IPV4=yes
ONBOOT=no
# cat eth1/options
NM_CONTROLLED=no
DISABLED=no
TYPE=eth
CONFIG_WIRELESS=no
BOOTPROTO=static
CONFIG_IPV4=yes
ONBOOT=no
# ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Link partner advertised pause frame use: Symmetric
Link partner advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
MDI-X: off
Supports Wake-on: g
Wake-on: g
Current message level: 0x000000ff (255)
drv probe link timer ifdown ifup rx_err tx_err
Link detected: yes
# ethtool eth1
Settings for eth1:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Link partner advertised pause frame use: Symmetric
Link partner advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 2
Transceiver: internal
Auto-negotiation: on
MDI-X: on
Supports Wake-on: g
Wake-on: g
Current message level: 0x000000ff (255)
drv probe link timer ifdown ifup rx_err tx_err
Link detected: yes
Если вручную переключить активный интерфейс (ifenslave -c bond0 eth1), срабатывает и обмен возобновляется.
Если на обоих серверах поменять на lacp (BONDMODE=4), то работает. Но необходимо завести именно в режиме active-backup.
Пробовал экспериментировать с use_carrier и miimon.
Вставлял другие сетевые карты (Intel 210).
Что интересно, на USB сетевых картах завелся.
Уже даже и не знаю что делать...