Автор Тема: bonding active-backup не переключается на другой интерфейс  (Прочитано 4807 раз)

Оффлайн v.krushelnitsky

  • Начинающий
  • *
  • Сообщений: 2
Добрый день.
У меня тут внезапно вылезла проблема с работой 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 сетевых картах завелся.
Уже даже и не знаю что делать...

Оффлайн v.krushelnitsky

  • Начинающий
  • *
  • Сообщений: 2
Ну чтож, никто не отвечает, буду разговаривать сам с собой...
Замечено, что на ядре 4.9.71 все работает как надо, а вот на ядре 4.9.101 и 4.9.105 уже не работает.

Попробую поискать, где поломалось...

Оффлайн Rider

  • /usr/sbin/control
  • *******
  • Сообщений: 1 136
Отвечать тяжело. У меня работает бондинг на свежих ядрах, но в другой конфигурации.
Если найдёте - будет отлично, поправят.