キューイングとスケジューリングの構成

キューイングおよびスケジューリング

キューイングおよびスケジューリングのプロセスにより、ネットワーク トラフィックを管理するための堅牢なフレームワークが提供され、データがネットワーク全体でスムーズかつ効率的に流れることが保証されます。これを実現するために、次のセクションで説明するように、トラフィック キューイング、トラフィック スケジューリング、トラフィック シェーピング、輻輳回避、および輻輳管理サービスが使用されます。

トラフィック キューイング

トラフィック キューイングは、入力と出力データの両方のパケットの注文が関与しています。デバイスは、異なるトラフィック クラス内のパケット シーケンシングを制御するために複数のキューをサポートできます。これは、ネットワークを通過するデータ フローを管理し、パケットが順序正しく処理されるようにするために重要です。

トラフィック スケジューリング

トラフィックのスケジューリングとは、トラフィックの一貫したフローを実現するために、パケットを必要な頻度で定期的に出力することです。トラフィックのスケジューリングをさまざまなトラフィック クラスに適用することで、プライオリティによってトラフィックに重み付けを行うことができます。

クラス マップの変更


(注)  


提供されるシステム定義のキューイング クラス マップを変更することはできません。


  • デフォルトの動作:デフォルトでは、すべてのネットワーク トラフィックが qos-group 0 と呼ばれる 1 つのカテゴリにグループ化されます。これは、特定の構成がなければ、すべてのトラフィックが同じように扱われることを意味します。

  • [システム定義クラス(System-Defined Classes)]:これらは、さまざまなタイプのトラフィックの処理方法を管理する事前定義されたカテゴリです。直接変更することはできません。

  • ポリシー処理

    • 特定のキュー グループを構成できるタイプ キューイング ポリシーを作成できます。詳細については、タイプ キューイング ポリシーの構成を参照してください。

    • タイプ QoS ポリシーを使用して異なる qos-group にトラフィックを割り当てる場合は、帯域幅の再割り当てなど、特定のニーズを満たすためにこれらのシステム定義のポリシーをさらに調整する必要があります。

ポリシー マップとクラス マップの設定の詳細については、「モジュラ QoS コマンドライン インターフェイス(CLI)の使用」の章を参照してください。

トラフィック シェーピング

トラフィック シェーピングは、インターフェイスを離れるトラフィックのフローを制御して、リモート ターゲット インターフェイスの速度と一致させ、契約されたポリシーを遵守するために使用される手法です。このプロセスは、パケット フローを調整し、スムーズにすることで、データ レートの不一致によって発生したボトルネックを解消します。重要な側面は次のとおりです:

  • [最大トラフィックレート(Maximum Traffic Rate)]:各ポートの出力キューのトラフィックレートに制限を課し、このしきい値を超えるパケットをバッファリングしてパケット損失を最小限に抑えます。

  • トラフィックポリシングとの比較:トラフィック シェーピングは、パケットをドロップするのではなくバッファすることで、TCP トラフィックの動作を改善します。

  • [帯域幅制御(Bandwidth Control)]:使用可能な帯域幅を制御できます。トラフィックがシェーパー レートに準拠するようにし、特定のターゲット インターフェイスの過剰な出力トラフィックを回避します。

  • キュー長のしきい値(Queue Length Thresholds):キュー長を効果的に管理するため、重み付けランダム早期検出(WRED)を使用して構成されます。

輻輳回避

次の方式を使用して、デバイス上のトラフィックの輻輳を予防的に回避できます。

  • TCP または非 TCP トラフィックに WRED を適用します。

  • TCP または非 TCP トラフィックにテール ドロップを適用します。

輻輳管理

輻輳管理では、次の方法を使用して、キューがしきい値を超えた場合の輻輳を防止することで、ネットワーク パフォーマンスを維持します。

  • 明示的な混雑通知(ECN)(Explicit Congestion Notification)

  • Approximate Fair Drop

  • 重み付けランダム早期検出

輻輳管理の設定の詳細については、「出力キューでの WRED の設定」 の項を参照してください。

明示的な混雑通知(ECN)(Explicit Congestion Notification)

Explicit Congestion Notification(ECN)は WRED の拡張で、平均キュー長が特定のしきい値を超えた場合にパケットをドロップせずにマーキングします。これは、ルータやエンド ホストに輻輳を通知し、パケット伝送を遅くするように促すのに役立ちます。

Approximate Fair Drop

近似フェア ドロップ(AFD)は、輻輳時に長寿命の大規模フロー(エレファント フロー)に作用するアクティブ キュー管理(AQM)アルゴリズムで、短フロー(マウス フロー)には影響しません。

輻輳が発生すると、AFD アルゴリズムは、大規模なフローから確率的にパケットをドロップし、短いフローには影響を与えずに、設定されたキューの望ましい値でキューの占有率を維持します。

ECN は、パケットをドロップする代わりに輻輳状態をマーキングするために、特定のトラフィック クラスで AFD と有効にできます。


(注)  


AFD アルゴリズムは、エレファント フローとして認定されたフローにのみ適用できます。マウス フローは保護されており、AFD ドロップの影響を受けません。


AFD ユーザ プロファイル

AFD では次の 3 つのユーザ プロファイルが提供されます。

  • メッシュ(アグレッシブ)

    AFD および ETRAP タイマーはアグレッシブに設定されているため、キューの深さはそれほど大きくなく、キューの望ましい値の近くに維持されます。

  • バースト(デフォルト)

    AFD および ETRAP タイマーはアグレッシブでもコンサバティブでもないため、キューの深さがキューの望ましい値の近くにあることが確認できます。

  • ウルトラバースト(コンサバティブ)

    AFD タイマーと ETRAP タイマーはコンサバティブに設定されているため、より多くのバーストが吸収され、キューの深さの変動がキューの望ましい値の周辺で確認されます。

これらのプロファイルは、ETrap および AFD タイマーを、非常にバースト性のあるトラフィックまたはそれほどバースト性のないトラフィックなど、さまざまなトラフィック プロファイルに対して事前に設定された値に設定します。設定の柔軟性を高めるために、プロファイルで設定された ETrap period は、hardware qos etrap コマンドで ETrap age-period を設定することで上書きできます。ただし、AFD タイマーは変更できません。

次に、ETrap age-period の設定例を示します。

switch(config)# hardware qos etrap age-period 50 usec

次に、AFD ユーザ プロファイルの設定例を示します。

  • Mesh(Aggressive with ETrap age-period:20 µsec and AFD period:10 µsec)

    switch(config)# hardware qos afd profile mesh
    
    
  • Burst (Default with ETrap age-period: 50 µsec and AFD period: 25 µsec)

    switch(config)# hardware qos afd profile burst
    
    
  • Ultra-burst (Conservative with ETrap age-period: 100 µsec and AFD period: 50 µsec)

    switch(config)# hardware qos afd profile ultra-burst
    
    

エレファントフロー

フローで受信したバイト数が Etrap byte-count-threshold で指定されたバイト数を超えると、フローはエレファント フローまたは、大規模なフローと見なされます。

フローが引き続きエレファント フローであるためには、構成されたタイマー期間に構成された bw_threshold のバイト数を受信する必要があります。それ以外の場合、フローは ETrap ハッシュ テーブルから削除されます。

すべてのエレファント フローの入力レートが計算され、AFD アルゴリズムが消費する出力に転送されます。

エレファント トラップ

エレファント トラップ(ETrap)はフローを識別してハッシュし、ドロップ確率の計算のためにフローごとの到着レートを AFD に転送します。これは、大規模なフローと短いフローを区別し、大規模なフローのみが AFD ドロップの対象となるようにするのに役立ちます。

ETrap パラメータ

