Мы настроили сетевое соединение с помощью сетевого адаптера 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 году. Подобная базовая коррекция состояния ссылок, вероятно, уже исправлена.
Я также предлагаю придерживаться встроенного в ядро драйвера вместо компиляции восходящего драйвера, если у вас нет для этого особых причин.