ドロップされた 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 転送クラスからキューへのマッピングを使用するようにします。
[edit class-of-service]
階層レベルでdelete forwarding-classes class fcoe queue-num 3
ステートメントを含め、明示的な設定を削除します。その後、システムは FCoE 転送クラスのデフォルト設定を使用し、FCoE トラフィックのロスレス処理を維持します。show class-of-service forwarding-class
操作コマンドを使用して、設定された転送クラスを表示します。[損失なし(No-Loss)] 列には、各転送クラスに対してロスレス トランスポートが有効か無効かが表示されます。FCoE トラフィックに使用される転送クラスでロスレス転送が有効になっていない場合は、転送クラス設定(set class-of-service forwarding-classes class fcoe-forwarding-class-name queue-num queue-number no-loss
)にno-loss
パケットドロップ属性を含めます。
分類子、インターフェイス、輻輳通知プロファイル、PFC、帯域幅スケジューリング設定など、FCoEトラフィックにPFCを設定する手順の詳細については、 例:FCoEトラフィック用のCoS PFCの設定 を参照してください。