目錄

簡介

本檔案介紹如何對Nexus 9000雲端規模系列的連結聚合控制通訊協定(LACP)進行疑難排解。

必要條件

需求

思科建議您瞭解以下主題：

- LACP協定

- NXOS平台

- ELAM瞭解

- Ethanalyzer瞭解

採用元件

名稱

平台

版本

N9K1

N9K-C93108TC-EX

9.3(10)

N9K2

N9K-C93108TC-EX

9.3(10)

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

拓撲

檢驗LACP鏈路狀態

附註：映像1.1 LACP鏈路狀態。

配置LACP:

N9K1

N9K2

show run interface port-channel 1 membership

interface port-channel1

switchport

switchport mode trunk

interface Ethernet1/1

switchport

switchport mode trunk

channel-group 1 mode active

no shutdown

interface Ethernet1/2

switchport

switchport mode trunk

channel-group 1 mode active

no shutdown

show run interface port-channel 1 membership

interface port-channel1

switchport

switchport mode trunk

interface Ethernet1/1

switchport

switchport mode trunk

channel-group 1 mode active

no shutdown

interface Ethernet1/2

switchport

switchport mode trunk

channel-group 1 mode active

no shutdown

驗證連線埠通道狀態

N9K1

N9K2

sh port-channel summary interface port-channel 1

Flags:  D - Down        P - Up in port-channel (members)

I - Individual  H - Hot-standby (LACP only)

s - Suspended   r - Module-removed

b - BFD Session Wait

S - Switched    R - Routed

U - Up (port-channel)

p - Up in delay-lacp mode (member)

M - Not in use. Min-links not met

--------------------------------------------------------------------------------

Group Port-       Type     Protocol  Member Ports

Channel

--------------------------------------------------------------------------------

1     Po1(SU)     Eth      LACP      Eth1/1(P)

sh port-channel summary interface port-channel 1

Flags:  D - Down        P - Up in port-channel (members)

I - Individual  H - Hot-standby (LACP only)

s - Suspended   r - Module-removed

b - BFD Session Wait

S - Switched    R - Routed

U - Up (port-channel)

p - Up in delay-lacp mode (member)

M - Not in use. Min-links not met

--------------------------------------------------------------------------------

Group Port-       Type     Protocol  Member Ports

Channel

--------------------------------------------------------------------------------

1     Po1(SU)     Eth      LACP      Eth1/1(P)

附註：最常見的故障場景是Nexus掛起介面，這在LACP掛起介面一節中介紹。

檢驗LACP掛起介面

sh port-channel summary interface port-channel 1

Flags:  D - Down        P - Up in port-channel (members)

I - Individual  H - Hot-standby (LACP only)

s - Suspended   r - Module-removed

b - BFD Session Wait

S - Switched    R - Routed

U - Up (port-channel)

p - Up in delay-lacp mode (member)

M - Not in use. Min-links not met

--------------------------------------------------------------------------------

Group Port-       Type     Protocol  Member Ports

Channel

--------------------------------------------------------------------------------

1     Po1(SD)     Eth      LACP      Eth1/1(s)

sh int e1/1 status

--------------------------------------------------------------------------------

Port         Name           Status     Vlan    Duplex   Speed     Type

--------------------------------------------------------------------------------

Eth1/1       --            suspended   trunk    auto     auto   10Gbase-SR

sh int e1/1

Ethernet1/1 is down (suspended(no LACP PDUs))

admin state is up, Dedicated Interface

Belongs to Po1

Hardware: 100/1000/10000/25000 Ethernet, address: 003a.9c08.68ab (bia 003a.9c08.68ab)

MTU 9216 bytes, BW 10000000 Kbit , DLY 10 usec

reliability 255/255, txload 1/255, rxload 1/255

附註：面對此情況時，Nexus沒有從合作夥伴接收LACP PDU，可以驗證LACP介面計數器，如書面部分：驗證可以採用LACP介面計數器或資料包捕獲(如SPAN或ELAM)(LACP ELAM一節中介紹)。

驗證LACP介面計數器

每台裝置必須以相同的速率傳送和接收LACPDU，埠通道才能啟動。

N9K1

N9K2

sh lacp counters interface port-channel 1

NOTE: Clear lacp counters to get accurate statistics

------------------------------------------------------------------------------

LACPDUs                      Markers/Resp LACPDUs

Port              Sent                Recv                  Recv Sent  Pkts Err

