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

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

使用下面列出的configuration,链路聚合只能部分工作。 大约一半的networking主机可以ping和ssh Linux的盒子,而另一半则不能。 Linux盒本身也是如此,大约只有一半的主机可以被ping通。

设置适配器绑定(或在思科语音EtherChannel中)不应该那么困难。 但是有没有人知道这里有什么问题?

在Linux方面,configuration看起来像这样:

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 

RHEL和CentOS默认启用了NetworkManager,这会导致麻烦。 永久禁用它作为根,以使您的适配器绑定正常工作:

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

除此之外,从BONDING_OPTS删除lacp_rate=1

 BONDING_OPTS="mode=4 miimon=100" 

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

如果这是正确的,你可以在交换机上show etherchannel 2 detailshow lacp internal ,Channel Group上的标志可能会说SA (Slow Active)。 如果你做一个show lacp neigh你可能会在Linux上看到F (Fast)。

要解决这个问题,只需从lacp_rate=1删除lacp_rate=1并重新启动即可。

其他的configuration都是正确的,虽然你不需要alias bond0 bonding ,但是networking脚本会在启动接口的时候加载和configurationbonding驱动。