ETrap には、構成可能な 次のパラメータがあります:

  • Byte-count

    Byte-count は、エレファント フローを識別するために使用されます。フローで受信したバイト数が byte-count-threshold で指定されたバイト数を超えると、そのフローはエレファント フローと見なされます。(デフォルトの byte-count は 1 MB 以下です)。

  • Age-period および Bandwidth-threshold

    Age-period および Bandwidth-threshold は、エレファント フローのアクティブ性を追跡するために一緒に使用されます。

    エージング期間中の平均帯域幅が設定された帯域幅しきい値よりも低い場合、エレファント フローは非アクティブと見なされ、タイムアウトになり、エレファント フロー テーブルから削除されます。(デフォルトの経過時間は 50 マイクロ秒です。デフォルトの bandwidth-threshold は 500 バイトです。

例:


switch (config)# hardware qos etrap age-period 50 usec
switch (config)# hardware qos etrap bandwidth-threshold 500 bytes
switch (config)# hardware qos etrap byte-count 1048555

重み付けランダム早期検出

重み付けランダム早期検出は、ランダムなドロップ確率を計算し、トラフィック クラスのすべてのフローでパケットを無差別にドロップする別の AQM アルゴリズムです。AFD と同時に使用することはできません。どちらも目的は同じですが、方法が異なるためです。

WRED と AFD の比較

機能 WRED AFD
アルゴリズムタイプ アクティブ キュー管理 アクティブ キュー管理
ドロップ メカニズム/輻輳管理 ランダムなドロップ確率を計算し、トラフィック クラスのすべてのフローでパケットを無差別にドロップします。 着信フローの到着レートに基づいてドロップ確率を計算し、計算された適正レートと比較し、ショート フローに影響を与えずに、大規模フローからのパケットをドロップします。
優先的対応 よりプライオリティの高いフローを維持するために、パケットのプライオリティ(CoS、DSCP/トラフィック クラス、または IP precedence 値)を考慮 長寿命のエレファント フローと短命のマイス フローを区別することにより公平さを重視し、マイス フローがドロップされないようにします。

(注)  


AFD と WRED を同時に適用することはできません。システムで使用できるのは 1 つだけです。


キューイングおよびスケジューリングの前提条件

キューイングおよびスケジューリングの前提条件は、次のとおりです。

  • モジュラ QoS CLI について理解している。

  • デバイスにログインしている必要があります。

キューイングとスケジュール設定のガイドラインおよび制約事項

キューイングおよびスケジューリングの設定に関する注意事項および制約事項は、次のとおりです。


(注)  


スケールの情報については、リリース特定の『Cisco Nexus 9000 Series NX-OS Verified Scalability Guide』を参照してください。


キューイングおよびスケジューリングの構成とポートの制限事項

  • ポートの制限事項

    • 変更には中断が伴います。指定したポート タイプのポートを通過するトラフィックでは、短期間のトラフィック損失が発生する可能性があります。指定したタイプのポートがすべて影響を受けます。

    • パフォーマンスに影響が出ることがあります。1 つまたは複数の指定されたタイプのポートが、新規キューの動作を定義するために適用されたキューイング ポリシーが存在しない場合、そのキューに対するトラフィック マッピングはパフォーマンスの低下が発生する可能性があります。

    • WRED は、ALE 対応デバイスの前面パネルの 40G アップリンク ポートではサポートされません。システム レベルで WRED が設定されている場合、この設定は無視され、エラー メッセージは表示されません。ポート レベルで WRED が設定されている場合、この設定は拒否され、エラー メッセージが表示されます。

  • 構成の制限

    • internal キーワードが付いている show コマンドはサポートされていません。

    • デバイスは、システム レベルのキューイング ポリシーをサポートしているため、キューイング ポリシーを設定する場合は、システムのすべてのポートに影響を与えます。

    • type queuing ポリシーは、システムまたは入力/出力トラフィックの個別のインターフェイスだけに結合できます。

    • アクティブなトラフィックがあるポートでリンク フラップが発生すると、同じまたは異なるスライス上の他のポートを通過するパケット/トラフィックの損失が発生します。フローの破棄を回避するには、キュー制限をデフォルト値からより低い値に減らし、システム レベルで適用してください。

    • 1 個のクラス マップ キュー(SPQ)のプライオリティを構成する場合、QoS グループ 3 のプライオリティを構成してください。複数のクラス マップ キュー(SPQ)のプライオリティを設定する場合、これよりも大きな番号の QoS グループのプライオリティを設定してください。また、QoS グループは相互に隣接している必要があります。たとえば、2 個の SPQ を使用する場合は、QoS グループ 3 と QoS グループ 2 のプライオリティを設定する必要があります。

    • 指定されたグループのカスタム入力キューイング ポリシーを使用して付与されたバッファが切り分けられていない場合は、グローバル共有バッファのみが使用されます。

キューイングとスケジュール設定のスイッチ制約事項

  • Cisco Nexus 9300-GX2/HX プラットフォーム スイッチおよびライン カードの場合、出力シェーパーの最小粒度はキューあたり 200 Mbps です。

  • 100G 対応デバイス(N9K-M4PC-CFP2 GEM を搭載した Cisco Nexus 9300 プラットフォーム スイッチなど)のキュー制限について:

    • 動的キュー制限の最大アルファ値は、8 より大きくすることができます。ただし、サポートされる最大アルファ値は 8 です。アルファ値を 8 より大きい値に設定すると、上書きされて最大値に設定されます。

      アルファ値が上書きされても、メッセージは発行されません。

    • 静的キュー制限の最大セル数は 20,000 です。最大 20,000 セル制限を超える値を指定すると、20,000 セル制限で上書きされます。

      セル制限が上書きされても、メッセージは発行されません。

  • 100G 対応デバイス(N9K-M4PC-CFP2 GEM を搭載した Cisco Nexus 9300 シリーズ スイッチなど)では、WRED しきい値の最大セル数は 20,000 です。最大 20,000 セル制限を超える値を指定すると、20,000 セル制限で上書きされます。

    セル制限が上書きされても、メッセージは発行されません。

  • Cisco Nexus 9200 プラットフォームスイッチで高い alpha 値を割り当てると、使用可能なバッファ領域の予想される 50% を超える値が使用されます。

    低いアルファ値(7 以下)を割り当てると、予想される使用可能なバッファ領域の 50% が確実に使用されます。

  • Cisco Nexus 9200 プラットフォーム スイッチでは、静的制限がキューに設定されている場合、静的制限と動的制限の両方が動的しきい値(アルファ値)を使用して計算されます。

  • リーフ スパイン エンジン(LSE)対応スイッチの最大キュー占有率は、64K セル(最大 13 MB)に制限されています。

  • 次の Cisco Nexus シリーズ スイッチおよびライン カードの場合、出力シェーパーがキューごとに管理できる最小値は 100 Mbps です。

    • Cisco Nexus 9200 プラットフォーム スイッチ

    • Cisco Nexus 9300-EX/FX/FX2/GX プラットフォーム スイッチ

    • Cisco Nexus 9700-EX/FX ライン カード

  • この queue-limit 構成は、9600-R/RX ライン カードを搭載した Cisco Nexus 9500 スイッチの入力キューイング ポリシーにのみ適用されます。

  • この bandwidth percent 構成は、9600-R/RX ライン カードを搭載した Cisco Nexus 9500 スイッチの出力キューイング ポリシーにのみ適用されます。bandwidth percent コマンドを設定する前に、入力キュー制限が設定されていることを確認します。

  • Cisco Nexus 9300-EX シリーズ スイッチでは、より低い帯域幅が構成されているかどうかにかかわらず、キューには最低 5% の帯域幅が割り当てられます。一方、Cisco Nexus 9300-FX 以降のシリーズ スイッチについては、キューに割り当てられる最小帯域幅は 1% です。

  • ディープ バッファ:Cisco Nexus 9332D-H2R プラットフォーム スイッチは、ユニキャスト トラフィックのディープ バッファをサポートします。ディープバッファを使用すると、スイッチ内の既存のバッファ(40MB)に加えて 8GB の追加バッファを提供することで、スイッチ内の大量のトラフィックを処理できます。ディープ バッファは、すべてのキューでシステムでデフォルトで有効になっているため、どのキューでも輻輳シナリオ中にこれらのバッファを柔軟に占有できます。マルチキャスト トラフィックは、ディーブ バッファでは、サポートされていません。

  • Cisco Nexus 9332D-H2R プラットフォーム スイッチには、主に管理トラフィック用の 2 つの特別な 33、34 ポートがあります。これらのポートには、次の点を除き、通常のポートと同じ機能がすべて備わっています。

    • MACsec と PTP および周波数の同期はサポートされていません。

    • キューの総数に制限があるため、ディープ バッファはこれらのポートではサポートされていません。

    • これらは低帯域幅ポートです。

    • これらのポートは、ストア アンド フォワード モードでのみ動作します。

    • これらのポートは、シェーパーの最小/最大レート保証をサポートしていません。

    • PFC および no-drop クラスは、これらのポートではサポートされません。

    • FC モードは、これらのポートではサポートされません。

キューイングとスケジュール設定の機能制約事項

  • トラフィック シェーピング

    • トラフィック シェーピングは、パケットがキューイングされると、ストアアンドフォワード モードにフォール バックするため、キューイングによるパケットの遅延が大きくなる可能性があります。

    • トラフィック シェーピングは、Cisco Nexus 9300 ALE 40G のポートではサポートされません。ALE 40G アップリンク ポートの詳細については、『Cisco Nexus 9000 シリーズ スイッチの ALE 40G アップリンクポートの制限』を参照してください。

    • キューのトラフィック シェーピング設定は、同じポリシー マップ内でプライオリティや帯域幅に依存しません。

    • システム キューイング ポリシーは、内部ポートおよび前面パネル ポートの両方に適用されます。トラフィック シェーピングがシステムのキューイング ポリシーでイネーブルの場合、トラフィック シェーピングは内部ポートにも適用されます。ベスト プラクティスとして、システム キューイング ポリシーでトラフィック シェーピングをイネーブルにしないでください。

    • 出力シェーパーがキューごとに管理できる最小値は、Cisco Nexus 9200 シリーズ、9300-EX/FX/FX2//GX、および 9700-EX/FX スイッチで 100 Mbps です。

  • FEX


    • FEX サポート

      • NIF トラフィックに対する HIF のシステム入力(入力)レベル キューイング。

      • NIF から HIF へのトラフィックおよび HIF から HIF へのトラフィックのシステム出力(出力)レベル キューイング。

    • 出力キューイング機能は、ベース ポートに対してのみ機能し、FEX ポートに対しては機能しません。

    • スイッチがサポートするシステム キューイング ポリシーが設定されている場合、FEX はデフォルト ポリシーを使用します。

    • FEX QoS システム レベル キューイング ポリシーは、次の機能をサポートしていません。

      • WRED

      • キュー制限

      • トラフィック シェーピング

      • ポリシング機能

      • 複数の優先順位レベル。

  • AFD

    • Cisco Nexus 9508 スイッチ(NX-OS 7.0(3)F3(3))では、概算のフェア ドロップはサポートされていません。

    • AFD と WRED を同時に適用することはできません。システムで使用できるのは 1 つだけです。

    • AFD ポリシーがすでにシステム QoS に適用されており、2 つの一意の AFD キューイング ポリシーを設定している場合は、同じスライス上のポートにそれぞれ一意の AFD ポリシーを適用する必要があります。

      次に、同じスライスで一意の AFD ポリシーを作成して適用しない場合のシステム エラーの例を示します。

      Eth1/50    1a006200 1    0    40    255   196   -1    1     0     0    <<<slice 1
          Eth1/51    1a006400 1    0    32    255   200   -1    0     32    56   <<<slice 0
          Eth1/52    1a006600 1    0    64    255   204   -1    1     24    48   <<<slice 1
          Eth1/53    1a006800 1    0    20    255   208   -1    0     20    40   <<<slice 0
      
      switch(config)# interface ethernet 1/50
          switch(config-if)# service-policy type queuing output LM-out-40G
          switch(config)# interface ethernet 1/51
          switch(config-if)#service-policy type queuing output LM-out-100G
          switch(config)# interface ethernet 1/52
          switch(config-if)# service-policy type queuing output LM-out-100G
          Unable to perform the action due to incompatibility:  Module 1 returned status "Max profiles reached for unique values of queue management parameters (alpha, beta, max-threshold) in AFD config"
      
    • システム QoS に AFD ポリシーがすでに適用されていない場合は、異なるスライスのポートに同じ AFD ポリシーを構成するか、同じスライスのポートに異なる AFD ポリシーを構成できます。


      (注)  


      後でシステム QoS で AFD キューイングを構成することはできません。


      次に、AFD キューイングがすでにシステムに設定されている場合のシステム エラーの例を示します。

      interface Ethernet1/50
            service-policy type queuing output LM-out-40G
          interface Ethernet1/51
            service-policy type queuing output LM-out-40G
          interface Ethernet1/52
            service-policy type queuing output LM-out-100G
          interface Ethernet1/53
            service-policy type queuing output LM-out-100G
          interface Ethernet1/54
            service-policy type queuing output LM-out-100G
          
          (config-sys-qos)# service-policy type queuing output LM-out
          Unable to perform the action due to incompatibility:  Module 1 returned status "Max profiles reached for unique values of queue management parameters (alpha, beta, max-threshold) in AFD config"
      

解決の順序

次に、一時停止バッファ設定の解決順序とプライオリティ グループのキュー制限について説明します。

  • バッファ設定の一時停止

    一時停止バッファの設定は、次の順序で解決されます。

    • インターフェイス入力キューイング ポリシー(適用されている場合、そのクラスにポーズ バッファ構成が指定されている場合)。

    • システム入力キューイング ポリシー(適用され、一時停止バッファ構成がそのクラスに指定されている場合)。

    • システム ネットワーク QoS ポリシー(適用されている場合、そのクラスのポーズ バッファ設定)。

    • ポートの速度に関するデフォルト値。

  • プライオリティ グループのキュー制限

    プライオリティ グループのキュー制限は、次の順序で解決されます。

    • インターフェイス入力キューイング ポリシー(適用され、そのクラスに queue-limit 設定が指定されている場合)。

    • システム入力キューイング ポリシー(適用され、そのクラスに queue-limit 設定が指定されている場合)。

    • hardware qos ing-pg-share 設定で指定された値。

    • システムのデフォルト値。

入力キューイング

入力キューイングに関する注意事項を次に示します。

  • デフォルトのシステム入力キューイング ポリシーは存在しません。

  • 入力キューイング ポリシーは、指定されたポーズ バッファ設定を上書きするために使用されます。

  • Cisco Nexus 9000 NX-OS の以前のリリースにダウングレードする場合は、すべての入力キューイング設定を削除する必要があります。

  • 入力キューイング機能は、プライオリティ フロー制御がサポートされているプラットフォームでのみサポートされます。

  • 入力キューイングは、100G ポートを備えたデバイスではサポートされません。

  • 入力キューイング ポリシーは、Cisco Nexus 9732C-EX ライン カードおよび Cisco Nexus 93108TC-EX および 93180YC-EX スイッチを搭載した Cisco Nexus 9508 スイッチでは、システム レベルでのみサポートされます(インターフェイス レベルではサポートされません)。

  • Cisco Nexus 9636C-R および 9636Q-R ライン カードと Cisco Nexus 9508-FM-R ファブリック モジュール(Cisco Nexus 9508 スイッチ内)は、入力キューイングをサポートします。

  • 9600-R/RX ライン カードを搭載した Cisco Nexus 9500 スイッチは、ハードウェアによって提供される大きなバッファを利用するために、バースト モードのみをサポートします。


    (注)  


    入力側と出力側で同じポート速度を使用することをお勧めします。


キューイング ポリシーと出力キューのマッピング

9600-R、R2、RX ライン カードを備えた Cisco Nexus 9500 スイッチでは、キューイング ポリシーと出力キュー マッピングが CloudScale スイッチとは異なります。キューイング ポリシーは逆の順序でマッピングされます。

R シリーズの例:

  • キューイング ポリシー 7 - 出力キュー 0、

  • キューイング ポリシー 6 - 出力キュー 1 など

キューイングおよびスケジューリングでサポートされるプラットフォームおよびリリース

サポートされるリリース サポートされるプラットフォーム 制限事項
9.3(3) 以降 Cisco Nexus 9300-FX/FX2/GX シリーズスイッチ
9.3(5) 以降 Cisco Nexus 9300-FX3 シリーズスイッチ

10.1(2) 以降

N9K-X9624D-R2 と N9K-C9508-FM-R2 プラットフォーム スイッチ。

R2 では、さまざまなプライオリティ レベルを CLI で設定できますが、キューイングポリシーではプライオリティ レベル 1 のみがサポートされます。

10.2(3)F 以降

Cisco Nexus 9300-GX2 シリーズスイッチ

10.4(1)F 以降 Cisco Nexus 9332D-H2R スイッチ

Cisco Nexus C9348GCFX3 および C9348GC-FX3PH

C9348GC-FX3PH スイッチの場合:

  • キューイングおよびスケジューリング ポリシーは、ポート 41 ~ 48 を除き、スイッチでサポートされます。

  • 出力キューでの WRED の構成は、サポートされていません。

10.4(2)F 以降

Cisco Nexus C93108TC-FX3 スイッチ

Cisco Nexus 93400LD-H1 スイッチ

Cisco Nexus C9232E-B1 スイッチ

  • 8 つのキュー:8 つのユーザー キューで SPAN および CPU キューがサポートされています。

  • SP、DWRR、および Shaper がサポートされています。

  • キューイング統計がサポートされています。

10.4(3)F 以降 Cisco Nexus 9364C-H1 スイッチ

(注)  


  • AFD、WRED は Cisco Nexus 9508 スイッチ(NX-OS 7.0(3)F3(3))ではサポートされません。

  • PVLANはPVLAN QoSをサポートしません。


Cisco Nexus 9800 シリーズ スイッチのキューイングおよびスケジューリングの注意事項と制限事項

表 1. サポートされているプラットフォームとリリース
サポートされるリリース サポートされるプラットフォーム
10.3(1)F 以降 Cisco Nexus 9808 シリーズ スイッチ
10.4(1)F 以降 Cisco Nexus 9804 シリーズ スイッチ

Cisco Nexus 9800 シリーズ スイッチでサポートされている機能またはサポートされていない機能。

  • キューイング統計がサポートされています。

  • 入力キューイングがサポートされます。

  • キューごとのキュー深度カウンタはサポートされていませんが、VOQ テール ドロップの追加のキューイング カウンタはサポートされています。

  • AFD は Cisco Nexus 9808 スイッチではサポートされません。

  • キューイングおよびスケジューリング ポリシーで 8 つのキュー構成のみをサポートします。より少ないキューを構成できますが、サポートされていません。

キューイングとスケジューリングの構成

キューイングおよびスケジューリングを設定するには、出力インターフェイスに適用する、タイプ キューイングのポリシー マップを作成します。ポリシー マップ内で使用し、ポリシーの適用先となるトラフィックのクラスを定義する、システム定義のクラス マップを変更することはできません。

システム定義ポリシー マップである default-out-policy は、キューイング ポリシー マップを適用しないすべてのポートに付加されます。デフォルト ポリシー マップは設定できません。

次のキューイングおよびスケジューリングの構成を実行できます。

  • タイプ キューイング ポリシー

    • 出力の type queuing ポリシーを使用して、特定のシステム クラスのトラフィックをスケジューリングおよびバッファリングします。type queuing ポリシーは QoS グループ で識別され、システムまたは入力または出力トラフィックの個別のインターフェイスに結合できます。


    (注)  


    入力キューイング ポリシーは、一時停止バッファのしきい値を設定するために使用されます。詳細については、「プライオリティ フロー制御」の項を参照してください。


  • 輻輳回避

    • テール ドロップの構成:しきい値を設定することにより、出力キューでテール ドロップを設定できます。しきい値を超えるパケットはすべて、デバイスによってドロップされます。しきい値は、キューで使用されるキュー サイズまたはバッファ メモリに基づいて指定できます。

    • WRED 構成:出力キューで WRED を構成し、最小および最大のパケット ドロップしきい値を設定できます。キュー サイズが最小しきい値を超えるにつれて、ドロップされるパケットの頻度が高くなります。最大しきい値を超えると、キューに対するすべてのパケットがドロップされます。

    • AFD 構成:AFD は、出力キューイング ポリシー用に構成できます。

  • 輻輳管理

    • 帯域幅と残存帯域幅の構成:入力キューおよび出力キューの両方で帯域幅および帯域幅の残量を設定して、インターフェイス帯域幅の最小の割合をキューに割り当てることができます。

    • プライオリティ構成: プライオリティを指定しない場合、システム定義の出力プライオリティ キュー(pq)キューは標準キューと同様に動作します。

      • 出力プライオリティ キューで設定できるプライオリティのレベルは 1 レベルだけです。ポリシー マップの適用先となるモジュールのタイプに対応した、システム定義のプライオリティ キュー クラスを使用します。

      • 非プライオリティ キューについては、各キューに割り当てる残りの帯域幅の量を設定できます。デフォルトでは、デバイスは残りの帯域幅を非プライオリティ キューに均等に配分します。


        (注)  


        • プライオリティ キューが設定されている場合、もう一方のキューは、同じポリシー マップで残りの帯域幅しか使用できません。

        • 1 個のクラス マップ キュー(SPQ)のプライオリティを構成する場合、QoS グループ 3 のプライオリティを構成する必要があります。複数のクラス マップ キュー(SPQ)のプライオリティを設定する場合、これよりも大きな番号の QoS グループのプライオリティを構成する必要があります。また、QoS グループは相互に隣接している必要があります。たとえば、2 個の SPQ を使用する場合は、QoS グループ 3 と QoS グループ 2 のプライオリティを設定する必要があります。


    • トラフィック シェーピング構成:出力キューでトラフィック シェーピングを構成し、出力キューに最小および最大レートを強制できます。

タイプ キューイング ポリシーの構成

タイプ キューイング ポリシーを構成するには、次の手順を実行します。

手順


ステップ 1

グローバル コンフィギュレーション モード内のpolicy-map type queuing policy-name コマンドを使用して、トラフィック クラスのセットに適用されるポリシーのセットを表す名前付きオブジェクトを作成します。

例:

switch# configure terminal
switch(config)# policy-map type queuing shape_queues
switch(config-pmap-que)#

ポリシー マップ名は、最大 40 文字の英字、ハイフン、または下線文字を使用でき、大文字と小文字が区別されます。

ステップ 2

class type queuing class-name コマンドを実行して、クラス マップをポリシー マップに関連付け、指定したシステム クラス コンフィギュレーション モードを開始します。

例:

switch(config-pmap-que)# class type queuing c-out-q-default
switch(config-pmap-c-que)#

ステップ 3

priority コマンドを実行して、このクラスに該当するトラフィックが完全優先 キューにマッピングされるよう指定します。

例:

switch(config-pmap-c-que)# priority

no priority コマンドを実行して、このクラスのトラフィックから完全プライオリティ キューイングを削除します。

ステップ 4

shape min Target-bit-rate [ kbps | mbps | gbps | mbps | pps] max Target-bit-rate [ kbps | mbps | gbps | mbps | pps] コマンドを実行して、キューの最大および最小のシェープ サイズを指定します。

例:

switch(config-pmap-c-que)# shape min 100 mbps max 150 mbps

ステップ 5

bandwidth percent percentage コマンドを実行して、基になるインターフェイスのリンク レートの割合としてインターフェイス帯域幅の最小レートを出力キューに割り当てます。

例:

switch(config-pmap-c-que)# bandwidth percent 25

完全プライオリティ キューがない場合、クラスはインターフェイス帯域幅に割り当てられたパーセンテージを受け取ります。ただし、完全プライオリティ キューが存在する場合は、それが帯域幅の共有を最初に受け取ります。残りの帯域幅は、帯域幅のパーセンテージで設定されたクラス間の重み付けに基づいて共有されます。たとえば、完全プライオリティ キューが帯域幅の 90 パーセントを占めている状況で、あるクラスに 75 パーセントの重み付けが設定されている場合、そのクラスは帯域幅の残りの 10 パーセントのうちの 75 パーセントを受け取ることになります。

(注)  

 

まず class-default と class-fcoe のデフォルトの帯域幅設定を小さくすれば、そのクラスに帯域幅を正常に割り当てることができます。

no bandwidth percent percentage コマンドを実行して、帯域幅の指定をこのクラスから削除します。

ステップ 6

(任意) priority level level コマンドを実行して、 Cisco Nexus 9000 シリーズ スイッチの完全優先レベルを指定します。

例:

switch(config-pmap-c-que)# priority level 3

範囲:1 ~ 7。

ステップ 7

(任意) queue-limit queue size [dynamic dynamic threshold] コマンドを実行して、Cisco Nexus 9000 シリーズ スイッチのキューで利用できる静的または動的な共有制限を指定します。

例:

switch(config-pmap-c-que)# queue-limit 1000 mbytes
  • 静的なキュー制限は、増大するキューに固定のサイズを定義します。

    (注)  

     

    最小キューサイズ は 50 KB 以上である必要があります。

  • ダイナミックなキュー制限は、アルファ値の観点から利用可能なフリー セルの検出数によってキューのしきい値サイズを決定します。

    (注)  

     
    • Cisco Nexus 9200 シリーズ スイッチは、アルファ値に関してクラス レベルの動的しきい値設定のみをサポートします。これは、クラス内のすべてのポートが同じアルファ値を共有することを意味します。

    • リリース 10.4(1)F 以降、拡張されたキュー制限の範囲は 0 ~ 9437184 です。Cisco Nexus 9332D-H2R プラットフォーム スイッチでサポートされる最大しきい値は 256 MB です。


輻輳回避の構成

テール ドロップまたは WRED の機能を使用して輻輳回避を設定できます。どちらの機能も、出力のポリシー マップで使用できます。


(注)  


WRED およびテール ドロップを同じクラス内で設定することはできません。


出力キューでのテール ドロップの構成

出力キューでテール ドロップを構成するには、次の手順を実行します

手順

ステップ 1

グローバル コンフィギュレーション モードで hardware qos q-noise percent value コマンドを実行し、ランダム ノイズ パラメータを調整します。

例:
switch# configure terminal
switch(config)# hardware qos q-noise percent 30

デフォルト:20 パーセント。

このコマンドは、Cisco Nexus 9200 および 9300-EX シリーズ スイッチの Cisco NX-OS リリース 7.0(3)I4(4) 以降)向けにサポートされています。

