例:FCoEトラフィックのCoS PFCの設定
プライオリティベースのフロー制御(PFC、IEEE 802.1Qbb で説明)は、イングレスインターフェイスに適用するリンクレベルのフロー制御メカニズムです。PFCにより、1つの物理リンク上のトラフィックを8つの優先度に分割できます。8つの優先度は、キュー(転送クラス)に対応する8つのトラフィックの「レーン」と考えることができます。各優先度は、VLANヘッダーの3ビットIEEE 802.1p CoS値にマッピングされます。
同じリンク上の他のキューのトラフィックを一時停止することなく、任意のキュー内のトラフィックに PFC を選択的に適用できます。ロスレストランスポートを確保するには、FCoEトラフィックにPFCを適用する必要があります。
この例では、FCoEトラフィックにPFCを設定する方法について説明します。
要件
この例では、以下のハードウェアおよびソフトウェアコンポーネントを使用しています。
1つのQFXシリーズスイッチ
サポートされているすべてのJunosリリース
概要
FCoEトラフィックでは、ロスレスパケットトランスポートを確保するためにPFCが必要です。この例では、FCoEトラフィックにPFCを設定する方法、デフォルトのFCoE転送クラスからキューへのマッピングを使用する方法、および以下について説明します。
FCoE転送クラスを、IEEE 802.1pコードポイント011(優先度3)で識別されるFCoEトラフィックに関連付ける分類子を設定します。
FCoEトラフィックにPFCを適用するように輻輳通知プロファイルを設定します。
分類子とPFC設定をイングレスインターフェイスに適用します。
注:インターフェイスでPFCを設定または変更すると、PFCの変更が完了するまでポート全体がブロックされます。PFCの変更が完了すると、ポートのブロックが解除され、トラフィックが再開されます。ポートをブロックすると、イングレストラフィックとエグレストラフィックが停止し、ポートのブロックが解除されるまでポート上のすべてのキューでパケット損失が発生します。
FCoE転送クラス出力キューのCoS帯域幅スケジューリングを設定します。
拡張伝送選択(ETS)階層ポートスケジューリングをサポートするスイッチでは、FCoEフォワーディングクラスを含むフォワーディングクラスセット(優先度グループ)を作成します。これは、拡張伝送選択(ETS)を設定し、データセンターブリッジング(DCB)をサポートするために必要です。
ETSの場合は、FCoE優先度グループの帯域幅スケジューリングを設定します。
設定をイングレスインターフェイスとエグレスインターフェイスに適用します。これを行う方法は、CoS設定にETSとダイレクトポートスケジューリングのどちらを使用するかによって異なります。
直接ポートスケジューリングを行う場合は、スケジューラマップをインターフェイスに直接適用します。スケジューラマップは、スケジューラを転送クラスにマッピングし、スケジューラのCoSプロパティを転送クラスにマッピングされた出力キューに適用します。
ETS階層ポートスケジューリングでは、スケジューラマップをトラフィック制御プロファイルに適用してから、トラフィック制御プロファイルをインターフェイスに適用します。スケジューラマップは、直接ポートスケジューリングの場合と同様に、CoSプロパティを転送クラス(およびそれに関連する出力キュー)にマッピングします。トラフィック制御プロファイルは、CoS プロパティを、転送クラスを含む優先度グループ(転送クラス セットで定義された転送クラスのグループ)にマッピングし、ポート帯域幅を転送クラスのグループ(優先度グループ)に割り当てる CoS 階層を作成し、次に優先度グループの帯域幅を個々の転送クラスに割り当てます。
この例の各インターフェイスは、イングレスインターフェイスとエグレスインターフェイスの両方として機能するため、分類子、混雑通知プロファイル、およびスケジューリングがすべてのインターフェイスに適用されます。
トポロジー
表1は 、この例の設定コンポーネントを示しています。
コンポーネント |
設定 |
|---|---|
ハードウェア |
1つのスイッチ |
動作集約分類子(IEEE 802.1コードポイントにより、FCoE転送クラスを受信パケットにマッピング) |
転送クラス イングレスインターフェイス: |
PFC輻輳通知プロファイル |
|
FCoEキュースケジューラ |
|
クラスからスケジューラへのマッピングの転送 |
スケジューラマップ ダイレクトポートスケジューリングをサポートするスイッチで、ポートスケジューリングを使用する場合、スケジューラマップをインターフェイス |
ETS のみ: フォワーディングクラスセット(FCoE優先度グループ) |
|
ETSのみ: トラフィック制御プロファイル |
ETS階層スケジューリングでは、トラフィック制御プロファイルを( |
図1 は、設定コンポーネントのブロック図と、この例で使用したCLIステートメントの設定フローを示しています。
設定
CLIクイックコンフィグレーション
FCoEトラフィックにPFCを素早く設定するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク構成に合わせて変数や詳細を変更し、[edit]階層レベルのCLIにコマンドをコピー&ペーストしてください。
設定は、ETSとダイレクトポートスケジューリングに共通する設定と、ETSにのみ適用される設定部分と、ポートスケジューリングにのみ適用される設定部分に分かれています。
ETS階層スケジューリングおよびポートスケジューリングに適用される共通設定:
[edit class-of-service] set classifiers ieee-802.1 fcoe-classifier forwarding-class fcoe loss-priority low code-points 011 set congestion-notification-profile fcoe-cnp input ieee-802.1 code-point 011 pfc set interfaces xe-0/0/31 unit 0 classifiers ieee-802.1 fcoe-classifier set interfaces xe-0/0/32 unit 0 classifiers ieee-802.1 fcoe-classifier set interfaces xe-0/0/33 unit 0 classifiers ieee-802.1 fcoe-classifier set interfaces xe-0/0/34 unit 0 classifiers ieee-802.1 fcoe-classifier set interfaces xe-0/0/31 congestion-notification-profile fcoe-cnp set interfaces xe-0/0/32 congestion-notification-profile fcoe-cnp set interfaces xe-0/0/33 congestion-notification-profile fcoe-cnp set interfaces xe-0/0/34 congestion-notification-profile fcoe-cnp set schedulers fcoe-sched priority low transmit-rate 3g set schedulers fcoe-sched shaping-rate percent 100 set scheduler-maps fcoe-map forwarding-class fcoe scheduler fcoe-sched
ETS階層スケジューリングの設定—この例のETS固有の部分では、転送クラスセット(優先度グループ)のメンバーシップ、優先度グループCoS設定(トラフィック制御プロファイル)を設定し、優先度グループとそのCoS設定をインターフェイスに割り当てます。
[edit class-of-service] set forwarding-class-sets fcoe-pg class fcoe set traffic-control-profiles fcoe-tcp scheduler-map fcoe-map guaranteed-rate 3g set traffic-control-profiles fcoe-tcp shaping-rate percent 100 set interfaces xe-0/0/31 forwarding-class-set fcoe-pg output-traffic-control-profile fcoe-tcp set interfaces xe-0/0/32 forwarding-class-set fcoe-pg output-traffic-control-profile fcoe-tcp set interfaces xe-0/0/33 forwarding-class-set fcoe-pg output-traffic-control-profile fcoe-tcp set interfaces xe-0/0/34 forwarding-class-set fcoe-pg output-traffic-control-profile fcoe-tcp
ポートスケジューリングの設定—この例のポートスケジューリング固有の部分では、スケジューラマップ(スケジューラマップ内の転送クラスのCoS処理を設定する)をインターフェイスに割り当てます。
[edit class-of-service] set interfaces xe-0/0/31 scheduler-map fcoe-map set interfaces xe-0/0/32 scheduler-map fcoe-map set interfaces xe-0/0/33 scheduler-map fcoe-map set interfaces xe-0/0/34 scheduler-map fcoe-map
共通設定(ETS階層スケジューリングおよびポートスケジューリングに適用)
ステップバイステップの手順
FCoEトラフィックのイングレス分類子、FCoEトラフィックのFCoEトラフィック上のPFCを設定し、PFCと分類子の設定をインターフェイスに適用し、ETS階層スケジューリングとポートスケジューリングの両方についてキュースケジューリングを設定するには(共通設定)。
分類子を設定して、イングレスで損失の優先度とFCoE転送クラスに割り当てられたIEEE 802.1コードポイントを設定します。
[edit class-of-service] user@switch# set classifiers ieee-802.1 fcoe-classifier forwarding-class fcoe loss-priority low code-points 011
IEEE 802.1コードポイント
011にFCoEを適用して、FCoEキューにPFCを設定します。[edit class-of-service] user@switch# set congestion-notification-profile fcoe-cnp input ieee-802.1 code-point 011 pfc
PFC設定をイングレスインターフェイスに適用します。
[edit class-of-service] user@switch# set interfaces xe-0/0/31 congestion-notification-profile fcoe-cnp user@switch# set interfaces xe-0/0/32 congestion-notification-profile fcoe-cnp user@switch# set interfaces xe-0/0/33 congestion-notification-profile fcoe-cnp user@switch# set interfaces xe-0/0/34 congestion-notification-profile fcoe-cnp
ingressインターフェイスに分類子を割り当てます。
[edit class-of-service] user@switch# set interfaces xe-0/0/31 unit 0 classifiers ieee-802.1 fcoe-classifier user@switch# set interfaces xe-0/0/32 unit 0 classifiers ieee-802.1 fcoe-classifier user@switch# set interfaces xe-0/0/33 unit 0 classifiers ieee-802.1 fcoe-classifier user@switch# set interfaces xe-0/0/34 unit 0 classifiers ieee-802.1 fcoe-classifier
FCoEキューの出力スケジューリングを設定します。
[edit class-of-service] user@switch# set schedulers fcoe-sched priority low transmit-rate 3g user@switch# set schedulers fcoe-sched shaping-rate percent 100
FCoEフォワーディングクラスをFCoEスケジューラにマッピングします。
[edit class-of-service] user@switch# set scheduler-maps fcoe-map forwarding-class fcoe scheduler fcoe-sched
ETS階層スケジューリング設定
ステップバイステップの手順
転送クラスセット(優先度グループ)と優先度グループのスケジューリング(トラフィック制御プロファイル内)を設定し、FCoEトラフィックのETS階層スケジューリングをインターフェイスに適用するには:
FCoEトラフィックの転送クラスセットを設定します。
[edit class-of-service] user@switch# set forwarding-class-sets fcoe-pg class fcoe
FCoE転送クラスセットのトラフィック制御プロファイルを定義します。
[edit class-of-service] user@switch# set traffic-control-profiles fcoe-tcp scheduler-map fcoe-map guaranteed-rate 3g user@switch# set traffic-control-profiles fcoe-tcp shaping-rate percent 100
FCoEフォワーディングクラスセットとトラフィック制御プロファイルをエグレスポートに適用します。
[edit class-of-service] user@switch# set interfaces xe-0/0/31 forwarding-class-set fcoe-pg output-traffic-control-profile fcoe-tcp user@switch# set interfaces xe-0/0/32 forwarding-class-set fcoe-pg output-traffic-control-profile fcoe-tcp user@switch# set interfaces xe-0/0/33 forwarding-class-set fcoe-pg output-traffic-control-profile fcoe-tcp user@switch# set interfaces xe-0/0/34 forwarding-class-set fcoe-pg output-traffic-control-profile fcoe-tcp
ポートスケジューリング設定
ステップバイステップの手順
FCoEトラフィックのポートスケジューリングをインターフェイスに適用するには:
エグレスポートにスケジューラマップを適用します。
[edit class-of-service] user@switch# set interfaces xe-0/0/31 scheduler-map fcoe-map user@switch# set interfaces xe-0/0/32 scheduler-map fcoe-map user@switch# set interfaces xe-0/0/33 scheduler-map fcoe-map user@switch# set interfaces xe-0/0/34 scheduler-map fcoe-map
結果
設定の結果を表示します(システムには明示的に設定されたパラメータのみが表示され、 fcoe ロスレス転送クラスなどのデフォルトパラメータは表示されません)。結果は、ETS 階層スケジューリング設定によるもので、より複雑な設定を示しています。ダイレクトポートスケジューリングの結果には、設定のトラフィック制御プロファイルまたは転送クラスセット部分は表示されず、(転送クラスセットと出力トラフィック制御プロファイルの名前ではなく)各インターフェイスの下にスケジューラマップの名前が表示されますが、それ以外は同じです。
user@switch> show configuration class-of-service
classifiers {
ieee-802.1 fcoe-classifier {
forwarding-class fcoe {
loss-priority low code-points 011;
}
}
traffic-control-profiles {
fcoe-tcp {
scheduler-map fcoe-map;
shaping-rate percent 100;
guaranteed-rate 3000000000;
}
}
forwarding-class-sets {
fcoe-pg {
class fcoe;
}
}
congestion-notification-profile {
fcoe-cnp {
input {
ieee-802.1 {
code-point 011 {
pfc;
}
}
}
}
}
interfaces {
xe-0/0/31 {
congestion-notification-profile fcoe-cnp;
forwarding-class-set {
fcoe-pg {
output-traffic-control-profile fcoe-tcp;
}
}
unit 0 {
classifiers {
ieee-802.1 fcoe-classifier;
}
}
}
xe-0/0/32 {
congestion-notification-profile fcoe-cnp;
forwarding-class-set {
fcoe-pg {
output-traffic-control-profile fcoe-tcp;
}
}
unit 0 {
classifiers {
ieee-802.1 fcoe-classifier;
}
}
}
xe-0/0/33 {
congestion-notification-profile fcoe-cnp;
forwarding-class-set {
fcoe-pg {
output-traffic-control-profile fcoe-tcp;
}
}
unit 0 {
classifiers {
ieee-802.1 fcoe-classifier;
}
}
}
xe-0/0/34 {
congestion-notification-profile fcoe-cnp;
forwarding-class-set {
fcoe-pg {
output-traffic-control-profile fcoe-tcp;
}
}
unit 0 {
classifiers {
ieee-802.1 fcoe-classifier;
}
}
}
}
scheduler-maps {
fcoe-map {
forwarding-class fcoe scheduler fcoe-sched;
}
}
schedulers {
fcoe-sched {
transmit-rate 3000000000;
shaping-rate percent 100;
priority low;
}
}
インターフェイスを迅速に設定するには、 load merge terminal コマンドを発行し、階層をコピーしてスイッチ端末ウィンドウに貼り付けます。
検証
FCoEトラフィックコンポーネントのPFC設定が作成され、正常に動作していることを確認するには、以下のタスクを実行します。
優先順位に基づくフロー制御が有効になっていることの検証
目的
FCoEキューでPFCが有効になっていることを検証して、ロスレストランスポートを有効にします。
アクション
運用モードコマンドを使用して、輻輳通知プロファイルを一覧表示します show class-of-service congestion-notification。
user@switch> show class-of-service congestion-notification
Type: Input, Name: fcoe-cnp, Index: 51697
Cable Length: 100 m
Priority PFC MRU
000 Disabled
001 Disabled
010 Disabled
011 Enabled 2500
100 Disabled
101 Disabled
110 Disabled
111 Disabled
Type: Output
Priority Flow-Control-Queues
000
0
001
1
010
2
011
3
100
4
101
5
110
6
111
7
意味
show class-of-service congestion-notification操作コマンドは、すべての輻輳通知プロファイルと、PFCを有効にしているIEEE 802.1pコードポイントを一覧表示します。コマンド出力は、fcoe-cnp輻輳通知プロファイルのコードポイント011でPFCが有効になっていることを示しています。
このコマンドには、デフォルトのケーブル長(100メートル)、デフォルトの最大受信ユニット(2500バイト)、および出力キューへの優先度のデフォルトマッピングも表示されます。これは、これらのオプションの設定が含まれていないからです。
イングレスインターフェイスPFC設定の検証
目的
分類子 fcoe-classifier と混雑通知プロファイル fcoe-cnp がイングレスインターフェイス xe-0/0/31、 xe-0/0/32、 xe-0/0/33、 xe-0/0/34で設定されていることを確認します。
アクション
次の動作モードコマンドを使用して、イングレスインターフェイスを一覧表示します show configuration class-of-service interfaces。
user@switch> show configuration class-of-service interfaces xe-0/0/31
congestion-notification-profile fcoe-cnp;
unit 0 {
classifiers {
ieee-802.1 fcoe-classifier;
}
}
user@switch> show configuration class-of-service interfaces xe-0/0/32
congestion-notification-profile fcoe-cnp;
unit 0 {
classifiers {
ieee-802.1 fcoe-classifier;
}
}
user@switch> show configuration class-of-service interfaces xe-0/0/33
congestion-notification-profile fcoe-cnp;
unit 0 {
classifiers {
ieee-802.1 fcoe-classifier;
}
}
user@switch> show configuration class-of-service interfaces xe-0/0/34
congestion-notification-profile fcoe-cnp;
unit 0 {
classifiers {
ieee-802.1 fcoe-classifier;
}
}
意味
show configuration class-of-service interfacesコマンドは、インターフェイスにマッピングされた輻輳通知プロファイル(fcoe-cnp)と、インターフェイスに関連付けられたIEEE 802.1p分類子(fcoe-classifier)を一覧表示します。