------------------------------------------------------------------------------

port-channel1

Ethernet1/1        445                  445                    0      0    0

Ethernet1/2        445                  445                    0      0    0

sh lacp counters interface port-channel 1

NOTE: Clear lacp counters to get accurate statistics

------------------------------------------------------------------------------

LACPDUs                      Markers/Resp LACPDUs

Port              Sent                Recv                  Recv Sent  Pkts Err

------------------------------------------------------------------------------

port-channel1

Ethernet1/1        445                  445                    0      0    0

Ethernet1/2        445                  445                    0      0    0

驗證LACP執行器狀態位

在每個LACP PDU參與者中，合作夥伴與參與者之間交換參與者狀態資訊。

活動

1:活動模式

0:被動模式

逾時

1:短超時

0:長超時

彙總

1:可聚合

0:個人

同步

1:同步

0:不同步

正在收集

1:已啟用收集

0:已禁用收集

分發

1:  已啟用分發

0:已禁用分發

已預設

1:  對合作夥伴使用預設值

0:為合作夥伴使用rx LACPDU

已到期

1:合作夥伴PDU已過期

0:未過期

附註：表2.0參與者狀態位元含義

驗證LACP狀態十六進位制值：

附註：影象3.0 LACP狀態從二進位轉換為十六進位

驗證LAG ID

鏈路聚合識別符號是同一埠通道的每個物理介面成員共用的資訊，顯示為一個虛擬介面。 可以使用命令進行檢驗。

N9K1 LAG ID

N9K2 LAG ID

sh lacp interface e1/1 | include iignore  local|lag

Lag Id: [ [(1770, a8-c-d-96-43-7f, 5, 8000, 1c9), (1770, a8-c-d-96-c9-bf, 5, 8000, 1c9)] ]

Local Port: Eth1/1 MAC Address=a8-c-d-96-c9-bf

sh lacp interface e1/2 | include iignore  local|lag

Lag Id: [ [(1770, a8-c-d-96-43-7f, 5, 8000, 1ca), (1770, a8-c-d-96-c9-bf, 5, 8000, 1ca)] ]

Local Port: Eth1/2 MAC Address=a8-c-d-96-c9-bf

sh lacp interface e1/1 | include iignore  local|lag

Lag Id: [ [(1770, a8-c-d-96-c9-bf, 5, 8000, 1c9),(1770, a8-c-d-96-43-7f, 5, 8000, 1c9)] ]

Local Port: Eth1/1 MAC Address=a8-c-d-96-43-7f

sh lacp interface e1/2 | include iignore  local|lag

Lag Id: [ [(1770, a8-c-d-96-c9-bf, 5, 8000, 1c9),(1770, a8-c-d-96-43-7f, 5, 8000, 1c9)] ]

Local Port: Eth1/2 MAC Address=a8-c-d-96-43-7f

檢驗LACP PDU交換

在某些情況下，即使Nexus以正確的速率交換LACP PDU，埠通道也不會啟動。

這可能是由於LACP協商失敗。

下表顯示了一個連線埠通道正常運作的LACP交易的範例。

1

N9K1演員

N9K2合作夥伴

- N9K1傳送帶有狀態位的使用者資訊的LACP。

- 由於N9K1沒有收到來自合作夥伴的任何LACP PDU，因此合作夥伴資訊為0。

2

N9K1合作夥伴

N9K2演員

- N9K2從N9K1接收資訊。

- N9K2向LACP PDU傳送其資訊和確認N9K1資訊。

3

N9K1演員

N9K2合作夥伴

- N9K1確認N9K2資訊。

4

N9K1合作夥伴

N9K2演員

- N9K2收到來自N9K1的確認。

- N9K2傳送LACP PDU，在1新增同步位。

5

N9K1演員

N9K2合作夥伴

- N9K1確認來自N9K2的SYNC位。

- N9K1將第1位的SYNC位新增到LACP PDU中。

6

N9K1合作夥伴

N9K2演員

- N9K2的N9K1的Acknoledge SYNC位。

- N9K2將1處的Collect位新增到LACP PDU中。

7

N9K1演員

N9K2合作夥伴

- N9K1從N9K2確認Collect位。

- N9K1將收集位新增到其LACP PDU。

8

N9K1演員

N9K2合作夥伴

- N9K1決定已準備好轉換到分發狀態，因此它現在將「超時」位從1（快速）更改為0（慢），並將「分發」位設定為1。