ステップ 2

policy-map [type queuing] [match-first] [policy-map-name] コマンドを実行して、タイプ キューイングのポリシー マップを設定し、指定したポリシー マップ名のポリシー マップ モードを開始します。

例:
switch(config)# policy-map type queuing shape_queues
switch(config-pmap-que)#

ポリシー マップ名は、最大 40 文字の英字、ハイフン、または下線文字を使用でき、大文字と小文字が区別されます。

ステップ 3

class type queuing class-name コマンドを実行してタイプ キューイングのクラス マップを構成し、ポリシー マップ クラス キューイング モードを開始します。

例:
switch(config-pmap-que)# class type queuing c-out-q1
switch(config-pmap-c-que)#

クラス キューイング名は、前述の「システム定義のタイプ キューイング クラス マップ」表に示されています。

ステップ 4

queue-limit {queue-size [bytes | kbytes | mbytes] | dynamic value} コマンドを使用して、キューサイズに基づいてテールドロップしきい値を割り当てます。

例:
switch(config-pmap-c-que)# queue-limit 1000 mbytes

バイト、キロバイト、メガバイト単位のキュー サイズまたは、使用可能な空きセルの数に応じてキューのしきい値サイズを動的に決定できるようにします。指定したしきい値を超えるパケットは、デバイスによってドロップされます。

