はじめに
このドキュメントでは、Cisco Multilayer Data Switch(MDS)9000 シリーズのファイバ チャネル(FC)ポートで発生する問題とその解決方法について説明します。
問題
リンク イベント ログにこのように表示されます:
*************** Port Config Link Events Log ***************
---- ------ ----- ----- ------
Time PortNo Speed Event Reason
---- ------ ----- ----- ------
...
Jul 28 00:46:39 2012 00670297 fc11/25 --- DOWN LR Rcvd B2B
LR Rcvd B2B(または Link failure Link Reset failed nonempty recv queue)メッセージは、ポートに接続されたデバイスが MDS にリンク リセット(LR)を伝送したが、ポートの内部輻輳のために MDS がリンク リセット応答(LRR)で応答しないことを示します。接続されたデバイスから受信した、キューイングされたパケットがポートに存在しますが、MDS は適切な出力ポートにこれらを配信できません。これらは入力ポートで引き続きキューイングされているため、MDS は LRR を返送できず、リンクが失敗します。
これらのエラー メッセージは、前のイベント ログに付随しています:
%PORT-2-IF_DOWN_LINK_FAILURE: %$VSAN 93%$
Interface fc11/25 is down (Link failure)
%PORT-5-IF_DOWN_LINK_FAILURE: %$VSAN 100%$
Interface fc5/32 is down (Link failure Link Reset
failed nonempty recv queue)
注:このシナリオは、MDSからFCデバイスに付与されるバッファクレジット数が3で、FCデバイスのパケットが出力FCポートにスイッチングされることを前提としています。
MDS
FC Port FC Port
(Egress) Arbiter (Ingress) FC device
-------- ------- --------- ---------
1) <------- FC packet 1
2) <--- Grant Request
3) Grant------------>
4) <---------------FC packet 1
5) R_Rdy--------> Tx B2B=3
6) <------- FC packet 2 Tx B2B=2
7) <---- Grant Request
8) <------- FC packet 3 Tx B2B=1
9) <---- Grant Request
10) <------- FC packet 4 Tx B2B=0
11) <---- Grant Request
12) Time lapses - Variable depending on attached HBA type
13) <--------Link Reset(LR)
14) Start 90ms "LR Rcvd B2B" timer
15) "LR Rcvd B2B" timer expires
16) <--------NOS-------->
説明
この項では、前の出力について説明します:
- FC デバイスが、出力ポートに向けて FC パケットを入力ポートに伝送します。
- MDS 入力ライン カード(LC)ポートは宛先インデックス(DI)を判別し、アクティブ スーパーバイザ上のアービタ(Bellagio2)に付与要求を伝送します。
- アービタは入力ポートに「付与」を送り返し、これによって XBAR を介して出力ポートに FC パケット 1 を伝送する許可が得られます。
- 入力 LC は XBAR を介して出力ポートに FC パケット 1 を伝送します。 これにより入力バッファが使用可能になります。
- 入力ポートは R_RDY を FC デバイスに送り返し、これによってクレジットが補充されます。
注:最初の5つの手順は、輻輳が発生していない場合に一般的に実行されます。ここで、出力ポート キューが満杯で、パケットをこれ以上受信できないと仮定します。
- FC デバイスは出力ポートに向けて FC パケット 2 を入力ポートに伝送します。
- MDS 入力 LC ポートは DI を判別し、アクティブ スーパーバイザ上のアービタ(Bellagio2)に付与要求を伝送します。
- FC デバイスは出力ポートに向けて FC パケット 3 を入力ポートに伝送します。
- MDS 入力 LC ポートは DI を判別し、アクティブ スーパーバイザ上のアービタ(Bellagio2)に付与要求を伝送します。
- FC デバイスは出力ポートに向けて FC パケット 4 を入力ポートに伝送します。
- MDS 入力 LC ポートは DI を判別し、アクティブ スーパーバイザ上のアービタ(Bellagio2)に付与要求を伝送します。
- 接続された HBA のタイプによって経過時間が異なります。
- その後、Tx B2B=0 において FC デバイスがクレジット喪失リカバリを開始し、リンク リセット(LR)を伝送します。
- 入力ポートは LR を受信するときに入力バッファを検査し、少なくとも 1 つのパケットがキューイングされていることを判別します。次に、90 ms の LR Rcvd B2B タイマーを開始します。
- 「付与」が受信され、3 つの FC パケットが出力ポートに伝送されると、LR Rcvd B2B タイマーがキャンセルされ、リンク リセット応答(LRR)が FC デバイスに返送されます。ただしこの場合、出力ポートは輻輳したままで、3 つの FC パケットは入力ポートに引き続きキューイングされます。LR Rcvd B2B タイマーの期限が切れて、LRR は FC デバイスに返送されません。
- 入力ポートと FC デバイスの両方が、「機能していないシーケンス」の伝送を介してリンク障害を開始します。
解決方法
LR Rcvd B2B または Link failure Link Reset failed nonempty recv queue メッセージを伴ってリンクが失敗した場合、障害が生じたポートは低速ドレインの原因ではなく、単に低速/停滞ポートの影響を受けただけです。リンク障害の原因となった低速/停滞ポートを特定するには、次の手順を行います。
- 前述の問題のために失敗する複数のリンクがあるかどうかを判別します。 複数のリンクがほぼ同時に失敗する場合、すべてのポートが共通の出力ポートにパケットを送ろうとすることが問題の原因である可能性があります。
- VSAN ゾーン分割データベースを調べて、隣接 FC デバイスがどのデバイスとともにゾーン設定されているかを確認します。これらを出力 E またはローカル F ポートにマップします。出力 E ポートにマップするには、show fspf internal route vsan <vsan> domain <dom> コマンドを使用します。ローカル F ポートにマップするには、show flogi database vsan <vsan> コマンドを使用します。LR Rcvd B2B メッセージを伴って失敗するリンクが複数存在する場合は、見つかった入力 E またはローカル F ポートを結合してオーバーラップを調べます。オーバーラップが低速/停滞ポートの原因であると考えられます。
- ステップ 2 で見つかったポートを調べて、低速ドレインの兆候がないか確認します。次に例を示します。
- クレジット喪失(AK_FCP_CNTR_CREDIT_LOSS / FCP_SW_CNTR_CREDIT_LOSS)
- 100 ms Tx B2B ゼロ(AK_FCP_CNTR_TX_WT_AVG_B2B_ZERO / FCP_SW_CNTR_TX_WT_AVG_B2B_ZERO)
- タイムアウト破棄(AK_FCP_CNTR_LAF_TOTAL_TIMEOUT_FRAMES / THB_TMM_TOLB_TIMEOUT_DROP_CNT / F16_TMM_TOLB_TIMEOUT_DROP_CNT)
- 低速ポートが出力 E ポートであると判別された場合は、FSPF ネクストホップ インターフェイスで示される隣接スイッチで低速ドレインのトラブルシューティングを続けます。
- 低速/停滞ポートが FCIP リンクまたはポート チャネルであると判別された場合は、FCIP リンクを調べて、IP 再伝送または他の問題の兆候(リンク障害など)がないか確認します。問題を調査するには show ips stats all コマンドを入力します。
設定オプション
次の 2 つのシステム設定オプションがあります。
関連情報