9

N9K1合作夥伴

N9K2演員

- N9k2確認N9k1 PDU並將其Time Out位從1更改為0，並將distribute bit設定為1。

- 目前，兩端nexus都準備在連線埠通道上傳送資料。

10

N9K1演員

N9K2合作夥伴

- N9K1確認來自N9K2的LACP PDU。

- 此時，埠通道全部轉換到上。

驗證LACP FSM日誌

LACP有限狀態機有一個專用的日誌，其中儲存介面LACP狀態的所有事件，LACP PDU可以在此日誌中找到：

sh lacp internal info interface e1/1 detail fsmlog

在新版本中，您還可以使用：

sh lacp internal event-history interface e1/1

第一部分介紹介面LACP轉換

>>>>FSM:

has 61 logged transitions<<<<<

58) FSM:

Transition at 127198 usecs after Mon Aug 14 22:34:42 2023

Previous state: [LACP_ST_WAIT_FOR_HW_TO_PROGRAM_RECEIVE_PATH]

Triggered event: [LACP_EV_PORT_RECEIVE_PATH_ENABLED_AS_CHANNEL_MEMBER_MESSAGE]

Next state: [LACP_ST_PORT_MEMBER_RECEIVE_ENABLED]

59) FSM:

Transition at 127227 usecs after Mon Aug 14 22:34:42 2023

Previous state: [LACP_ST_PORT_MEMBER_RECEIVE_ENABLED]

Triggered event: [LACP_EV_PARTNER_PDU_IN_SYNC_COLLECT_ENABLED_DISTRIBUTING_DISABLED]

Next state: [LACP_ST_WAIT_FOR_HW_TO_PROGRAM_TRANSMIT_PATH]

60) FSM:

Transition at 128265 usecs after Mon Aug 14 22:34:42 2023

Previous state: [LACP_ST_WAIT_FOR_HW_TO_PROGRAM_TRANSMIT_PATH]

Triggered event: [LACP_EV_PERIODIC_TRANSMIT_TIMER_EXPIRED]

Next state: [FSM_ST_NO_CHANGE]

61) FSM:

Transition at 134352 usecs after Mon Aug 14 22:34:42 2023

Previous state: [LACP_ST_WAIT_FOR_HW_TO_PROGRAM_TRANSMIT_PATH]

Triggered event: [LACP_EV_PORT_HW_PATH_ENABLED]

Next state: [LACP_ST_PORT_MEMBER_COLLECTING_AND_DISTRIBUTING_ENABLED]

Curr state: [LACP_ST_PORT_MEMBER_COLLECTING_AND_DISTRIBUTING_ENABLED]

第二部分顯示已傳送或接收的所有LACP PDU資訊。

(1) Send LACP PDU: len:110 at 492243 usecs after Tue Aug 15 00:02:13 2023

01010114 8000f8a7 3a393d6b 80008000 01013d00 00000214 8000f8a7 3a2ea30f

80008000 01013d00 00000310 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 0000

Actor:

info: (8000, f8-a7-3a-39-3d-6b, 8000, 8000, 101)

state:0x0f (Ac-1:To-1:Ag-1:Sy-1:Co-0:Di-0:De-0:Ex-0)

Partner:

info: (8000, f8-a7-3a-2e-a3-f, 8000, 8000, 101)