バイトベースのキュー サイズの有効な値: 1 ~ 83886080 です。

ダイナミック キューのサイズの有効な値:次の表に指定されているように 0 ~ 10 です。

alpha の値

Network Forwarding Engine(NFE)対応スイッチ

リーフスパインエンジン(LSE)対応スイッチ

定義

キューごとの最大レート(%)

定義

キューごとの最大レート(%)

ASIC 値

0

1/128

~ 0.8 %

1/8

~ 11 %

0

1

1/64

~ 1.5 %

1/4

~ 20 %

1

2

1/32

~ 3 %

1/2

~ 33 %

3

3

1/16

~ 6 %

3/4

~ 42 %

5

4

1/8

~ 11 %

1 1/8

~ 53 %

8

5

1/4

20%

1 3/4

~ 64 %

14

6

1/2

~ 33 %

3

~ 75 %

16

7

1

50 %

5

~ 83 %

18

8

2

~ 66 %

8

~ 89 %

21

9

4

~ 80 %

14

~ 92.5

27

10

8

~ 89 %

18

~ 95 %

31

たとえば、ダイナミック キュー サイズとして 6 を設定すると、alpha 値は ½ です。ダイナミック キュー サイズとして 7 を設定すると、alpha 値は 1 です。

queue-limit を計算する際には、以下の点を考慮してください。

