Соединение адаптера Linux Centos6 - Cisco 2960S EtherChannel LACP

Я хочу подключить CentOS 6.4 Linux Box с двумя сетевыми картами к Cisco 2960S, используя агрегацию портов LACP 802.3ad. Это в основном по причинам избыточности (и, надеюсь, более широкое распространение). Мы не используем маркировку VLAN.

С конфигурацией, перечисленной ниже, агрегация ссылок работает только частично. Приблизительно половина сетевых хостов может пропинговать и устанавливать ssh в Linux, тогда как другая половина не может. То же самое верно и для самого Linux-бокса, пинговать можно примерно половину хостов.

Настройка привязки адаптера (или в речи Cisco EtherChannel) не должна быть такой сложной. Но кто-нибудь знает, что здесь не так?

На стороне Linux конфигурация выглядит следующим образом:

cat /etc/modprobe.d/bond.conf 
alias bond0 bonding  

cat /etc/sysconfig/network-scripts/ifcfg-bond0 
DEVICE=bond0
ONBOOT=yes
USERCTL=no
BOOTPROTO=none
NM_CONTROLLED="no"
IPADDR=10.76.161.135
PREFIX=21
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System bond0"
BONDING_OPTS="mode=4 miimon=100 lacp_rate=1"

cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no

cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no

И эти команды я применил к Cisco 2960S:

sw01>enable     
sw01#config term
sw01(config)#int range Gi0/13 - 14
sw01(config-if-range)#description lacp ch2     
sw01(config-if-range)#channel-protocol lacp
sw01(config-if-range)#channel-group 2 mode active
Creating a port-channel interface Port-channel 2
sw01(config-if-range)#no shutdown
sw01(config-if-range)#exit
sw01(config)#interface Port-channel2
sw01(config-if)#description lacp ch2 for ssensvr03
sw01(config-if)#switchport mode access
sw01(config-if)#no shutdown
sw01(config-if)#exit

sw01>show interface description 
Gi0/13                         up             up       lacp ch2
Gi0/14                         up             up       lacp ch2
Po2                            up             up       lacp ch2 for svr03
sw01>show etherchannel summary
Number of channel-groups in use: 1
Number of aggregators:           1

Group  Port-channel  Protocol    Ports
------+-------------+-----------+-----------------------------------------------
2      Po2(SU)         LACP      Gi0/13(P)   Gi0/14(P)   

sw01>show etherchannel 
Group: 2 
----------
Group state = L2 
Ports: 2   Maxports = 16
Port-channels: 1 Max Port-channels = 16
Protocol:   LACP
Minimum Links: 0

2 ответа

Решение

В RHEL и CentOS NetworkManager включен по умолчанию, что вызывает проблемы. Надежно отключите его как root для правильной работы соединения адаптера:

service NetworkManager stop
chkconfig NetworkManager off
chkconfig network on
service network restart

В дополнение к этому удалите lacp_rate=1 от BONDING_OPTS:

BONDING_OPTS="mode=4 miimon=100"

Интересно, если это потому, что вы устанавливаете быстрые LACPDU (lacp_rate=1) на конце соединения Linux, но коммутатор все еще работает в режиме медленных LACPDU по умолчанию (по умолчанию), поэтому связь не согласовывается должным образом.

Если это правильно, вы сможете show etherchannel 2 detail или же show lacp internal на переключателе флаги на группе каналов, вероятно, скажут SA (Медленно активный). Если вы делаете show lacp neigh вы, вероятно, увидите F на конце Linux (быстро).

Чтобы решить эту проблему, просто удалите lacp_rate=1 от твоего BONDING_OPTS и перезагрузите.

Все остальное настроено правильно, хотя вам не нужно alias bond0 bondingсетевые сценарии будут загружать и настраивать драйвер соединения при запуске интерфейса.

Другие вопросы по тегам