簡介
本檔案將說明在Nexus 7000系列交換器上將M1父卡使用光纖通路擴充模組(FEX)時,如何排解由於配光箱(LDB)分配失敗而暫停的VLAN的疑難。
必要條件
需求
本文件沒有特定需求。
採用元件
本檔案中的資訊是根據以下軟體和硬體版本:
- Cisco NX-OS版本6.2(x)
- Cisco Nexus 7000系列交換器
- Cisco Nexus 2000系列光纖通路擴充模組
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
背景資訊
LDB是一個硬體表,它儲存轉發引擎接收的幀的屬性,包括FEX埠通道的中繼到VLAN對映。失敗的LDB分配表示此資料庫已用盡。
當FEX模組連線到N7K-M132XP-12(非XL)時,LDB條目的最大數量約為228k。對於XL模組,限制大約為512K。
總LDB條目是在每個FEX HIF上定義的VLAN範圍的總和(在HIF上定義的最高和最低VLAN之間的差異)。
例如:
switchport trunk allowed vlan 1-4 = 4 LDB條目
switchport trunk allowed vlan 1-4, 70-80, 800 = 800 LDB條目
switchport trunk allowed vlan 200-800 = 600 LDB條目
switchport trunk allowed vlan 200, 800 = 600 LDB條目
如果埠101/1/1到101/1/10配置了switchport trunk allowed vlan 200,則800消耗的LDB條目總數為6000(10x600)。
存取連線埠消耗一個LDB專案(在HIF上定義的存取VLAN)。
使用以下命令檢查每個模組的LDB條目:
N7K-A# attach mod 1
Attaching to module 1 ...
To exit type 'exit', to abort type '$.'
module-1#
module-1# show system internal eltmc info ldb summary
LDB allocation summary:
Max dynamic ldb entries: 203776
Total number of entries: 199680
Number of free entries: 197
Number of free regions: 2
Number of allocated entries: 199483
Number of allocated regions: 280
Number of fail allocations: 21
[an error occurred while processing this directive]
在此示例中,有21個LDB分配失敗。由於雜湊機制用於將特定條目雜湊到資料庫的特定部分,因此條目總數無需達到最大動態LDB條目數即可看到分配失敗。
此輸出顯示每個埠通道或介面使用的LDB條目數(十六進位制):
module-1# show system internal eltmc info ldb all
LDB allocation maps :
base size allocation
0xd400 0x1000 Shared
0xe400 0x1000 Shared
0xf400 0x1000 Shared
0x10400 0x1000 Ethernet1/4
0x11400 0x1000 Ethernet1/7
0x12400 0x1 Ethernet179/1/30
0x12401 0x1 port-channel1093
0x12402 0x1 port-channel1564
0x12403 0x1 port-channel1550
0x12404 0x1 port-channel1527
0x12405 0x1 port-channel1546
0x12426 0x1 Ethernet169/1/47
0x12427 0x1 Ethernet169/1/48
0x12428 0x1 Ethernet181/1/33
0x12429 0x1 Ethernet181/1/34
0x1242a 0x1 Ethernet163/1/4
0x1242b 0x1 Ethernet163/1/5
0x1242c 0x506 Ethernet183/1/7
0x12932 0x1 port-channel1096
0x12933 0x1 port-channel1095
0x12934 0x1 port-channel1092
0x12935 0x2c8 port-channel1084
0x12bfd 0x506 Ethernet183/1/8
0x13103 0x2c8 port-channel1086
0x133cb 0x1 port-channel1589
0x133cc 0x1 port-channel1063
0x133cd 0x1 port-channel1654
0x133ce 0x1 port-channel1652
0x133d4 0x1 port-channel1520
0x133d5 0x1 port-channel1560
0x133d6 0x1 port-channel1561
0x133d7 0x506 Ethernet167/1/4
0x138dd 0x506 Ethernet167/1/2
0x13de3 0x403 Ethernet165/1/2
0x141e6 0x403 Ethernet151/1/1
<snip>
[an error occurred while processing this directive]
附註:以上兩個命令在NX-OS 6.0.3和5.2.4中為N7K-M132XP-12(非XL)提供錯誤的LDB值。
NX-OS 5.2.5和6.1將更正此問題。
問題:在帶有連線的Nexus 2000交換矩陣擴展器的Nexus 7000上,由於LDB分配失敗,VLAN進入掛起狀態。
症狀:
1.日誌中的錯誤消息指示LDB分配失敗
2015 Feb 3 00:01:27.260 N7k1 %ETHPORT-5-IF_SEQ_ERROR: Error ("LDB Allocation Failed") communicating with MTS_SAP_ELTM for opcode MTS_OPC_ETHPM_PORT_LOGICAL_BRINGUP (RID_PORT: port-channel1001)
2015 Feb 3 00:01:27.261 N7k1 %ETHPORT-3-IF_ERROR_VLANS_SUSPENDED: VLANs 268,1261-1262,1268 on Interface port-channel1001 are being suspended. (Reason: LDB Allocation Failed)
[an error occurred while processing this directive]
2.連線到FEX的多台主機連線丟失
3. show interface status err-vlan的輸出顯示VLAN因LDB分配失敗而掛起
N7kA# show interface status err-vlans
--------------------------------------------------------------------------------
Port Name Err-Vlans Status
--------------------------------------------------------------------------------
Po1001 ***dcn2pclx01a** 268,1261-1262,1268 LDB Allocation
*LOG Failed
[an error occurred while processing this directive]
解決方案
這是與線路卡相關的硬體限制,因此軟體升級無法解決此問題。
建議從HIF修剪VLAN或減少FEX HIF上的VLAN範圍,以減少LDB條目總數。
每個介面上的每個VLAN例項將使用LDB條目(例如,如果portchannel 1定義了100個VLAN,並且在portchannel中有四個物理埠,則使用的LDB條目總數將為每個埠400個100個例項)。