queue-limit = (alpha/(1 + alpha)) x バッファ合計数

たとえば、ダイナミック キュー サイズに 7 を使用して queue-limit を設定する場合、queue-limit の最大値は「(1/(1+1)) x 合計バッファ数」になります。つまり、「queue-limit = ½ x 合計バッファ数」となります。

(注)  

 

上記の計算によって最大キュー占有率が決定されますが、Application Spine Engine(ASE2、ASE3)およびリーフ スパイン エンジン(LSE)対応スイッチの場合、すべてのケースで最大キュー占有率は 64K セルに制限されます。

(注)  

 

ALE 対応デバイスでのしきい値の設定は、システム レベルでのみサポートされます。ポート レベルではサポートされません。

ステップ 5

他のキュー クラスに対するテール ドロップしきい値を割り当てるには、ステップ 3 および 4 を繰り返します。

ステップ 6

show policy-map [type queuing [policy-map-name | default-out-policy]] コマンドを実行して、構成済みのすべてのポリシー マップ、すべてのタイプ キューイングのポリシー マップ、選択したタイプ キューイングのポリシー マップ、またはデフォルトの出力キューイング ポリシーについて、情報を表示します。

例:
switch(config)# show policy-map type queuing shape_queues

ステップ 7

copy running-config startup-config コマンドを実行して実行コンフィギュレーションをスタートアップ コンフィギュレーションに保存します。

例:
switch(config)# copy running-config
startup-config

出力キューでの WRED の構成

WRED を出力キューに構成する手順は、次のとおりです。

手順

ステップ 1

policy-map [type queuing] [match-first] [policy-map-name] コマンドを実行して、タイプ キューイングのポリシー マップを設定し、指定したポリシー マップ名のポリシー マップ モードを開始します。

例:
switch(config)# policy-map type queuing shape_queues
switch(config-pmap-que)#

ポリシー マップ名は、最大 40 文字の英字、ハイフン、または下線文字を使用でき、大文字と小文字が区別されます。

ステップ 2

class type queuing class-name コマンドを実行してタイプ キューイングのクラス マップを構成し、ポリシー マップ クラス キューイング モードを開始します。

例:
switch(config-pmap-que)# class type queuing c-out-q1
switch(config-pmap-c-que)#

クラス キューイング名は、前述の「システム定義のタイプ キューイング クラス マップ」表に示されています。

ステップ 3

random-detect [minimum-threshold min-threshold {packets | bytes | kbytes | mbytes} maximum-threshold max-threshold {packets | bytes | kbytes | mbytes} drop-probability value weight value] [threshold {burst-optimized | mesh-optimized}] [ecn | non-ecn] [queue length weight value] コマンドを実行して、指定されたキューイング クラスで WRED を設定します。

例:
Wred 構成
switch(config-pmap-c-que)# random-detect
minimum-threshold 10 mbytes
maximum-threshold 20 mbytes
例:
非 ECN オプションを使用した WRED 構成
switch(config-pmap-c-que)# random-detect non-ecn
minimum-threshold 1000 kbytes
maximum-threshold 4000 kbytes 
drop-probability 100
switch(config-pmap-c-que)# show queuing interface eth 1/1 | grep WRED
WRED Drop Pkts 		0
WRED Non ECN Drop Pkts	0 
switch(config-pmap-c-que)#

パケットをキューからドロップするのに使用する最小および最大のしきい値を指定できます。しきい値は、パケット数、バイト数、キロバイト数、またはメガバイト数で指定されます。最小および最大のしきい値は同じタイプにする必要があります。範囲:1 ~ 52428800。

