例: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 転送クラスからキューへのマッピングとを使用する方法を示します。
FCoE転送クラスをFCoEトラフィックに関連付ける分類子を設定します。これは、IEEE 802.1pコードポイント011(優先度3)によって識別されます。
PFCをFCoEトラフィックに適用するために、輻輳通知プロファイルを設定します。
分類子と PFC 設定をイングレス インターフェイスに適用します。
メモ:インターフェイス上でPFCを設定または変更すると、PFCの変更が完了するまでポート全体がブロックされます。PFC の変更が完了すると、ポートのブロックが解除され、トラフィックが再開されます。ポートをブロックすると、イングレストラフィックとエグレストラフィックが停止し、ポートがブロック解除されるまで、ポート上のすべてのキューでパケットロスが発生します。
FCoE転送クラス出力キューのCoS帯域幅スケジューリングを設定します。
ETS(拡張送信選択)階層ポートスケジューリングをサポートするスイッチで、FCoE転送クラスを含む転送クラスセット(優先グループ)を作成します。これは、ETS(拡張伝送選択)を設定し、DCB(データセンターブリッジング)をサポートするために必要です。
ETSの場合、FCoE優先度グループの帯域幅スケジューリングを設定します。
イングレスインターフェイスとエグレスインターフェイスに設定を適用します。この方法は、ETS を使用するか、CoS 設定に直接ポート スケジューリングを使用するかによって異なります。
ポートを直接スケジューリングするには、インターフェイスに直接スケジューラ マップを適用します。スケジューラ マップはスケジューラーを転送クラスにマッピングし、スケジューラの CoS プロパティを転送クラスにマッピングされた出力キューに適用します。
ETS 階層ポート スケジューリングでは、スケジューラ マップをトラフィック制御プロファイルに適用し、トラフィック制御プロファイルをインターフェイスに適用します。スケジューラマップは、CoSプロパティを、ポートの直接スケジューリングと同様に、転送クラス(および関連する出力キュー)にマッピングします。トラフィック制御プロファイルは、CoSプロパティを転送クラスを含む優先グループ(転送クラスセットで定義された転送クラスのグループ)にマッピングし、ポート帯域幅を転送クラスのグループ(優先グループ)に割り当てるCoS階層を作成し、優先グループの帯域幅を個々の転送クラスに割り当てます。
この例の各インターフェイスは、イングレスインターフェイスとエグレスインターフェイスの両方として機能するため、すべてのインターフェイスに分類子、輻輳通知プロファイル、スケジューリングが適用されます。
トポロジ
表 1 は、この例の設定コンポーネントを示しています。
コンポーネント |
設定 |
---|---|
ハードウェア |
1台のスイッチ |
動作集約分類子(IEEE 802.1 コード ポイントによって、FCoE 転送クラスを受信パケットにマッピング) |
転送クラス Ingressインターフェイス: |
PFC 輻輳通知プロファイル |
|
FCoE キュー スケジューラ |
|
転送クラスツースケジューラマッピング |
スケジューラマップ 直接ポート スケジューリングをサポートするスイッチでは、ポート スケジューリングを使用する場合、インターフェイス 、 、 |
ETS のみ:転送クラス セット(FCoE 優先度グループ) |
|
ETS のみ:トラフィック制御プロファイル |
ETS 階層スケジューリングの場合、(キーワードを使用して |
図 1 は、設定コンポーネントのブロック図と、この例で使用した CLI ステートメントの設定フローを示しています。
構成
CLI クイックコンフィギュレーション
PFC を FCoE トラフィックに迅速に設定するには、以下のコマンドをコピーしてテキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に合わせて変数と詳細を変更し、コマンドを [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トラフィックのイングレス分類子を設定するには、ETS階層スケジューリングとポートスケジューリング(一般的な設定)の両方について、PFCと分類子設定をインターフェイスに適用し、キュースケジューリングを設定します。
損失の優先度と、イングレスの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
イングレスインターフェイスに分類子を割り当てます。
[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 設定が作成され、正常に動作していることを確認するには、次のタスクを実行します。
優先度ベースのフロー制御が有効になっていることを確認する
目的
PFCがFCoEキューで有効になっており、ロスレストランスポートを有効にしていることを確認します。
アクション
動作モード コマンド 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 メートル)、デフォルトの最大受信単位(2500 バイト)、および出力キューに対する優先順位のデフォルト マッピングも表示します。この例では、これらのオプションの設定は含まれていないためです。
イングレス インターフェイス PFC 設定の検証
目的
分類子fcoe-classifier
と輻輳通知プロファイルfcoe-cnp
がイングレスインターフェイス 、 、 xe-0/0/32
xe-0/0/33
xe-0/0/34
および で設定されていることを確認します。xe-0/0/31
アクション
動作モードコマンドを使用して、イングレスインターフェイスを一覧表示します 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
)をリストします。