概要
このドキュメントでは、nexus 7000のポートチャネルでの入力廃棄をトラブルシューティングする方法について説明します。
前提条件
次の項目に関する知識があることが推奨されます。
Nexus 7000 シリーズ スイッチ
Fシリーズラインカード
Link Aggregation Control Protocol(LACP)
背景説明
F3ラインカードは、出力ではなく入力でパケットをキューイングし、すべての入力インターフェイスに仮想出力キュー(VOQ)を実装します。これにより、輻輳した出力ポートが他の出力ポートに向かうトラフィックに影響を与えなくなります。システムでVOQを幅広く使用することで、出力単位で最大スループットを確保できます。1つの出力ポートでの輻輳は、他の出力インターフェイス宛てのトラフィックには影響を与えません。これにより、輻輳が拡大するHead-of-Line Blocking(HOLB)が回避されます。
バーストモードでは、IBが枯渇した場合にPLでドロップが表示されます。メッシュ最適化モードでは、しきい値を超えたためにドロップがVQに移動します。メッシュ最適化により、HOLBドロップを回避
VOQは、クレジットされたトラフィックとクレジットされていないトラフィックの概念も使用します。ユニキャストトラフィックは、クレジットされたトラフィックとして分類されます。ブロードキャスト、マルチキャスト、および不明なユニキャストトラフィックは、クレジットされていないトラフィックとして分類されます。クレジットされていないトラフィックはVOQを使用せず、トラフィックは入力ではなく出力にキューイングされます。入力ポートにトラフィックを出力ポートに送信するクレジットがない場合、入力ポートはクレジットを取得するまでバッファします。入力ポートバッファが深くないため、入力ドロップが発生する可能性があります。
よくある原因
入力廃棄
- 入力廃棄の最も一般的な原因は、F2ラインカードの宛先ポートと、ラインレートを超えるSPANトラフィックを持つスイッチドポートアナライザ(SPAN)がある場合に発生します。最終的に、入力ポートはパケットをバッファリングし、入力廃棄を引き起こします。
注:F2E、F3、およびM3などの次世代I/Oモジュールは、SPAN宛先ポートのオーバーサブスクリプションシナリオによる不廃棄および入力ポートのHOLBの影響を受けません。これは、SPANのガイドラインと制限事項にも記載されています
- 不適切な設計(入力帯域幅が10G、出力帯域幅が1Gなど)により、F2ハードウェア制限(HOLブロッキング)がトリガーされます。
- 複数のポートからのトラフィックが同じインターフェイス(1Gから1Gまたは10Gから10Gのインターフェイス)から出力される場合、ラインレートを超えると、入力ポートで入力廃棄が発生する可能性があります。
- VLANの不一致により、入力廃棄が発生する可能性があります。show interface trunkコマンドを使用して、両方のスイッチが同じVLANを転送していることを確認します。
LACP PDUの損失:
隣接ルータからLACP PDUを受信しない場合、ポートチャネルは一時停止されます。ラインカードは出力ではなく入力でパケットをキューイングし、入力廃棄は輻輳のために入力キューで廃棄されたパケットの数を示します。
- ポートロジック(PL)は、決定エンジンの前のバッファであり、前面パネルポートの後にあります。入力側のPort Logic(LTL;ポートロジック)での輻輳やフロー制御によって、LACP PDUの処理が妨げられるか、遅延して、インターフェイスが中断されます。VLは高優先度の仮想レーンです。輻輳したポートからの優先度の高いVL 5トラフィックがヘッドオブラインブロッキングのシナリオがある場合、VL 5のPLにバックプレッシャが発生し、LACP PDUのドロップが発生する可能性があります。
トラブルシューティング
‘show module’
Mod Ports Module-Type Model Status
--- ----- ----------------------------------- ------------------ ----------
5 0 Supervisor Module-2 N7K-SUP2E active *
6 0 Supervisor Module-2 N7K-SUP2E ha-standby
7 6 100 Gbps Ethernet Module N7K-F306CK-25 ok
8 12 10/40 Gbps Ethernet Module N7K-F312FQ-25 ok
この例では、出力インターフェイス8/6の輻輳により、ポートチャネル10(7/1、7/2および7/5)およびポートチャネル20(7/3、7/4および7,6)での入力廃棄が発生しています。これらの廃棄はHOLブロッキングが原因です。
`show port-channel summary`
--------------------------------------------------------------------------------
Group Port- Type Protocol Member Ports
Channel
--------------------------------------------------------------------------------
10 Po10(RU) Eth LACP Eth7/1(P) Eth7/2(P) Eth7/5(P)
20 Po20(RU) Eth LACP Eth7/3(P) Eth7/4(P) Eth7/6(P)
switch# show interface counter errors
--------------------------------------------------------------------------------
Port InDiscards
--------------------------------------------------------------------------------
Eth7/1 253323164
Eth7/2 253682395
Eth7/3 66785160 >>>>> input discards on interfaces 7/1-6 are incrementing continuously. These interfaces belong to Po10 and Po20 which eventually goes into suspended state with reason “no LACP PDUs received”
Eth7/4 64770521
Eth7/5 258650104
Eth7/6 66533418
Eth8/6 0
Po10 765655663
Po20 198089099
輻輳ポートを判別するには、次の手順を実行します。
VQIでは、ゼロ以外のカウンタは常に移動中でした。輻輳したポートでは、通常、カウンタは常に高い状態を維持します
.
switch# attach mod 7
Attaching to module 7 ...
To exit type 'exit', to abort type '$.'
module-7# show hardware internal qengine voq-status | ex "0 0 0 0 0 0 0 0 0 0 0 0"
+-------------------------------------------------------------------------------
| VOQ Status for Queue Driver
| ports 1-48
VQI:CCOS INST0 INST1 INST2 INST3 INST4 INST5
-------- ----- ----- ----- ----- ----- -----
0:0 0 0 0 0 0 0
0:1 0 0 0 0 0 0
145:6 0 0 0 0 0 0
145:7 0 0 0 0 0 0
146:0 0 0 0 0 0 0
146:1 14d 130 533 79b 258 447
146:2 5 44 7 12 1a 2
146:3 2325 2277 1ae8 1a39 27bc 1902
146:4 0 0 0 0 0 0
146:5 0 0 0 0 0 0
146:6 0 0 0 0 0 0
146:7 0 0 0 0 0 0
147:0 0 0 0 0 0 0
147:1 0 0 0 0 0 0
147:2 0 0 0 0 0 0
147:3 0 0 0 0 0 0
VQIは146です
VQI === 146にはゼロ以外のカウンタがあり、増加を続けています
16進数に変換:
switch# hex 146
0x92
switch# show system internal ethpm info module | egrep -i vqi
LTL(0x36), VQI(0x42), LDI(0), IOD(0x14c)
LTL(0x37), VQI(0x43), LDI(0x1), IOD(0x14d)
LTL(0x38), VQI(0x44), LDI(0x2), IOD(0x14e)
LTL(0x39), VQI(0x45), LDI(0x3), IOD(0x14f)
LTL(0x72), VQI(0x8a), LDI(0xc), IOD(0x62)
LTL(0x76), VQI(0x8e), LDI(0x10), IOD(0x63)
LTL(0x7a), VQI(0x92), LDI(0x14), IOD(0xe6) >>>>>>> VQI 0x92 maps to LTL 0x7a
LTL(0x7e), VQI(0x96), LDI(0x18), IOD(0xe7)
LTL(0x82), VQI(0x9a), LDI(0x1c), IOD(0xe8)
LTL(0x86), VQI(0x9e), LDI(0x20), IOD(0xe9)
pixmマッピングを使用してLTLを物理インタフェースに変換する
PIXMはLTLとFPOEのマッピングを管理し、スイッチを経由するハードウェア転送パスを構築します
switch# show system internal pixm info ltl 0x7a
Member info
------------------
Type LTL
---------------------------------
PHY_PORT Eth8/6 >>>> congested egress interface.
LACP PDUがドロップされているかどうかを確認するには
LACP PDUは高い優先順位のトラフィックであるため、高い優先順位のVL 5トラフィックが輻輳ポートからヘッドオブラインブロッキングでない限り、LACP PDUが廃棄され、入力廃棄によりポートチャネルがダウンすることは想定されません。
高優先度のVL 5トラフィックがドロップされているかどうかを確認するには、コマンド「show hardware queuing drops ingress」を実行します。これにより、該当インターフェイスのVL 5のPLドロップが表示されます
switch# show hardware queuing drops ingress
slot 7
=======
Device: Flanker Queue
PL drops:
SOURCE INTERFACE VL COUNT
-------------------- ----- --------------------------
Eth7/1 5 24437734
Eth7/2 5 24289997
Eth7/3 5 24449567
Eth7/4 5 26084373
Eth7/5 5 27840523
Eth7/6 5 21043740
該当するモジュールに対してコマンド「show hardware internal errors」を実行して、該当するインターフェイスのVL 5ドロップを確認します
switch# show hardware internal errors
`show hardware internal errors`
|------------------------------------------------------------------------|
| Device:Flanker Eth Mac Driver Role:MAC Mod: 7 |
| Device Statistics Category :: ERROR
|------------------------------------------------------------------------|
5236 igr rx pl: cbl drops 0000000000069679 8 -
5282 egr in pl: total rcvd pkts with drop 0000000001951540 8 -
indication from eb
5321 egr out pl: total pkts dropped due to cbl 0000000000034829 8 -
5477 igr PL: bpdu drops(vl5) 0000000000004986 2 - <<<<<<<<<<<
5480 igr PL: nde drops(vl0) 0000000000098993 2 -
5485 igr PL: nde drops(vl5) 0000000002291236 2 - <<<<<<<<<<<
5496 igr PL: Q threshold drop bytecount (vl0) 0000000000344607 2 -
13453 [intr] IPL intr: parser truncated mlh error 0000000000002946 2 -
次のドロップカウンタが増加していることに注目してください
igr PL:bpdu drops(vl5)
igr PL:nde drops(vl5)
解決方法
この問題を解決するには、輻輳が発生していないことを確認します。輻輳が発生している場合は、出力輻輳ポートの帯域幅を増やすか、トラフィックを輻輳ポートに制限します。
既知のバグ
CSCvn97534 このバグにより、出力バッファロックアップが発生し、入力廃棄とポートチャネルフラップが発生します。
参考
Nexus 7000のトラブルシューティング:F2/F2e入力廃棄