代わりに、バーストまたはメッシュ トラフィック用に最適化されたしきい値を指定するか、または明示的輻輳通知(ECN)に基づいてパケットをドロップするように WRED を設定できます。Cisco NX-OS Release 7.0(3)I6(1) 以降では、Network Forwarding Engine(NFE)プラットフォームは、非 ECN フローのドロップしきい値を設定するための non-ecn オプションをサポートしています。

(注)  

 
  • minimum-threshold および maximum-threshold パラメータは、Cisco Nexus 9300 プラットフォームスイッチおよび Cisco Nexus 9564TX および 9564PX ライン カードではサポートされていません。

  • リリース 10.4(1)F 以降、WRED および ECN キュー制限の範囲は 0 ~ 52428800 です。Cisco Nexus 9332D-H2R プラットフォーム スイッチでサポートされる最大しきい値は 256 MB です。

random-detect が policy-map で設定されている場合、デフォルトのしきい値とドロップ確率は次のようになります。

  1. 新しいプラットフォームでは、しきい値は 0 であり、バッファ使用率に関係なくドロップ確率が適用されます。

  2. 古いプラットフォームでは、しきい値は最小 100 KB、最大 120 KB です。

ドロップ確率は、すべてのプラットフォームでバースト最適化とメッシュ最適化でそれぞれ 10% と 90% で一貫しています。

トラフィックのキュー長の重み付けを指定することもできます。キュー長の範囲は 0 ~ 15 です。

ステップ 4

(任意) 他のキューイング クラスに対する WRED を設定するには、ステップ 2 ~ 3 を繰り返します。

ステップ 5

(任意) congestion-control random-detect forward-nonecn を実行します コマンドは、非 ECN 対応トラフィックが WRED しきい値をバイパスし、出力キュー制限とテールドロップが発生するまで拡張できるようにします。

例:
switch(config-pmap-c-que)# congestion-control random-detect forward-nonecn

このグローバル コマンドは、WRED+ECN 構成で使用することを目的としており、非 ECN 対応トラフィックの WRED ドロップを回避することを意図しています。このオプションは、Cisco NX-OS リリース 7.0(3)I4(2) 以降で使用でき、Cisco Nexus 9200 プラットフォーム スイッチ、Cisco Nexus 93108TC-EX および 93180YC-EX スイッチ、および Cisco Nexus 9732C-EX ライン カードを搭載した Cisco Nexus 9508 スイッチでのみサポートされます。

Cisco NX-OS リリース 7.0(3)I4(5) 以降、この機能は Cisco Nexus 9636PQ ライン カードを搭載した Cisco Nexus 9508 スイッチおよび Cisco Nexus 3164Q スイッチでサポートされます。


出力キューでの AFD の構成

AFD を出力キューに構成する手順は、次のとおりです。

手順

ステップ 1

グローバル構成モードで policy-map [type queuing] [match-first] [policy-map-name] コマンドを実行して、タイプ キューイングのポリシー マップを設定し、指定したポリシー マップ名のポリシー マップ モードを開始します。

例:
switch# configure terminal
switch(config)# policy-map type queuing afd_8q-out
switch(config-pmap-que)#

ポリシー マップ名は、最大 40 文字の英字、ハイフン、または下線文字を使用でき、大文字と小文字が区別されます。

ステップ 2

class type queuing class-name コマンドを実行してタイプ キューイングのクラス マップを構成し、ポリシー マップ クラス キューイング モードを開始します。

例:
switch(config-pmap-que)# class type queuing c-out-8q-q3
switch(config-pmap-c-que)#

クラス キューイング名は、前述の「システム定義のタイプ キューイング クラス マップ」表に示されています。

ステップ 3

必要なキューを指定するために afd queue-desired <number> [bytes | kbytes | mbytes] [ecn] コマンドを実行します。

例:

ECN を使用しない AFD の設定


switch(config)# policy-map type queuing afd_8q-out 
switch(config-pmap-que)# class type queuing c-out-8q-q3
switch(config-pmap-c-que)# afd queue-desired 600 kbytes 

ECN を使用した AFD の設定


switch(config)# policy-map type queuing afd-ecn_8q-out 
switch(config-pmap-que)# class type queuing c-out-8q-q3
switch(config-pmap-c-que)# afd queue-desired 150 kbytes ecn 

さまざまなポート速度に対するの推奨値は次のとおりです。queue-desired

ポート速度

キューの値

10G

150 kbytes

40G

600 kbytes

100 G

1500 kbytes

(注)  

 
  • キューの値はユーザが設定できます。

  • リリース 10.4(1)F 以降、AFD キュー制限の範囲は 0 ~ 52428800 です。Nexus 9332D-H2R プラットフォーム スイッチでサポートされる最大しきい値は 256 MB です。


次のタスク

AFD の設定後、次のようにポリシーをシステムまたはインターフェイスに適用できます。

  • システム

    
    switch(config)# system qos 
    switch(config-sys-qos)# service-policy type queuing output afd_8q-out
    
  • インターフェイス

    
    switch(config)# int e1/1
    switch(config-if)# service-policy type queuing output afd_8q-out 
    

輻輳管理の構成

次の輻輳管理方式のうちいずれか 1 つだけをポリシー マップで設定できます。

  • bandwidth および bandwidth remaining コマンドを使用して、最小のデータ レートをキューに割り当てる方式。

  • priority コマンドを使用して、トラフィックのクラスに対するすべてのデータをプライオリティ キューに割り当てる方式。bandwidth remaining コマンドを使用して、残りのトラフィックを非プライオリティ キュー間で分配できます。デフォルトでは、残りの帯域幅はシステムによって非プライオリティ キュー間で均等に分配されます。

  • shape コマンドを使用して、最小および最大のデータ レートをキューに割り当てる方式。

選択する輻輳管理機能に加えて、次のいずれかのキュー機能をポリシー マップの各クラスで設定できます。

  • キュー サイズとキュー制限の使用に基づくテール ドロップしきい値。詳細については、出力キューでのテール ドロップの構成を参照してください。

  • 優先パケットのドロップに対する WRED。詳細については、「出力キューでの WRED の設定」の項を参照してください。


    (注)  


    WRED は Cisco Nexus 9508 スイッチ(NX-OS 7.0(3)F3(3))ではサポートされません。


帯域幅および帯域幅の残量の構成

最小のインターフェイス帯域幅(%)をキューに割り当てるように、出力キューの帯域幅および残りの帯域幅を設定できます。


(注)  


保証帯域幅が設定されている場合、プライオリティ キューは同じポリシー マップでディセーブルにする必要があります。


出力キューの帯域幅を構成するには、次の手順を実行します。


(注)  


FEX の出力キューに帯域幅と帯域幅の残りを構成する場合は、 feature-set fex が有効になっていることを確認します。


手順


ステップ 1

グローバル構成モードで policy-map [type queuing] [match-first] [policy-map-name] コマンドを実行して、タイプ キューイングのポリシー マップを設定し、指定したポリシー マップ名のポリシー マップ モードを開始します。

例:

switch# configure terminal
switch(config)# policy-map type queuing shape_queues
switch(config-pmap-que)#

ポリシー マップ名は、最大 40 文字の英字、ハイフン、または下線文字を使用でき、大文字と小文字が区別されます。

ステップ 2

class type queuing class-name コマンドを実行してタイプ キューイングのクラス マップを構成し、ポリシー マップ クラス キューイング モードを開始します。

例:

switch(config-pmap-que)# class type queuing c-out-q1
switch(config-pmap-c-que)#

クラス キューイング名は、前述の「システム定義のタイプ キューイング クラス マップ」表に示されています。

ステップ 3

bandwidth {percent percent} コマンドを実行して、基になるインターフェイスのリンク レートの割合としてインターフェイス帯域幅の最小レートを出力キューに割り当てます。

例:

switch(config-pmap-c-que)# bandwidth percent 25

基になるインターフェイスのリンク レートの割合としてインターフェイス帯域幅の最小レートを出力キューに割り当てます。範囲:0 ~ 100 です。

