例:FCoE トラフィック用の CoS PFC の設定
プライオリティベースのフロー制御(PFC(IEEE 802.1Qbb で説明)は、イングレス インターフェイスに適用するリンクレベルのフロー制御メカニズムです。PFC では、1 つの物理リンク上のトラフィックを 8 つの優先度に分割できます。8 つの優先事項は、キュー(転送クラス)に対応するトラフィックの 8 つの「レーン」と考えることができます。各優先度は、VLAN ヘッダーの 3 ビット IEEE 802.1p CoS 値にマッピングされます。
同じリンク上の他のキューのトラフィックを一時停止することなく、任意のキュー内のトラフィックにPFCを選択的に適用できます。PFC を FCoE トラフィックに適用して、ロスレス トランスポートを保証する必要があります。
この例では、FCoE トラフィックに PFC を設定する方法について説明します。
要件
この例では、次のハードウェアおよびソフトウェア コンポーネントを使用します。
1 台のスイッチ
QFX シリーズ用 Junos OS リリース 11.1 以降
概要
FCoE トラフィックでは、PFC がロスレス パケット トランスポートを保証する必要があります。この例では、FCoE トラフィックで PFC を設定し、デフォルトの FCoE 転送クラスからキューへのマッピングを使用する方法を示しています。
IEEE 802.1p コード ポイント 011(優先度 3)で識別される FCoE 転送クラスを FCoE トラフィックに関連付ける分類子を設定します。
PFC を FCoE トラフィックに適用するように輻輳通知プロファイルを設定します。
分類子と 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 を迅速に設定するには、次のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に合わせて変数と詳細を変更してから、コマンドを [編集] 階層レベルで 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 トラフィックの 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
FCoE を IEEE 802.1 コード ポイント
011に適用して、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
分類子をイングレス インターフェイスに割り当てます。
[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、すべての輻輳通知プロファイルをリストし、どの IEEE 802.1p コード ポイントで PFC が有効になっているかを示します。コマンド出力は、PFC が輻輳通知プロファイルのfcoe-cnpコード ポイント011で有効になっていることを示しています。
この例ではこれらのオプションの設定が含まれていないため、コマンドはデフォルトのケーブル長(100 m)、デフォルトの最大受信単位(2500 バイト)、および出力キューへの優先度のデフォルト マッピングも表示します。
イングレス インターフェイス PFC 設定の検証
目的
分類子fcoe-classifierと輻輳通知プロファイルfcoe-cnpがイングレス インターフェイス、、、xe-0/0/33、xe-0/0/32、 で設定されていることを確認しますxe-0/0/31xe-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。