web-dev-qa-db-ja.com

Linux Centos6アダプターボンディング-Cisco 2960S EtherChannel LACP

LACP 802.3adポート集約を使用して、2つのNICを備えたCentOS 6.4 LinuxボックスをCisco 2960Sに接続したいと思います。これは主に冗長性の理由(そしてうまくいけばより多くの帯域幅)のためです。 VLANタグ付けは使用しません。

以下にリストされている構成では、リンクアグリゲーションは部分的にしか機能しません。ネットワークホストの約半分はLinuxボックスにpingとsshを実行できますが、残りの半分は実行できません。 Linuxボックス自体にも同じことが当てはまり、pingできるのはホストの約半分だけです。

アダプターボンディング(またはCisco Speech 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

そして、私がCisco2960Sに適用したこのコマンドは次のとおりです。

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
StackUnderflow

RHELとCentOSではNetworkManagerがデフォルトで有効になっているため、問題が発生します。アダプタのボンディングを正しく機能させるために、rootとして完全に無効にします。

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

これに加えて、lacp_rate=1BONDING_OPTSから削除します。

BONDING_OPTS="mode=4 miimon=100"
3
StackUnderflow

これは、ボンドのLinux側で高速LACPDU(lacp_rate=1)を設定しているのに、スイッチがデフォルトの低速LACPDUモード(デフォルト)で実行されているため、ボンドがネゴシエートされていないためだと思います。正しく。

これが正しい場合は、スイッチでshow etherchannel 2 detailまたはshow lacp internalのいずれかを実行できます。チャネルグループのフラグは、おそらくSA(遅いアクティブ)と表示されます。 show lacp neighを実行すると、Linux側(高速)にFが表示されます。

これを解決するには、lacp_rate=1からBONDING_OPTSを削除して再起動します。

他はすべて正しく構成されていますが、alias bond0 bondingは必要ありませんが、インターフェースの起動時にネットワークスクリプトがボンディングドライバーを読み込んで構成します。

2
suprjami