この例では、帯域幅を基になるリンク レートの最小 25% に設定しています。

ステップ 4

bandwidth remaining percent percent コマンドを実行して、残存している帯域幅のパーセンテージを割り当てます。

例:

switch(config-pmap-c-que)# bandwidth remaining percent 25

残りの帯域幅の割合をこのキューに割り当てます。範囲:0 ~ 100 です。

この例では、このキューの帯域幅を残りの帯域幅の 25% に設定しています。

ステップ 5

(任意) 他のキュー クラスに帯域幅を割り当てるには、ステップ 3 と 4 または 5 を繰り返します。

ステップ 6

exit コマンドを実行して、ポリシー マップ キュー モードを終了し、グローバル コンフィギュレーション モードを開始します。

例:

switch(config-cmap-que)# exit
switch(config)#

ステップ 7

(任意) show policy-map [type queuing [policy-map-name | default-out-policy]] コマンドを実行して、構成済みのすべてのポリシー マップ、すべてのタイプ キューイングのポリシー マップ、選択したタイプ キューイングのポリシー マップ、またはデフォルトの出力キューイング ポリシーについて、情報を表示します。

例:

switch(config)# show policy-map type queuing shape_queues

ステップ 8

copy running-config startup-config コマンドを実行して実行コンフィギュレーションをスタートアップ コンフィギュレーションに保存します。

例:

switch(config)# copy running-config startup-config

優先順位を構成

出力キューの優先順位を指定するには、次の手順を実行します。


(注)  


FEX の出力キューの優先順位を構成する場合は、 feature-set fex が有効になっていることを確認します。


手順


ステップ 1

グローバル構成モードで policy-map [type queuing] [match-first] [policy-map-name] コマンドを実行して、タイプ キューイングのポリシー マップを設定し、指定したポリシー マップ名のポリシー マップ モードを開始します。

例:

switch# configure terminal
switch(config)# policy-map type queuing inq_pri
switch(config-pmap-que)#

ポリシー マップ名は、最大 40 文字の英字、ハイフン、または下線文字を使用でき、大文字と小文字が区別されます。

ステップ 2

class type queuing class-name コマンドを実行してタイプ キューイングのクラス マップを構成し、ポリシー マップ クラス キューイング モードを開始します。

例:

switch(config-pmap-que)# class type queuing c-in-q3
switch(config-pmap-c-que)#

クラス キューイング名は、前述の「システム定義のタイプ キューイング クラス マップ」表に示されています。

ステップ 3

priority [ level value] コマンドを実行して、このキューを優先順位キューとして選択します。サポートされているプライオリティ レベルは 1 レベルだけです。

例:

switch(config-pmap-c-que)# priority

(注)  

 

FEX QoS プライオリティは、c-out-q3 class mapでのみサポートされます。

ステップ 4

(任意) class type queuing class-name コマンドを実行してタイプ キューイングのクラス マップを構成し、ポリシー マップ クラス キューイング モードを開始します。

例:

switch(config-pmap-c-que)# class type queuing c-in-q2
switch(config-pmap-c-que)#

クラス キューイング名は、前述の「システム定義のタイプ キューイング クラス マップ」表に示されています。

残りの帯域幅を設定する非プライオリティ キューを選択します。デフォルトでは、残りの帯域幅はシステムによって非プライオリティ キュー間で均等に分配されます。

ステップ 5

bandwidth remaining percent percent コマンドを実行して、残存している帯域幅のパーセンテージを割り当てます。

例:

switch(config-pmap-c-que)# bandwidth remaining percent 25

残りの帯域幅の割合をこのキューに割り当てます。範囲:0 ~ 100 です。

この例では、このキューの帯域幅を残りの帯域幅の 25% に設定しています。

ステップ 6

(任意) ステップ 4 ~ 5 を繰り返して、その他の非プライオリティ キューにプライオリティを割り当てます。

ステップ 7

(任意) show policy-map [type queuing [policy-map-name | default-out-policy]] コマンドを実行して、構成済みのすべてのポリシー マップ、すべてのタイプ キューイングのポリシー マップ、選択したタイプ キューイングのポリシー マップ、またはデフォルトの出力キューイング ポリシーについて、情報を表示します。

例:

switch(config)# show policy-map type queuing shape_queues

ステップ 8

copy running-config startup-config コマンドを実行して実行コンフィギュレーションをスタートアップ コンフィギュレーションに保存します。

例:

switch(config)# copy running-config startup-config

トラフィックシェーピングの設定

トラフィック シェーピングを構成するには、次の手順に従います。

始める前に

パケットのランダム検出の下限および上限しきい値を設定します。

手順


ステップ 1

グローバル構成モードで policy-map [type queuing] [match-first] [policy-map-name] コマンドを実行して、タイプ キューイングのポリシー マップを設定し、指定したポリシー マップ名のポリシー マップ モードを開始します。

例:

switch# configure terminal
switch(config)# policy-map type queuing shape_queues
switch(config-pmap-que)#

ポリシー マップ名は、最大 40 文字の英字、ハイフン、または下線文字を使用でき、大文字と小文字が区別されます。

ステップ 2

class type queuing class-name コマンドを実行してタイプ キューイングのクラス マップを構成し、ポリシー マップ クラス キューイング モードを開始します。

例:

switch(config-pmap-que)# class type queuing c-out-q1
switch(config-pmap-c-que)#

クラス キューイング名は、前述の「システム定義のタイプ キューイング クラス マップ」表に示されています。

ステップ 3

shape min value {bps | gbps | kbps | mbps | pps} max value {bps | gbps | kbps | mbps | pps} コマンドを実行して出力キューの最小および最大ビット レートを割り当てます。

例:

switch(config-pmap-c-que)# shape min 100 mbps max 150 mbps

デフォルトのビット レートは bps です。

この例では、最小レート 100 メガビット(メガビット/秒)および最大レート 150 mbps にトラフィックをシェーピングしています。

(注)  

 

トラフィック シェーピングが必要なほとんどのシナリオでは、max shaper 値のみの設定が必要です。たとえば、トラフィックをシェーピングし、必要な最大レートに制限する場合は、最小シェーパー値を 0 に、最大シェーパー値を最大必要レートに設定します。

最小シェーパー値は、保証レートが必要な特定のシナリオにのみ設定する必要があります。たとえば、トラフィックに保証レートを設定する場合は、最小シェーパー値を保証レートとして設定し、最大値を保証レート(またはポート速度レートの最大値)よりも大きい値に設定します。

ステップ 4

(任意) 他のキュー クラスにシェープ トラフィックを割り当てるには、ステップ 2 と 3 を繰り返します。

ステップ 5

(任意) show policy-map [type queuing [policy-map-name | default-out-policy]] コマンドを実行して、構成済みのすべてのポリシー マップ、すべてのタイプ キューイングのポリシー マップ、選択したタイプ キューイングのポリシー マップ、またはデフォルトの出力キューイング ポリシーについて、情報を表示します。

例:

switch(config)# show policy-map type queuing shape_queues

ステップ 6

copy running-config startup-config コマンドを実行して実行コンフィギュレーションをスタートアップ コンフィギュレーションに保存します。

例:

switch(config)# copy running-config startup-config

システムでのキューイング ポリシーの適用

システムのキューイング ポリシーをグローバルに適用するために次のステップに従います。

手順


ステップ 1

システム QoS モードに入るためにグローバル コンフィギュレーション モードで system qos コマンドを実行します。

例:

switch# configure terminal
switch (config)# system qos
switch (config-sys-qos)#

ステップ 2

service-policy type queuing output {policy-map-name | default-out-policy} コマンドを実行してポリシー マップをシステムの入力パケットまたは出力パケットに追加します。

例:

switch (config-sys-qos)# service-policy type queuing map1

(注)  

 
  • output キーワードは、そのポリシー マップがインターフェイスの送信済みトラフィックに適用される必要があることを示します。

  • システムをデフォルトのキューイング サービス ポリシーに戻すには、このコマンドの no 形式を使用します。


キューイングおよびスケジューリングの設定の確認

キューイングおよびスケジューリングの設定を確認するには、次のコマンドを使用します:

コマンド

