简介
本文档介绍如何在Nexus 9000和统一计算系统(UCS)服务器之间形成链路汇聚控制协议(LACP)端口通道。
先决条件
要求
本文档没有任何特定的要求。
使用的组件
本文档中的信息基于以下软件和硬件版本:
- 运行版本6.1(2)I(3)3a的Nexus 9300
- 运行思科集成管理控制器(CIMC)版本2.0(3f)的UCS C240 M3系列服务器
- 思科虚拟接口卡(VIC)版本1225
- Red Hat Enterprise Linux版本7.0
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
问题
Nexus 9000无法与UCS服务器形成LACP端口通道。 如果在port-channel上未配置lacp suspend-individual,则它将进入I状态。如果未配置,则由于没有LACP数据单元(LACPDU)而暂停端口。
Nexus 9000上的LACPDU接口计数器显示,传输(Tx)计数器增加,但接收(Rx)计数器不增加。
下面介绍如何在Nexus 9000上配置接入端口并禁用LACP挂起 — 个人:
interface port-channel1019
switchport access vlan 4
no lacp suspend-individual
interface Ethernet1/19
description csm-b-ceph-001
switchport access vlan 4
spanning-tree port type edge
spanning-tree bpduguard enable
spanning-tree guard root
channel-group 1019 mode active
这也可以配置为中继边缘端口;但是,行为没有区别:
Nexus9396X-2# show port-c sum
Flags: D - Down P - Up in port-channel (members)
I - Individual H - Hot-standby (LACP only)
s - Suspended r - Module-removed
S - Switched R - Routed
U - Up (port-channel)
M - Not in use. Min-links not met
--------------------------------------------------------------------------------
Group Port- Type Protocol Member Ports
Channel
--------------------------------------------------------------------------------
1019 Po1019(SD) Eth LACP Eth1/19(I) ----> Indicates No PDUs are being received
如果已启用LACP suspend-individual(默认情况下已启用),则可以将其挂起。但是,原因应与它不从对等设备接收协议数据单元(PDU)的原因相同。
Nexus9396X-2# show lacp interface e1/19
Interface Ethernet1/19 is individual
Channel group is 1019 port channel is Po1019
PDUs sent: 63
PDUs rcvd: 0 ----> Indicates No PDUs are being received from UCS server.
Markers sent: 0
Markers rcvd: 0
Marker response sent: 0
Marker response rcvd: 0
Unknown packets rcvd: 0
Illegal packets rcvd: 0
Lag Id: [ [(0, 0-0-0-0-0-0, 0, 0, 0), (0, 0-0-0-0-0-0, 0, 0, 0)] ]
Operational as aggregated link since Thu Jan 1 00:00:00 1970
Local Port: Eth1/19 MAC Address= 7c-69-f6-10-59-d7
System Identifier=0x8000, Port Identifier=0x8000,0x113
Operational key=33787
LACP_Activity=active
LACP_Timeout=Long Timeout (30s)
Synchronization=IN_SYNC
Collecting=true
Distributing=true
Partner information refresh timeout=Long Timeout (90s)
Actor Admin State=125
Actor Oper State=125
Neighbor: 0x0
MAC Address= 0-0-0-0-0-0
System Identifier=0x0, Port Identifier=0x0,0x0
Operational key=0
LACP_Activity=unknown
LACP_Timeout=Long Timeout (30s)
Synchronization=NOT_IN_SYNC
Collecting=false
Distributing=false
Partner Admin State=0
Partner Oper State=0
Aggregate or Individual(True=1)= 1
Ethanalyzer也不捕获来自对等设备的PDU。但是,从服务器获取的tcpdump表示它发送和接收PDU。
解决方案
实验设置显示,在Nexus 9000上捕获LACPDU时,发现它发送的LACPDU报头为dot1q,如下所示:
但是,VLAN ID设置为0。现在,当您查看虚拟网络接口卡(vNIC)的配置时,您会看到默认情况下将VLAN设置为None,并将VLAN模式设置为access。现在,即使在此模式下,它也会发送带有dot1q报头的LACPDU。但是,Nexus 9000无法识别VLAN 0,因此该数据包被丢弃。 UCS C系列机架式服务器VIC连接选项中记录了此行为。
要完成此操作,您必须将VLAN模式配置为Trunk,并将默认VLAN配置为该端口上允许的VLAN。 要更改此设置,请登录到服务器的CIMC IP地址。
- 单击左侧窗格中的Server选项卡,然后单击Inventory。
- 在右窗格中单击Cisco VIC adapters,然后单击vNICs。
- 选择接口,然后单击Properties。您应该能够在此处进行更改:
- 更改完成后,Save更改。您必须重置服务器以使更改生效。重置后,端口通道应正确形成。
在Nexus 9000、版本6.1(2)I(3)4和7.0(3)I1(1)及更高版本中,它会忽略dot1q报头,数据包将到达Supervisor(SUP)。此行为记录在思科漏洞ID CSCur6968中。
因此,在更新的版本中不应遇到此问题。