state:0x0f (Ac-1:To-1:Ag-1:Sy-1:Co-0:Di-0:De-0:Ex-0

(2) Recv LACP PDU: len:124 at 708749 usecs after Tue Aug 15 00:02:12 2023

0180c200 0002f8a7 3a2ea310 88090101 01148000 f8a73a2e a30f8000 80000101

3d000000 02148000 f8a73a39 3d6b8000 80000101 3d000000 03100000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000

Actor:

info: (8000, f8-a7-3a-2e-a3-f, 8000, 8000, 101)

state:0x0f (Ac-1:To-1:Ag-1:Sy-1:Co-0:Di-0:De-0:Ex-0)

Partner:

info: (8000, f8-a7-3a-39-3d-6b, 8000, 8000, 101)

state:0x07 (Ac-1:To-1:Ag-1:Sy-0:Co-0:Di-0:De-0:Ex-0)

附註：請考慮LACP PDU事件歷史時間線從較新的日誌到較舊的日誌，但是LACP狀態事件歷史時間線從較舊的日誌到較新的日誌。

配置和驗證LACP Ethanalyzer

LACP PDU需要由CPU處理，nexus已經安裝在硬體內部訪問清單中，將LACP資料包重定向到CPU，所有LACP PDU都可以通過ethanalyzer進行觀察，以便使用wireshark過濾器「slow」進行過濾。

ethanalyzer local interface inband display-filter "slow and eth.addr==04:76:b0:b2:00:20 and eth.addr==01:80:c2:00:00:02" limit-captured-frames 0

Capturing on inband

2023-07-03 23:37:14.420839 04:76:b0:b2:00:20 -> 01:80:c2:00:00:02 LACP Link Aggregation Control ProtocolVersion 1. Actor Port = 257 Partner Port = 449

Detailed:

Frame 19 (124 bytes on wire, 124 bytes captured)

Arrival Time: Jul 3, 2023 23:38:14.425502000

[Time delta from previous captured frame: 0.836575000 seconds]

[Time delta from previous displayed frame: 11.246799000 seconds]

[Time since reference or first frame: 11.246799000 seconds]

Frame Number: 19

Frame Length: 124 bytes

Capture Length: 124 bytes

[Frame is marked: False]

[Protocols in frame: eth:slow]

Ethernet II, Src: 04:76:b0:b2:00:20 (04:76:b0:b2:00:20), Dst: 01:80:c2:00:00:02 (01:80:c2:00:00:02)

Destination: 01:80:c2:00:00:02 (01:80:c2:00:00:02)

Address: 01:80:c2:00:00:02 (01:80:c2:00:00:02)

.... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast)

.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)

Source: 04:76:b0:b2:00:20 (04:76:b0:b2:00:20)

Address: 04:76:b0:b2:00:20 (04:76:b0:b2:00:20)

.... ...0 .... .... .... .... = IG bit: Individual address (unicast)

.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)

Type: Slow Protocols (0x8809)

Link Aggregation Control Protocol

Slow Protocols subtype: LACP (0x01)

LACP Version Number: 0x01

Actor Information: 0x01

Actor Information Length: 0x14

Actor System Priority: 32768

Actor System: 04:76:b0:b2:00:1f (04:76:b0:b2:00:1f)

Actor Key: 32768

Actor Port Priority: 32768

Actor Port: 257

Actor State: 0x3d (Activity, Aggregation, Synchronization, Collecting, Distributing)

.... ...1 = LACP Activity: Yes

.... ..0. = LACP Timeout: No

.... .1.. = Aggregation: Yes

.... 1... = Synchronization: Yes

...1 .... = Collecting: Yes

..1. .... = Distributing: Yes

.0.. .... = Defaulted: No

0... .... = Expired: No

Reserved: 000000

Partner Information: 0x02

Partner Information Length: 0x14

Partner System Priority: 32768

Partner System: 70:0f:6a:d7:d0:fb (70:0f:6a:d7:d0:fb)

Partner Key: 32768

Partner Port Priority: 32768

Partner Port: 449

Partner State: 0x3d (Activity, Aggregation, Synchronization, Collecting, Distributing)

.... ...1 = LACP Activity: Yes

.... ..0. = LACP Timeout: No

.... .1.. = Aggregation: Yes

.... 1... = Synchronization: Yes

...1 .... = Collecting: Yes

..1. .... = Distributing: Yes

.0.. .... = Defaulted: No

0... .... = Expired: No

Reserved: 000000

Collector Information: 0x03

Collector Information Length: 0x10

Collector Max Delay: 0

Reserved: 000000000000000000000000

Terminator Information: 0x00

Terminator Length: 0x00

Reserved: 000000000000000000000000000000000000000000000000...

配置和驗證LACP Elam

需要識別遠端介面中的第一個mac地址：

N9K2#sh int e1/1 | i i addr

Hardware: 1000/10000/25000/40000/50000/100000 Ethernet, address: 0476.b0b2.0020 (bia 0476.b0b2.0020)

現在，在nexus N9K1上配置了elam。

N9K1#debug platform internal tah elam

N9K1(TAH-elam)#trigger init

N9K1(TAH-elam-insel6)#set outer l2 src_mac 04:76:b0:b2:00:20 dst_mac 01:80:c2:00:00:02 <<<<

為瞭解碼sup重新導向索引，可以執行command sh system internal access-list sup-redirect-stats:

sh system internal access-list sup-redirect-stats | i i 2627

2627 LACP 0

2627 LACP 103