目的

show class-map [type queuing [ class-name]]

設定済みのすべてのクラス マップ、すべてのタイプ キューイングのクラス マップ、または選択したタイプ キューイングのクラス マップについて、情報を表示します。

show policy-map [type queuing [policy-map-name | default-out-policy]]

設定済みのすべてのポリシー マップ、すべてのタイプ キューイングのポリシー マップ、または選択したタイプ キューイングのポリシー マップ、またはデフォルトの出力キューイング ポリシーについて、情報を表示します。

show policy-map system

システムの設定済みのすべてのポリシー マップに関する情報を表示します。

QoS 共有バッファの制御

QoS バッファは、ポート/キューおよび共有スペースごとにサポートします。予約をディセーブルまたは制限することで、すべてのフローで共有される QoS バッファを制御できます。

このコマンドは、QoS 共有バッファを制御するために使用されます。hardware qos min-buffer

hardware qos min-buffer[all |default |none]

  • all

    すべての予約が有効になっている現在の動作(ON)。

  • default

    qos-group-0 に対してのみ予約をイネーブルにします。

  • none

    すべての qos-group の予約をディセーブルにします。

このコマンドは、現在のバッファ設定を表示するために使用されます。show hardware qos min-buffer

ダイナミック バッファ共有を管理

NX-OS 7.0(3)I7(4)以降では、スライス間でのダイナミックバッファ共有(出力バッファリング)が hardware qos dynamic-buffer-sharing コマンドで設定されます。コマンドの後に、スイッチをリロードしてダイナミックバッファリングをイネーブルにする必要があります。

バッファ共有は、ダイナミックバンク割り当て(1 バンク= 4k セル、1 セル= 416 バイト)によって有効になり、スライスに分散されるバンクを管理するグローバルコントローラ(eCPU)によって制御されます。ダイナミックバッファ共有では、各スライスに 6 個の予約済みバンク(10MB)が提供され、スライス間で共有用に 12 個のバンク(20MB)が提供されます。


(注)  


ダイナミックバッファ共有は、Nexus 9300-FX2 プラットフォームスイッチでのみサポートされます。「Nexus スイッチプラットフォームサポートマトリックス」を参照してください。


QoS パケット バッファのモニター

Cisco Nexus 9000 シリーズ デバイスには、ポートおよびダイナミック共有メモリごとに専用として区切られた 12 MB のメモリ バッファがあります。各前面パネル ポートの出力には、4 個のユニキャスト キューと 4 個のマルチキャスト キューがあります。バーストまたは輻輳シナリオでは、各出力ポートはダイナミック共有メモリからバッファを消費します。

共有バッファのリアルタイムおよびピーク ステータスをポートごとに表示できます。セルの数に関して、すべてのカウンタが表示されます。各セルは 208 バイトです。また消費量と使用可能なセルの数に関して、グローバル レベル バッファの消費を表示できます。


(注)  


ALE 対応デバイスの共有バッファのモニタリングは、ポート レベルではサポートされていません。



(注)  


ここで紹介する例では、ポート番号は Broadcom ASIC のポートです。


次に、システム バッファ最大セル使用量カウンタをクリアする例を示します。

switch# clear counters buffers
Max Cell Usage has been reset successfully

次に、特定のモジュールのバッファ使用率のしきい値を設定する例を示します。

switch(config)# hardware profile buffer info port-threshold module 1 threshold 10
Port threshold changed successfully

(注)  


  • バッファしきい値機能は、no-drop クラスを設定している場合(PFC)、ポートでイネーブルになっていません。

  • 設定されたしきい値のバッファ カウントは、ポートのすべてのキューにおいて、そのポートに使用されるすべてのバッファに対して、5 秒ごとにチェックされます。

  • すべてのモジュールまたは特定のモジュールのすべてのポートに適用される、しきい値の割合を設定できます。デフォルトのしきい値は、共有プール SP-0 スイッチのセル数の 90% です。この設定は、イーサネット(前面パネル)ポートおよび内部(HG)ポートの両方に適用されます。

  • バッファしきい値機能は、ACI 対応デバイス ポートではサポートされません。


次に、インターフェイス ハードウェア マッピングを表示する例を示します。

switch# show interface hardware-mappings 
Legends:
       SMod  - Source Mod. 0 is N/A
       Unit  - Unit on which port resides. N/A for port channels
       HPort - Hardware Port Number or Hardware Trunk Id:
       FPort - Fabric facing port number. 255 means N/A
       NPort - Front panel port number
       VPort - Virtual Port Number. -1 means N/A

--------------------------------------------------------------------
Name       Ifindex  Smod Unit HPort FPort NPort VPort
--------------------------------------------------------------------
Eth2/1     1a080000 4    0    13    255   0     -1   
Eth2/2     1a080200 4    0    14    255   1     -1   
Eth2/3     1a080400 4    0    15    255   2     -1   
Eth2/4     1a080600 4    0    16    255   3     -1   
Eth2/5     1a080800 4    0    17    255   4     -1   
Eth2/6     1a080a00 4    0    18    255   5     -1   
Eth2/7     1a080c00 4    0    19    255   6     -1   
Eth2/8     1a080e00 4    0    20    255   7     -1   
Eth2/9     1a081000 4    0    21    255   8     -1   
Eth2/10    1a081200 4    0    22    255   9     -1   
Eth2/11    1a081400 4    0    23    255   10    -1   
Eth2/12    1a081600 4    0    24    255   11    -1   
Eth2/13    1a081800 4    0    25    255   12    -1   
Eth2/14    1a081a00 4    0    26    255   13    -1   
Eth2/15    1a081c00 4    0    27    255   14    -1   
Eth2/16    1a081e00 4    0    28    255   15    -1   
Eth2/17    1a082000 4    0    29    255   16    -1   
Eth2/18    1a082200 4    0    30    255   17    -1   
Eth2/19    1a082400 4    0    31    255   18    -1   
Eth2/20    1a082600 4    0    32    255   19    -1   
Eth2/21    1a082800 4    0    33    255   20    -1   
Eth2/22    1a082a00 4    0    34    255   21    -1   
Eth2/23    1a082c00 4    0    35    255   22    -1   
Eth2/24    1a082e00 4    0    36    255   23    -1 

キューイングおよびスケジューリングの設定例

ここでは、キューイングおよびスケジューリングの設定例を示します。


(注)  


デフォルトのシステム クラスは、qos-group に基づいてキューイング一致を入力します(デフォルトでは、qos-group 0 にすべてのトラフィックが一致し、このデフォルト キューは 100%の帯域幅を取得します)。タイプ キューイング クラスおよびポリシーに適切に一致するように、最初に qos-group を設定するタイプ QoS ポリシーを作成します。


例:出力キューでの WRED の設定

次に、出力キューの WRED 機能を設定する例を示します。

configure terminal
  class-map type queuing match-any c-out-q1
    match qos-group 1
  class-map type queuing match-any c-out-q2
    match qos-group 1
  policy-map type queuing wred
    class type queuing c-out-q1
      random-detect minimum-threshold 10 bytes maximum-threshold 1000 bytes
    class type queuing c-out-q2
      random-detect threshold burst-optimized ecn

例:トラフィック シェーピングの設定

次に、各クラスに 500 mbps と 1000 mbps を使用してトラフィック シェーピングを設定する例を示します。

configure terminal
  class-map type queuing match-any c-out-q1
    match qos-group 1
  class-map type queuing match-any c-out-q2
    match qos-group 1
policy-map type queuing pqu
  class type queuing c-out-8q-q3
    bandwidth percent 20
    shape min 100 mbps max 500 mbps
  class type queuing c-out-8q-q2
    bandwidth percent 30
    shape min 200 mbps max 1000 mbps
  class type queuing c-out-8q-q-default
    bandwidth percent 50
  class type queuing c-out-8q-q1
    bandwidth percent 0
  class type queuing c-out-8q-q4
    bandwidth percent 0
  class type queuing c-out-8q-q5
    bandwidth percent 0
  class type queuing c-out-8q-q6
    bandwidth percent 0
  class type queuing c-out-8q-q7
    bandwidth percent 0
system qos
  service-policy type queuing output pqu