ドロップされた FCoE トラフィックのトラブルシューティング
問題
説明
配信を保証する必要がある FCoE(Fibre Channel over Ethernet)トラフィックは破棄されます。
原因
FCoE トラフィックのドロップにはいくつかの原因が考えられます (考えられる原因のリスト番号は、「ソリューション」セクションの ソリューション のリスト番号に対応しています)。
プライオリティベースのフロー制御(PFC)が、輻輳通知プロファイルの入力スタンザと出力スタンザの両方で FCoE プライオリティ(IEEE 802.1p コード ポイント)で有効になっていません。
FCoE トラフィックがイングレス インターフェイスで正しく分類されない。FCoE トラフィックは、デフォルトの
fcoe
転送クラスと分類子の設定(転送クラスをfcoe
IEEE 802.1p コード ポイント 011 にマッピング)を使用するか、ロスレス転送クラスと入出力インターフェイスの PFC で有効なコード ポイントにマッピングする必要があります。FCoE 優先度で PFC を有効にする輻輳通知プロファイルは、インターフェイスに接続されません。
保証された配信トラフィックに使用される転送クラスセット(プライオリティグループ)には、FCoEトラフィックに使用される転送クラスは含まれません。
メモ:この問題は、拡張伝送選択(ETS)階層ポートスケジューリングをサポートするスイッチでのみ発生する可能性があります。(ダイレクトポートスケジューリングは、転送クラスセットを使用しません。
FCoE キューまたは FCoE キューが属する転送クラス セットに十分な帯域幅が割り当てられていません。
メモ:この問題は、ETS 階層ポートスケジューリングをサポートするスイッチでのみクラスセットを転送する場合に発生する可能性があります。(ダイレクトポートスケジューリングは、転送クラスセットを使用しません。
Junos OSリリース12.2を使用している場合、デフォルトの
fcoe
転送クラス設定(転送クラスからキューへのマッピング)を使用する代わりに、fcoe
転送クラスが明示的に設定されています。メモ:Junos OSリリース12.2を使用している場合、ロスレス
fcoe
クラスおよびno-loss
転送クラスにデフォルトの転送クラスからキューへのマッピングを使用します。ロスレス転送クラスを明示的に設定した場合、これらの転送クラスにマッピングされたトラフィックは損失あり(ベストエフォート)トラフィックとして扱われ、損失なし処理 は受けられません 。Junos OSリリース12.3以降を使用していて、デフォルトの
fcoe
転送クラス設定を使用していない場合、FCoEに使用される転送クラスにはパケットドロップ属性はno-loss
設定されません。Junos OS 12.3以降では、明示的な転送クラスの設定に、ロスレス転送クラスとして扱われるパケットドロップ属性を含めるno-loss
必要があります。
ソリューション
考えられる解決策のリスト番号は、「 原因 」セクションの原因のリスト番号に対応しています。
輻輳通知プロファイル(CNP)をチェックして、入出力インターフェイスの両方で FCoE 優先度(正しい IEEE 802.1p コード ポイント)で PFC が有効になっているかどうかを確認します。
show class-of-service congestion-notification
操作コマンドを使用して、各 CNP の PFC に対して有効になっているコード・ポイントを表示します。デフォルト設定を使用している場合、FCoE トラフィックはコード・ポイント 011(優先順位 3)にマップされます。この場合、CNP の入力スタンザは、PFC がコード・ポイント 011 で使用可能であることを示し、出力スタンザは、優先順位 011 がフロー制御キュー 3 にマップされていることを示す必要があります。
FCoE トラフィックの転送クラスを明示的に設定した場合は、次のことを確認してください。
転送クラス設定でパケットドロップ属性を指定し
no-loss
ましたイングレス分類子で FCoE 転送クラスにマッピングされたコード ポイントは、CNP 入力スタンザで PFC に対して有効なコード ポイントです
FCoE トラフィックに使用されるコードポイントと出力キューは、CNP 出力スタンザで相互にマッピングされます(デフォルトのプライオリティとキューを使用していない場合は、PFC メッセージに応答する各出力キューを明示的に設定する必要があります)
例えば、出力キュー 5 とコード ポイント 101(プライオリティ 5)にマッピングされた FCoE トラフィックの転送クラスを明示的に設定した場合、の出力
show class-of-service congestion-notification
は次のようになります。Name: fcoe_p5_cnp, Index: 12183 Type: Input Cable Length: 100 m Priority PFC MRU 000 Disabled 001 Disabled 010 Disabled 011 Disabled 100 Disabled 101 Enabled 2500 110 Disabled 111 Disabled Type: Output Priority Flow-Control-Queues 101 5
show class-of-service classifier type ieee-802.1p
操作コマンドを使用して、分類子がFCoEトラフィックに使用される転送クラスを正しいIEEE 802.1pコードポイントにマッピングしているかどうかを確認します。輻輳通知プロファイルと分類子が正しいイングレスインターフェイスに接続されていることを確認します。操作コマンド
show configuration class-of-service interfaces interface-name
を使用します。転送クラス セットに、FCoE トラフィックに使用される転送クラスが含まれていることを確認します。操作コマンドを使用して
show configuration class-of-service forwarding-class-sets
、設定されたプライオリティグループとその転送クラスを表示します。FCoE 転送クラスにマッピングされたキューと、FCoE トラフィック キューが属する転送クラス セットに割り当てられた帯域幅の量を確認します。
show configuration class-of-service schedulers scheduler-name
操作コマンド(としてFCoEトラフィックscheduler-name
のスケジューラーを指定します)を使用して、キューの最小保証帯域幅()と最大帯域幅(transmit-rate
shaping-rate
)を確認します。show configuration class-of-service traffic-control-profiles traffic-control-profile
操作コマンド(FCoEトラフィックに使用するトラフィック制御プロファイルをtraffic-control-profile
として指定)を使用して、転送クラスセットの最小保証帯域幅()と最大帯域幅(guaranteed-rate
shaping-rate
)を確認します。明示的な FCoE 転送クラスからキューへのマッピングを削除して、システムがデフォルトの FCoE 転送クラスからキューへのマッピングを使用するようにします。
delete forwarding-classes class fcoe queue-num 3
明示的な設定を削除するには、 階層レベルで ステートメント[edit class-of-service]
を含めます。その後、システムは FCoE 転送クラスのデフォルト設定を使用し、FCoE トラフィックのロスレス処理を維持します。操作コマンドを使用して
show class-of-service forwarding-class
、設定された転送クラスを表示します。 [損失なし(No-Loss )] 列には、各転送クラスに対してロスレス トランスポートが有効か無効かが表示されます。FCoEトラフィックに使用される転送クラスでロスレストランスポートが有効になっていない場合は、転送クラス設定にパケットドロップ属性を含めno-loss
ます(set class-of-service forwarding-classes class fcoe-forwarding-class-name queue-num queue-number no-loss
)。
分類子、インターフェイス、輻輳通知プロファイル、PFC、帯域幅スケジューリング設定など、FCoEトラフィックにPFCを設定する手順の詳細については、 例:FCoEトラフィック用のCoS PFCの設定 を参照してください。