本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本檔案介紹Cisco Nexus 7000 F248系列(F2/F2e)線路卡輸入捨棄的原因和解決方案。輸入捨棄表示由於擁塞而在輸入佇列中捨棄的封包數。此數字包括尾部丟棄和加權隨機早期檢測(WRED)導致的丟包。
F2線卡將封包排入入口而非出口,並在所有輸入介面上實作虛擬輸出佇列(VOQ),如此一來,擁塞的出口連線埠就不會影響導向其他出口連線埠的流量。在系統中廣泛使用VOQ有助於確保每個出口的最大吞吐量。一個輸出連線埠上的擁塞不會影響目的地為其他輸出介面的流量,因此可避免導致擁塞擴散的線路頭(HOL)封鎖。
VOQ還使用貸記和未貸記流量的概念。單播流量被分類為貸記流量;廣播、組播和未知的單點傳播流量被歸類為不可信流量。不可信流量不使用VOQ,流量在出口而非入口上排隊。如果輸入連線埠沒有將流量傳送到輸出連線埠的信用額,則輸入連線埠會緩衝直到獲得信用額。由於輸入連線埠緩衝區不深,可能會發生輸入捨棄情況。
以下是輸入丟棄的常見原因:
附註:{下一代I/O模組(如F2E、F3和M3)不易受導致SPAN目標埠內嵌和HOLB的入站埠超訂用情況的影響。SPAN }的准則和限制中也會註明這一點
本節提供的資訊可用於對組態進行疑難排解。
附註:使用命令查詢工具(僅供已註冊客戶使用)可獲取本節中使用的命令的更多資訊。
輸出直譯器工具(僅供已註冊客戶使用)支援某些show命令。使用輸出直譯器工具來檢視show命令輸出的分析。
在以下範例中,Ethernet 2/1(Eth2/1)連線了一個主機,該主機接收兩個1Gbps流。Eth2/1運行於1G。Eth2/5和Eth2/9上的兩個流輸入。
使用以下命令檢查介面的速度。如果輸入介面以10Gbps執行,而輸出介面以1Gbps執行,則很可能是HOL封鎖導致捨棄專案。
N7K1# show int eth2/5
Ethernet2/5 is up
admin state is up, Dedicated Interface
------
full-duplex, 1000 Mb/s
------
30 seconds input rate 588237960 bits/sec, 73524 packets/sec
30 seconds output rate 216 bits/sec, 0 packets/sec
Load-Interval #2: 5 minute (300 seconds)
input rate 588.56 Mbps, 73.52 Kpps; output rate 156.11 Mbps, 19.45 Kpps
RX
221333142 unicast packets 0 multicast packets 0 broadcast packets
221333128 input packets 221333169400 bytes
0 jumbo packets 0 storm suppression packets
0 runts 0 giants 0 CRC 0 no buffer
0 input error 0 short frame 0 overrun 0 underrun 0 ignored
0 watchdog 0 bad etype drop 0 bad proto drop 0 if down drop
0 input with dribble 11590977 input discard <-------
0 Rx pause
多次運行此命令,以確定congestion_drop_bytes的值是否增加;x是輸入連線埠的模組編號。
多次運行以下命令以識別虛擬隊列索引(VQI)編號:
attach module <x>
module-x# show hardware internal qengine voq-status |例如「0 0 0 0 0 0 0 0 0 0 0」
或
module-x# show hardware internal qengine inst 2 voq-status non-empty
在VQI上,您將看到非零計數器在不斷移動。在擁塞的連線埠上,計數器的使用時間通常都處於高位。
N7K1# attach module 2
Attaching to module 2 ...
To exit type 'exit', to abort type '$.'
module-2# show hardware internal qengine inst 2 voq-status non-empty
VQI:CCOS BYTE_CNT PKT_CNT TAIL HEAD THR
-------- -------- ------- ---- ---- ---
0036:3 6154 3077 6804 14168 1 <------- VQI is 36 here
module-2# show hardware internal qengine voq-status | ex "0 0 0 0 0 0 0 0 0 0 0 0"
VQI:CCOS CLP0 CLP1 CLP2 CLP3 CLP4 CLP5 CLP6 CLP7 CLP8 CLP9 CLPA CLPB
-------- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
0036:3 0 0 0 0 0 0 0 1 0 0 0 0
VQI === 36
一旦您擁有VQI編號,請使用show hardware internal qengine vqi-map命令查詢VQI對映表。檢視插槽編號和低速資料介面(LDI)編號以確定輸出介面。(插槽也稱為模組,LDI也稱為埠。) 該模組基於零,對映函式可用於確定LDI。
module-2# show hardware internal qengine vqi-map
VQI SUP SLOT LDI EQI FPOE NUM XBAR IN ASIC ASIC SV FEA_
NUM VQI NUM NUM NUM BASE DLS MASK ORD TYPE IDX ID TURE
---- --- ---- --- --- ---- --- ----- --- ---- ---- -- ----
--snip
36 no 1 0 0 8 1 0x155 0 CLP 0 0 0x81
--snip
LDI到物理埠對映:
LDI |
連接埠 |
0 |
2 |
1 |
1 |
2 |
3 |
3 |
4 |
4 |
6 |
5 |
5 |
6 |
7 |
7 |
8 |
8 |
10 |
9 |
9 |
10 |
11 |
11 |
12 |
12 |
14 |
13 |
13 |
14 |
15 |
15 |
16 |
16 |
18 |
17 |
17 |
18 |
19 |
19 |
20 |
20 |
22 |
21 |
21 |
22 |
23 |
23 |
24 |
24 |
26 |
25 |
25 |
26 |
27 |
27 |
28 |
28 |
30 |
29 |
29 |
30 |
31 |
31 |
32 |
32 |
34 |
33 |
33 |
34 |
35 |
35 |
36 |
36 |
38 |
37 |
37 |
38 |
39 |
39 |
40 |
40 |
42 |
41 |
41 |
42 |
43 |
43 |
44 |
44 |
46 |
45 |
45 |
46 |
47 |
47 |
48 |
物理埠= Eth 2/2
通過show system internal ethpm info interface Eth2/2驗證VQI和LDI |包括VQI
測試說明中的擁塞埠是2/1,但列出的VQI是e2/2。出現差異的原因是出口緩衝區由埠組共用,該埠組是F2/F2e模組的4個埠組。埠1-4、5-8等是每個埠組的一部分。如果連線埠群組中的任何單一連線埠在輸出方向擁塞,則可能會對輸入連線埠造成背壓,導致輸入捨棄。
如果您繼續注意到輸入丟棄情況,請多次運行以下命令:
在F2e上,有一個硬體內部錯誤計數器,指向具有擁塞出口介面的埠組/asic中第一個埠的VQI。
使用以下命令檢查模組中檢測到擁塞的次數。
N7K2# show hardware internal errors mod 1
|------------------------------------------------------------------------|
| Device:Clipper XBAR Role:QUE Mod: 1 |
| Last cleared @ Wed Jul 10 14:51:56 2013
| Device Statistics Category :: CONGESTION
|------------------------------------------------------------------------|
Instance:1
ID Name Value Ports
-- ---- ----- -----
16227 Num of times congestion detected on VQI 48 0000000000001296 5-8 -
Instance:2
ID Name Value Ports
-- ---- ----- -----
16227 Num of times congestion detected on VQI 48 0000000000000590 9-12 -
Instance:3
ID Name Value Ports
-- ---- ----- -----
16227 Num of times congestion detected on VQI 48 0000000000001213 13-16 -
使用以下命令將VQI對映到物理介面。本示例使用上一個示例中的VQI 48。檢視插槽編號和LDI編號以確定輸出介面。該模組基於零,對映函式可用於確定LDI。
module-1# show hardware internal qengine vqi-map
VQI SUP SLOT LDI EQI FPOE NUM XBAR IN ASIC ASIC SV FEA_
NUM VQI NUM NUM NUM BASE DLS MASK ORD TYPE IDX ID TURE
---- --- ---- --- --- ---- --- ----- --- ---- ---- -- ----
--snip
48 no 0 12 0 3 1 0x155 0 CLP 3 0 0x1
--snip
Module Number = SLOT NUM + 1 (zero-based)
Module Number = 0 + 1 = 1
Physical Port = Eth 1/14 (check the LDI to physical port mapping table)
Validate VQI and LDI via "show system internal ethpm info interface Eth1/14 | include VQI"
雖然VQI 48對映到Eth1/13,但請注意,埠組/asic中的第一個埠上報告了擁塞。由於一個埠組/asic中有四個埠,因此使用next命令顯示該埠組/asic中看到擁塞的實際介面。
使用以下命令以顯示實際輸出介面,此介面會在上例的VQI 48一部分的連線埠群組/asic上看到擁塞。
N7K2# show hardware queuing drops egress module 1
VQ Drops
--------------------------------------------------------------------------------
| Output | VQ Drops | VQ Congestion | Src | Src | Input |
| Interface | | | Mod | Inst | Interface |
--------------------------------------------------------------------------------
| Eth1/14 | 0000000000000000 | 0000000000001296 | 1 | 1 | Eth1/5-8 |
| Eth1/14 | 0000000000000000 | 0000000000000590 | 1 | 2 | Eth1/9-12 |
| Eth1/14 | 0000000000000000 | 0000000000001213 | 1 | 3 | Eth1/13-16 |
| Eth1/14 | 0000000000000000 | 0000000000000536 | 2 | 1 | Eth2/5-8 |
| Eth1/14 | 0000000000000000 | 0000000000000009 | 2 | 2 | Eth2/9-12 |
| Eth1/14 | 0000000000000000 | 0000000000000262 | 2 | 3 | Eth2/13-16 |
--------------------------------------------------------------------------------