Назад | Перейти на главную страницу

Связывание не работает должным образом (CentOS 5.4, Intel 10G, 802.3ad)

Мы настроили сетевое соединение с помощью сетевого адаптера Intel X540 с двумя портами. Оба порта подключены к коммутатору Brocade с настроенной магистралью LACP. Кажется, все работает нормально; но когда мы физически отсоединяем оба порта, статус связующего интерфейса все еще сохраняется! Статус ссылки должен быть сброшен, не так ли? Мы не можем выполнить эхо-запрос или подключиться к этому интерфейсу; после подключения одного или обоих подчиненных портов все в порядке.

Любые идеи?

[root@er ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.4.0 (October 7, 2008)

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
Active Aggregator Info:
    Aggregator ID: 1
    Number of ports: 2
    Actor Key: 0
    Partner Key: 1
    Partner Mac Address: 00:00:00:00:00:00

Slave Interface: eth2
MII Status: down
Link Failure Count: 1
Permanent HW addr: 90:e2:ba:37:41:28
Aggregator ID: 1

Slave Interface: eth3
MII Status: down
Link Failure Count: 1
Permanent HW addr: 90:e2:ba:37:41:29
Aggregator ID: 1

[root@er ~]# ethtool bond0
Settings for bond0:
    Link detected: yes

[root@er ~]# ethtool eth2
Settings for eth2:
    Supported ports: [ FIBRE ]
    Supported link modes:   1000baseT/Full
    Supports auto-negotiation: Yes
    Advertised link modes:  1000baseT/Full
                            10000baseT/Full
    Advertised auto-negotiation: Yes
    Speed: Unknown! (65535)
    Duplex: Unknown! (255)
    Port: FIBRE
    PHYAD: 0
    Transceiver: external
    Auto-negotiation: on
    Supports Wake-on: d
    Wake-on: d
    Current message level: 0x00000007 (7)
    Link detected: no

[root@er ~]# ethtool eth3
Settings for eth3:
    Supported ports: [ FIBRE ]
    Supported link modes:   1000baseT/Full
    Supports auto-negotiation: Yes
    Advertised link modes:  1000baseT/Full
                            10000baseT/Full
    Advertised auto-negotiation: Yes
    Speed: Unknown! (65535)
    Duplex: Unknown! (255)
    Port: FIBRE
    PHYAD: 0
    Transceiver: external
    Auto-negotiation: on
    Supports Wake-on: d
    Wake-on: d
    Current message level: 0x00000007 (7)
    Link detected: no

[root@er ~]# cat /etc/modprobe.conf
...
alias eth2 ixgbe
alias eth3 ixgbe
alias bond0 bonding
options bond0 mode=4 miimon=100

[root@er ~]# modinfo ixgbe
filename:       /lib/modules/2.6.18-164.el5/kernel/drivers/net/ixgbe/ixgbe.ko
version:        3.11.33
license:        GPL
description:    Intel(R) 10 Gigabit PCI Express Network Driver
author:         Intel Corporation, <linux.nics@intel.com>
srcversion:     739E88C99BF8038F878AE91
...

[root@er ~]# cat /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
IPADDR=192.168.100.23
NETMASK=255.255.255.0
NETWORK=192.168.100.0
GATEWAY=192.168.100.1
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
IPV6INIT=no
[root@er ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE=eth2
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
HWADDR=90:e2:ba:37:41:28
[root@er ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth3
DEVICE=eth3
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
HWADDR=90:e2:ba:37:41:29

[root@er ~]# uname -a
Linux er.dve.intern 2.6.18-164.el5 #1 SMP Thu Sep 3 03:28:30 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux

[root@er ~]# tail /var/log/messages
Feb 25 18:11:42 er kernel: ixgbe 0000:0a:00.0: eth2: NIC Link is Down
Feb 25 18:11:42 er kernel: bonding: bond0: link status definitely down for interface eth2, disabling it
Feb 25 18:11:43 er kernel: ixgbe 0000:0a:00.1: eth3: NIC Link is Down
Feb 25 18:11:43 er kernel: bonding: bond0: link status definitely down for interface eth3, disabling it
Feb 25 18:11:43 er kernel: bonding: bond0: Warning: No 802.3ad response from the link partner for any adapters in the bond

Ваш вывод показывает, что ethtool считает, что оба ваших интерфейса не работают (как и модуль связывания). Google "bonding.txt" и прочтите документацию по связыванию ядра, особенно раздел 7 (и 7.3) о мониторинге ссылок. Поскольку кажется, что ethtool не может определить, действительно ли ваш интерфейс работает, и, следовательно, драйвер связывания тоже не может, возможно, попытка с 'use_carrier = 0' поможет? Или пробовать режим мониторинга arp вместо miimon?

РЕДАКТИРОВАТЬ: Мои извинения, я думаю, что я неправильно прочитал ваш вопрос ... похоже, что ваша команда выводится за период времени, когда у вас были отключены сетевые адаптеры, и вам интересно, почему bond0 все еще говорит, что это работает? Я не знаю ничего полезного для этого. Я по-прежнему рекомендую bonding.txt как библию для всего, что связано с "linux + bonding" :)

Ты прав, когда оба раба упали, ethtool bond0 должен сообщить Link detected: no.

Попробуйте последнее ядро. Было бесчисленное количество обновлений bonding и ixgbe поскольку 2.6.18-164 был выпущен еще в 2009 году. Подобная базовая коррекция состояния ссылок, вероятно, уже исправлена.

Я также предлагаю придерживаться встроенного в ядро ​​драйвера вместо компиляции восходящего драйвера, если у вас нет для этого особых причин.