Linux Centos6 适配器绑定 - Cisco 2960S EtherChannel LACP

Linux Centos6 适配器绑定 - Cisco 2960S EtherChannel LACP

我想使用 LACP 802.3ad 端口聚合将带有两个 NIC 的 CentOS 6.4 Linux Box 连接到 Cisco 2960S。这主要是为了冗余(并且希望获得更多带宽)。我们不使用 VLAN 标记。

使用下面列出的配置,链路聚合仅部分起作用。大约一半的网络主机可以 ping 和 ssh Linux 机器,而另一半则不能。Linux 机器本身也是如此,大约只有一半的主机可以 ping 通。

设置适配器绑定(或用 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

答案1

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"

答案2

lacp_rate=1我想知道这是否是因为您在绑定的 Linux 端设置了快速 LACPDU( ),但交换机仍在默认的慢速 LACPDU 模式(默认)下运行,因此绑定无法正确协商。

如果这是正确的,您将能够在交换机上执行show etherchannel 2 detail或,通道组上的标志可能会显示(Slow Active)。如果您执行 ,您可能会在 Linux 端看到 (Fast)。show lacp internalSAshow lacp neighF

要解决此问题,只需lacp_rate=1从您的电脑中删除BONDING_OPTS并重新启动即可。

尽管您不需要,但其他所有配置都正确alias bond0 bonding,网络脚本将在启动接口时加载并配置绑定驱动程序。

相关内容