モジュラ QoS コマンドライン インターフェイス(CLI)の使用

MQC について

Cisco Modular QoS コマンド ライン インターフェイス(MQC)は、QoS ポリシーを定義する言語を提供します。

QoS ポリシーは次の 3 つの手順を使用して設定します。

  1. トラフィック クラスを定義する。

  2. 各トラフィック クラスにポリシーおよびアクションをアソシエートします。

  3. ポリシーを論理または物理インターフェイスに付加します。

MQC には、トラフィックのクラスとポリシーを定義するためのコマンド タイプが用意されています。

  • policy-map:ポリシー セットを表すポリシー マップを定義します。ポリシー マップはクラス別にクラス マップに適用されます。

    ポリシー マップは、帯域幅の制限やパケットのドロップなど、アソシエートされたトラフィック クラスで実行するアクション セットを定義します。

クラス マップおよびポリシー マップを作成するときに、次のオブジェクト タイプを定義します。

  • network-qos:システム レベル-関連のアクションに使用できる MQC オブジェクトを定義します。

  • qos:マーキングおよびポリシングに使用できる MQC オブジェクトを定義します。

  • queuing:キューイングおよびスケジューリングに使用できる MQC オブジェクトを定義します。


(注)  


デフォルトは qos タイプです。

出力 QoS ポリシーは、サブインターフェイスではサポートされません。


service-policy コマンドを使用して、ポリシーをポート、ポート チャネル、またはサブインターフェイスに付加できます。

show class-map コマンドおよび show policy-map コマンドを使用して、MQC オブジェクトのすべてまたは個々の値を表示できます。


注意    


インターフェイス コンフィギュレーション モードでは、インターフェイスがホストとなっているライン カードがアップしているか、ダウンしているかに関係なく、デバイスは QoS およびアクセス コントロール リスト(ACL)コマンドを受け入れることが可能です。ただし、ラインカードがダウンしている場合は、デバイスが事前設定情報をどれも受け入れないため、インターフェイス サブモードにはできません。


モジュラ QoS CLI の注意事項と制約事項

モジュラ QoS CLI 設定時の注意事項と制約事項は次のとおりです。

  • R シリーズ ライン カードを搭載したデバイスでは、4q モード ポリシーを使用してデータ転送がサポートされません。代わりに、8q モード ポリシーを使用してデバイスを設定します。

システム クラス

システム qos は一種の MQC ターゲットです。service-policy を使用して、ポリシー マップをシステム qos ターゲットに関連付けます。特定のインターフェイスでサービス ポリシー設定を上書きしない限り、システム qos ポリシーはデバイスのインターフェイス全体に適用されます。システム qos ポリシーは、システム クラス、デバイス全体のトラフィック クラス、およびその属性を定義するために使用します。

サービス ポリシーがインターフェイス レベルで設定されている場合、インターフェイス レベルのポリシーは常にシステム クラス設定またはデフォルト値よりも優先されます。

QoS 機能を設定し、システムから MQC オブジェクトが要求される場合、4q モードのシステム定義 MQC オブジェクトまたは 8q モードのシステム定義オブジェクトを使用できます。

Cisco Nexus スイッチでは、システム クラスは qos-group 値によって一意に識別されます。全体で 4 つのシステム クラスがサポートされています。デバイスは、デバイスに常に存在する 1 つのデフォルト クラスをサポートします。最大 3 つの追加システム クラスを管理者が作成できます。システム QoS ターゲットでは、出力キューイングと network-qos および FEX ポリシー向けタイプ qos のみサポートされます。

デフォルトのシステム クラス

デバイスは、次のシステム クラスを提供します。

  • ドロップ システム クラス

デフォルトでは、すべてのユニキャストおよびマルチキャスト イーサネット トラフィックは、デフォルトのドロップ システム クラスに分類されます。このクラスは qos-group 0 で識別されます。

MQC オブジェクトの使用

QoS ポリシーとキューイング ポリシーを設定するには、MQC の class-map および policy-map オブジェクトを使用します。クラス マップとポリシー マップを設定したら、各タイプのポリシー マップを 1 つ、インターフェイスに付加できます。QoS ポリシーは、入力方向だけに適用できます。

ポリシー マップには、QoS ポリシーまたはキューイング ポリシーのいずれかが含まれます。ポリシー マップからは、トラフィック クラスを表すクラス マップの名前を参照します。トラフィックの各クラスについて、デバイスはユーザが選択したインターフェイスまたは VLAN にポリシーを適用します。

パケットとトラフィックのクラスが、1 番目のトラフィック クラス定義から順に照合されます。一致するものが見つかった場合は、そのクラスのポリシー アクションがパケットに適用されます。

予約済みのクラス マップ class-default は、タイプ qos ポリシー内の一致しないすべてのトラフィックを受け取り、デバイスは他のすべてのトラフィック クラスと同様にポリシー アクションを適用します。

タイプ qos ポリシー

タイプ qos ポリシーを使用して、パケットをマーキングおよびポリシングし、システム定義タイプ network-qos およびタイプ キューイング クラスマップの一致条件を駆動する qos-group を設定します。

QoS ポリシー構造と、タイプ QoS の関連 MQC オブジェクトを次の図に示します。MQC オブジェクトは太字で示しています。

図 1. タイプ qos の MQC オブジェクトの使用を示す QoS ポリシーの図

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

タイプ キューイング ポリシーは、パケットのシェーピングおよびキューイングに使用します。

QoS ポリシー構造とタイプ キューイングの関連 MQC オブジェクトを、次の図に示します。MQC オブジェクトは太字で示しています。

図 2. タイプ キューイングの MQC オブジェクトの使用を示す QoS ポリシーの図


システム定義の MQC オブジェクト

QoS 機能を設定し、システムから MQC オブジェクトが要求される場合、4q モードのシステム定義オブジェクトまたは 8q モードのシステム定義オブジェクトを使用できます。

8q モードのシステム定義オブジェクトは次のデバイスでサポートされます。

  • N9K-C92348GC-X

  • Cisco Nexus 9300-EX スイッチ

  • Cisco Nexus 9300-FX スイッチ

  • Cisco Nexus 9300-FX2 スイッチ

  • Cisco Nexus 9300-GX スイッチ

  • -EX または -FX ライン カードを備えた Cisco Nexus 9504、9508 および 9516 スイッチ。


(注)  


FEX が接続されている場合は、4q で設定する必要があります。



(注)  


次の Cisco Nexus スイッチおよびライン カードは、8q モードのシステム定義オブジェクトをサポートしていません。

  • N9K-C9272Q

  • N9K-C9332PQ

  • N9K-C93120TX

  • N9K-X9464PX

  • N9K-X9432PQ



(注)  


8q モードのシステム定義オブジェクトは、ACI(アプリケーション セントリック インフラストラクチャ)対応ライン カードではサポートされません。


4q モードのシステム定義 MQC オブジェクト

QoS 機能を設定し、システムから MQC オブジェクトが要求される場合、以下のシステム定義オブジェクトを使用できます。


(注)  


Cisco Nexus 9000 シリーズ NX-OS システムは、デフォルトでは 8q モードで稼働します。4q モードに変更するには、次の MQC オブジェクトを有効にする必要があります。



(注)  


4q モードのシステム定義の MQC オブジェクトは、Cisco Nexus 9508 スイッチ(NX-OS 7.0(3)F3(3))ではサポートされません。


  • タイプ qos クラス マップ

    表 1. システム定義のタイプ qos クラス マップ

    クラス マップ名

    説明

    class-default

    タイプ qos ポリシー マップで定義したトラフィック クラスの基準のどれにも一致しないパケットがすべて割り当てられる、タイプ qos クラス マップ。

  • タイプ キューイング クラス マップ

    表 2. 4q モードのシステム定義のタイプ キューイング クラス マップ

    クラス マップ キュー名

    説明

    c-out-q-default

    出力デフォルト キュー:QoS グループ 0

    c-out-q1

    出力キュー 1:QoS グループ 1

    c-out-q2

    出力キュー 2:QoS グループ 2

    c-out-q3

    出力キュー 3:QoS グループ 3

  • network-qos クラス マップの入力

    表 3. 4q モードのシステム定義のタイプ network-qos クラス マップ

    クラス マップ ネットワーク QoS 名

    説明

    c-nq-default

    ネットワーク QoS クラス:QoS グループ 0

    c-nq1

    ネットワーク QoS クラス:QoS グループ 1

    c-nq2

    ネットワーク QoS クラス:QoS グループ 2

    c-nq3

    ネットワーク QoS クラス:QoS グループ 3

  • ポリシー マップ

    表 4. システム定義のキューイング ポリシー マップ:4q モード

    キューイング ポリシー マップ名

    説明

    default-out-policy

    キューイング ポリシー マップを適用しないすべてのモジュール ポートに付加される出力キューイング ポリシー マップ。デフォルトの設定値は次のとおりです。

    
    policy-map type queuing default-out-policy
      class type queuing c-out-q3
       priority level 1
      class type queuing c-out-q2
       bandwidth remaining percent 0
      class type queuing c-out-q1
       bandwidth remaining percent 0
      class type queuing c-out-q-default
       bandwidth remaining percent 100

    default-network-qos-policy

    キューイング ポリシー マップを適用しないすべてのモジュール ポートに付加されるネットワーク QoS キューイング ポリシー マップ。デフォルトの設定値は次のとおりです。

    
    policy-map type network-qos default-nq-policy
      class type network-qos c-nq3
       match qos-group 3
       mtu 1500
      class type network-qos c-nq2
       match qos-group 2
       mtu 1500
      class type network-qos c-nq1
       match qos-group 1
       mtu 1500
      class type network-qos c-nq-default
       match qos-group 0
       mtu 1500

8q モードのシステム定義 MQC オブジェクト

QoS 機能を設定し、システムから MQC オブジェクトが要求される場合、以下のシステム定義オブジェクトを使用できます。


(注)  


8q モードのシステム定義 MQC オブジェクトがデフォルトの MQC オブジェクトです。



(注)  


Cisco Nexus 9200 シリーズ スイッチのデフォルトキューは 8q です。


  • タイプ qos クラス マップ

    表 5. システム定義のタイプ qos クラス マップ

    クラス マップ名

    説明

    class-default

    タイプ qos ポリシー マップで定義したトラフィック クラスの基準のどれにも一致しないパケットがすべて割り当てられる、タイプ qos クラス マップ。

  • タイプ キューイング クラス マップ

    表 6. 8q モードのシステム定義のタイプ キューイング クラス マップ(出力)

    クラス マップ キュー名

    説明

    c-out-8q-q-default

    出力デフォルト キュー:QoS グループ 0

    c-out-8q-q1

    出力キュー 1:QoS グループ 1

    c-out-8q-q2

    出力キュー:QoS グループ 2

    c-out-8q-q3

    出力キュー:QoS グループ 3

    c-out-8q-q4

    出力キュー 4:QoS グループ 4

    c-out-8q-q5

    出力キュー 5:QoS グループ 5

    c-out-8q-q6

    出力キュー 6:QoS グループ 6

    c-out-8q-q7

    出力キュー 7:QoS グループ 7

    表 7. 8q モードのシステム定義のタイプ キューイング クラス マップ(受信)

    クラス マップ キュー名

    説明

    c-in-q-default

    受信側デフォルト キュー:QoS グループ 0

    c-in-q1

    受信側キュー 1:QoS グループ 1

    c-in-q2

    受信側キュー 2:QoS グループ 2

    c-in-q3

    受信側キュー 3:QoS グループ 3

    c-in-q4

    受信側キュー 4:QoS グループ 4

    c-in-q5

    受信側キュー 5:QoS グループ 5

    c-in-q6

    受信側キュー 6:QoS グループ 6

    c-in-q7

    受信側キュー 7:QoS グループ 7

  • network-qos クラス マップの入力


    (注)  


    8q モードのシステム定義タイプ network-qos クラス マップは、Cisco Nexus 9508 スイッチ(NX-OS 7.0(3)F3(3))ではサポートされていません。


    表 8. 8q モードのシステム定義のタイプ network-qos クラス マップ

    クラス マップ ネットワーク QoS 名

    説明

    c-8q-nq-default

    ネットワーク QoS クラス:QoS グループ 0

    c-8q-nq1

    ネットワーク QoS クラス:QoS グループ 1

    c-8q-nq2

    ネットワーク QoS クラス:QoS グループ 2

    c-8q-nq3

    ネットワーク QoS クラス:QoS グループ 3

    c-8q-nq4

    ネットワーク QoS クラス:QoS グループ 4

    c-8q-nq5

    ネットワーク QoS クラス:QoS グループ 5

    c-8q-nq6

    ネットワーク QoS クラス:QoS グループ 6

    c-8q-nq7

    ネットワーク QoS クラス:QoS グループ 7

  • ポリシー マップ

    表 9. システム定義のキューイング ポリシー マップ:8q モード

    キューイング ポリシー マップ名

    説明

    default-8q-out-policy

    キューイング ポリシー マップを適用しないすべてのモジュール ポートに付加される出力キューイング ポリシー マップ。デフォルトの設定値は次のとおりです。

    
    policy-map type queuing default-8q-out-policy
      class type queuing c-out-8q-q7
       priority level 1
      class type queuing c-out-8q-q6
       bandwidth remaining percent 0
      class type queuing c-out-8q-q5
       bandwidth remaining percent 0
      class type queuing c-out-8q-q4
       bandwidth remaining percent 0
      class type queuing c-out-8q-q3
       bandwidth remaining percent 0
      class type queuing c-out-8q-q2
       bandwidth remaining percent 0
      class type queuing c-out-8q-q1
       bandwidth remaining percent 0
      class type queuing c-out-8q-q-default
       bandwidth remaining percent 100

    default-8q-network-qos-policy

    キューイング ポリシー マップを適用しないすべてのモジュール ポートに付加されるネットワーク QoS キューイング ポリシー マップ。デフォルトの設定値は次のとおりです。

    
    policy-map type network-qos default-8q-nq-policy
      class type network-qos c-8q-nq7
       match qos-group 7
       mtu 1500
      class type network-qos c-8q-nq6
       match qos-group 6
       mtu 1500
      class type network-qos c-8q-nq5
       match qos-group 5
       mtu 1500
      class type network-qos c-8q-nq4
       match qos-group 4
       mtu 1500
      class type network-qos c-8q-nq3
       match qos-group 3
       mtu 1500
      class type network-qos c-8q-nq2
       match qos-group 2
       mtu 1500
      class type network-qos c-8q-nq1
       match qos-group 1
       mtu 1500
      class type network-qos c-8q-nq-default
       match qos-group 0
       mtu 1500

8q モードへの変更


(注)  


Cisco Nexus 9000 シリーズ NX-OS システムは、デフォルトでは 8q モードで稼働します。


8q モードに変更するには、次のガイドラインを使用してください。

  • network-qos ポリシーを 8q モードに変更します。

    default-8q-nq-policy(システムにより作成される 8q のデフォルト network-qos ポリシー)をアクティブにするか、またはqos copy policy-map type network-qos コマンドを使用してこのポリシーをコピーし、必要に応じて編集してからアクティブにできます。

  • キューイング ポリシーを 8q モードに変更します。(つまり、システム キューング ポリシーと、任意でインターフェイス キューイング ポリシーを変更します。)

    qos copy policy-map type queuing コマンドを使用して、default-8q-out-policy(システムにより作成されるデフォルトの 8q キューイング ポリシー)をコピーします。default-8q-out-policy のコピーを必要に応じて編集し、システム レベルでアクティブにします。また任意でインターフェイス レベルでもアクティブにできます。

  • network-qos ポリシーとキューイング ポリシーを 8q モードに変更したら、qos-group 4 ~ 7 に対して set qos-group アクションを使用して、キュー 4 ~ 7 にトラフィックを誘導できるようになります。

8q モードに関する注意

8q モードに関する注意を以下に示します。

  • 8q ポリシーがアクティブに使用されている場合、8q モードをサポートしないシステム イメージにシステムをダウングレードすることはできません。


    (注)  


    非互換性を回避するベスト プラクティスとして、ダウングレード前に 8q ポリシーを削除します。


    次の例に、8q モードをサポートしないシステム イメージへのダウングレードでの非互換性を示します。

    
    switch# show incompatibility nxos bootflash:n9000-dk9.6.1.2.I1.2.bin
    
    The following configurations on active are incompatible with  the system image
    
    1) Service : ipqosmgr , Capability : CAP_FEATURE_IPQOS_8Q_QUE_POLICY_ACTIVE
    Description : QoS Manager - 8Q queuing policy active
    Capability requirement : STRICT
    Enable/Disable command : Please remove 8q queuing policy
    
    2) Service : ipqosmgr , Capability : CAP_FEATURE_IPQOS_8Q_NQOS_POLICY_ACTIVE
    Description : QoS Manager - 8Q network-qos policy active
    Capability requirement : STRICT
    Enable/Disable command : Please remove 8q network-qos policy
    
  • 8q ポリシーは、8-queue をサポートしないラインカードが搭載されたシステムではアクティブにできません。すべての ACI(アプリケーション セントリック インフラストラクチャ)対応ライン カードは、8 キューをサポートしていません。


    (注)  


    ベスト プラクティスとして、8-queue 機能を使用する前に、8-queue をサポートしないすべてのラインカードの電源をオフにします。


    次の例に、8-queue をサポートしないラインカードが搭載されたシステムで 8-queue 機能を使用すると発生するエラーの一部を示します。

    
    switch(config)# system qos
      switch(config-sys-qos)# service-policy type queuing output default-8q-out-policy
      ERROR: policy-map default-8q-out-policy can be activated only on 8q capable platforms
    
      switch(config)# system qos
      switch(config-sys-qos)# service-policy type network-qos default-8q-nq-policy
      ERROR: policy-map default-8q-nq-policy can be activated only on 8q capable platforms
    
      switch(config)# policy-map p1
      switch(config-pmap-qos)# class c1
      switch(config-pmap-c-qos)# set qos-group 7
      ERROR: set on qos-group 4-7 is supported only on 8q capable platforms
    
8q モードへの変更の例

8q モードへの変更例を次に示します。


(注)  


この例は、Cisco Nexus 9508 スイッチ(NX-OS 7.0(3)F3(3))には適用されません。



switch# qos copy policy-map type network-qos default-8q-nq-policy prefix my
switch# show policy-map type network-qos

  Type network-qos policy-maps
  ============================
  policy-map type network-qos my8q-nq
    class type network-qos c-8q-nq7
      mtu 1500
    class type network-qos c-8q-nq6
      mtu 1500
    class type network-qos c-8q-nq5
      mtu 1500
    class type network-qos c-8q-nq4
      mtu 1500
    class type network-qos c-8q-nq3
      mtu 1500
    class type network-qos c-8q-nq2
      mtu 1500
    class type network-qos c-8q-nq1
      mtu 1500
    class type network-qos c-8q-nq-default
      mtu 1500

switch# config t
switch(config)# policy-map type network-qos my8q-nq
switch(config-pmap-nqos)# class type network-qos c-8q-nq1
switch(config-pmap-nqos-c)# mtu 9216
switch(config-pmap-nqos-c)# class type network-qos c-8q-nq2
switch(config-pmap-nqos-c)# mtu 2240
switch(config-pmap-nqos-c)# class type network-qos c-8q-nq4
switch(config-pmap-nqos-c)# pause pfc-cos 4
switch(config-pmap-nqos-c)# class type network-qos c-8q-nq5
switch(config-pmap-nqos-c)# mtu 2240
switch(config-pmap-nqos-c)# pause pfc-cos 5
switch(config-pmap-nqos-c)# class type network-qos c-8q-nq6
switch(config-pmap-nqos-c)# mtu 9216
switch(config-pmap-nqos-c)# pause pfc-cos 6
switch(config-pmap-nqos-c)# show policy-map type network-qos my8q-nq

  Type network-qos policy-maps
  ============================
  policy-map type network-qos my8q-nq
    class type network-qos c-8q-nq7
      mtu 1500
    class type network-qos c-8q-nq6
      pause pfc-cos 6
      mtu 9216
    class type network-qos c-8q-nq5
      pause pfc-cos 5
      mtu 2240
    class type network-qos c-8q-nq4
      pause pfc-cos 4
      mtu 1500
    class type network-qos c-8q-nq3
      mtu 1500
    class type network-qos c-8q-nq2
      mtu 2240
    class type network-qos c-8q-nq1
      mtu 9216
    class type network-qos c-8q-nq-default
      mtu 1500

switch(config)# system qos
switch(config-sys-qos)# service-policy type network-qos my8q-nq
switch(config-sys-qos)# 2014 Jun 12 11:13:48 switch %$ VDC-1 %$ %IPQOSMGR-2-QOSMGR_NETWORK_QOS_POLICY_CHANGE: Policy my8q-nq is now active

switch(config-sys-qos)# show policy-map system type network-qos

  Type network-qos policy-maps
  ============================
  policy-map type network-qos my8q-nq
    class type network-qos c-8q-nq7
      match qos-group 7
      mtu 1500
    class type network-qos c-8q-nq6
      match qos-group 6
      pause pfc-cos 6
      mtu 9216
    class type network-qos c-8q-nq5
      match qos-group 5
      pause pfc-cos 5
      mtu 2240
    class type network-qos c-8q-nq4
      match qos-group 4
      pause pfc-cos 4
      mtu 1500
    class type network-qos c-8q-nq3
      match qos-group 3
      mtu 1500
    class type network-qos c-8q-nq2
      match qos-group 2
      mtu 2240
    class type network-qos c-8q-nq1
      match qos-group 1
      mtu 9216
    class type network-qos c-8q-nq-default
      match qos-group 0
      mtu 1500

switch# qos copy policy-map type queuing default-8q-out-policy prefix my
switch# show policy-map type queuing my8q-out


  Type queuing policy-maps
  ========================

  policy-map type queuing my8q-out
    class type queuing c-out-8q-q7
      priority level 1
    class type queuing c-out-8q-q6
      bandwidth remaining percent 0
    class type queuing c-out-8q-q5
      bandwidth remaining percent 0
    class type queuing c-out-8q-q4
      bandwidth remaining percent 0
    class type queuing c-out-8q-q3
      bandwidth remaining percent 0
    class type queuing c-out-8q-q2
      bandwidth remaining percent 0
    class type queuing c-out-8q-q1
      bandwidth remaining percent 0
    class type queuing c-out-8q-q-default
     bandwidth remaining percent 100

switch# config t
switch(config)# policy-map type queuing my8q-out
switch(config-pmap-c-que)# class type queuing c-out-8q-q-default
switch(config-pmap-c-que)# bandwidth remaining percent 30
switch(config-pmap-c-que)# class type queuing c-out-8q-q1
switch(config-pmap-c-que)# bandwidth remaining percent 15
switch(config-pmap-c-que)# class type queuing c-out-8q-q2
switch(config-pmap-c-que)# bandwidth remaining percent 15
switch(config-pmap-c-que)# class type queuing c-out-8q-q3
switch(config-pmap-c-que)# bandwidth remaining percent 10
switch(config-pmap-c-que)# class type queuing c-out-8q-q4
switch(config-pmap-c-que)# bandwidth remaining percent 10
switch(config-pmap-c-que)# class type queuing c-out-8q-q5
switch(config-pmap-c-que)# bandwidth remaining percent 10
switch(config-pmap-c-que)# class type queuing c-out-8q-q6
switch(config-pmap-c-que)# bandwidth remaining percent 10
switch(config-pmap-c-que)# show policy-map type queuing my8q-out


  Type queuing policy-maps
  ========================

  policy-map type queuing my8q-out
    class type queuing c-out-8q-q7
      priority level 1
    class type queuing c-out-8q-q6
      bandwidth remaining percent 10
    class type queuing c-out-8q-q5
      bandwidth remaining percent 10
    class type queuing c-out-8q-q4
      bandwidth remaining percent 10
    class type queuing c-out-8q-q3
      bandwidth remaining percent 10
    class type queuing c-out-8q-q2
      bandwidth remaining percent 15
    class type queuing c-out-8q-q1
      bandwidth remaining percent 15
    class type queuing c-out-8q-q-default
      bandwidth remaining percent 30

switch(config)# system qos
switch(config-sys-qos)# service-policy type queuing output my8q-out
switch(config-sys-qos)# show policy-map system type queuing



  Service-policy output:   my8q-out
          Service-policy (queuing) output:   my8q-out
            policy statistics status:   disabled (current status: disabled)

            Class-map (queuing):   c-out-8q-q7 (match-any)
              priority level 1

            Class-map (queuing):   c-out-8q-q6 (match-any)
              bandwidth remaining percent 10

            Class-map (queuing):   c-out-8q-q5 (match-any)
              bandwidth remaining percent 10

            Class-map (queuing):   c-out-8q-q4 (match-any)
              bandwidth remaining percent 10

            Class-map (queuing):   c-out-8q-q3 (match-any)
              bandwidth remaining percent 10

            Class-map (queuing):   c-out-8q-q2 (match-any)
              bandwidth remaining percent 15

            Class-map (queuing):   c-out-8q-q1 (match-any)
              bandwidth remaining percent 15

            Class-map (queuing):   c-out-8q-q-default (match-any)
              bandwidth remaining percent 30

qos-group の設定例

qos-group に値 4 ~ 7 を設定する例を次に示します。


switch(config)# policy-map p1
switch(config-pmap-qos)# class c1
switch(config-pmap-c-qos)# set qos-group 1
switch(config-pmap-c-qos)# ex
switch(config-pmap-qos)# class c2
switch(config-pmap-c-qos)# set qos-group 4
switch(config-pmap-c-qos)# ex
switch(config-pmap-qos)# class c3
switch(config-pmap-c-qos)# set qos-group 7
switch(config-pmap-c-qos)# ex
switch(config-pmap-qos)# ex
switch(config)# show policy-map p1


  Type qos policy-maps
  ====================

  policy-map type qos p1
    class  c1
      set qos-group 1
    class  c2
      set qos-group 4
    class  c3
      set qos-group 7
switch(config)# conf t
switch(config)# int ethernet 2/1
switch(config-if)# service-policy type qos input p1
switch(config-if)# show policy-map interface ethernet 2/1


Global statistics status :   enabled

Ethernet2/1

  Service-policy (qos) input:   p1
    SNMP Policy Index:  285226505

    Class-map (qos):   c1 (match-all)
      Match: dscp 10
      set qos-group 1

    Class-map (qos):   c2 (match-all)
      Match: dscp 20
      set qos-group 4

    Class-map (qos):   c3 (match-all)
      Match: dscp 30
      set qos-group 7

8q モードから 4q モードへの変更


(注)  


8q モードから 4q モードへの変更は、Cisco Nexus 9508 スイッチ(NX-OS 7.0(3)F3(3))ではサポートされていません。


8q モードから 4q モードに変更するには、次のガイドラインを使用してください:

  • アクティブな入力 QoS ポリシーのいずれにも QoS グループ 4 ~ 7 に対する set qos-group アクションが含まれておらず、キュー 4 ~ 7 へのトラフィック フローが行われないことを確認します。

  • すべての 8q インターフェイス ポリシーと 8q システム レベル ポリシーが、対応する 4q ポリシーに置き換えられることを確認します。

  • 8q network-qos ポリシーを、対応する 4q ポリシーに置き換えます。

MQC オブジェクトの設定

MQC オブジェクト コマンドを指定すると、デバイスは、オブジェクトが存在しない場合にオブジェクトを作成し、それからマップ モードを開始します。

class-map または policy-map オブジェクトを削除するには、オブジェクトの作成に使用したコマンドの no 形式を使用します。

クラス マップの設定または変更

クラス マップを作成または変更できます。以降は、クラス マップをポリシー マップで参照できるようになります。


(注)  


キューイング クラス マップは作成できません。いずれかのシステム定義のキューイング クラス マップを使用する必要があります。


手順の概要

  1. configure terminal
  2. class-map type qos [match-any | match-all] class-name
  3. exit
  4. class-map type queuing match-any class-name
  5. exit
  6. show class-map [type qos [ class-name]]
  7. show class-map [type queuing [ class-name]]
  8. copy running-config startup-config

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:
switch# configure terminal
switch(config)#

グローバル コンフィギュレーション モードを開始します。

ステップ 2

class-map type qos [match-any | match-all] class-name

例:
switch(config)# class-map type qos class1
switch(config-cmap-qos)#

タイプ qos のクラス マップを作成するか、タイプ qos のクラス マップにアクセスし、クラス マップ qos モードを開始します。クラス マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。クラス マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。

ステップ 3

exit

例:
switch(config-cmap-qos)# exit
switch(config)#

クラス マップ qos モードを終了し、グローバル コンフィギュレーション モードを開始します。

ステップ 4

class-map type queuing match-any class-name

例:
switch(config)# class-map type queuing match-any c-out-q2
switch(config-cmap-que)#

タイプ キューイングのクラス マップを作成するか、タイプ キューイングのクラス マップにアクセスし、クラス マップ キューイング モードを開始します。

ステップ 5

exit

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

クラス マップ キューイング モードを終了し、グローバル コンフィギュレーション モードを開始します。

ステップ 6

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

例:
switch(config)# show class-map type qos

(任意)設定済みのすべてのクラス マップ、すべてのタイプ qos のクラス マップ、または選択したタイプ qos のクラス マップについて、情報を表示します。

ステップ 7

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

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

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

ステップ 8

copy running-config startup-config

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

(任意)実行コンフィギュレーションをスタートアップ コンフィギュレーションに保存します。

ポリシー マップの設定または変更

ポリシー マップを作成または変更できます。ポリシー マップを使用して、クラス マップに対して実行するアクションを定義できます。

手順の概要

  1. configure terminal
  2. policy-map type qos { [match-first] policy-map-name}
  3. exit
  4. policy-map type queuing {[match-first] policy-map-name}
  5. exit
  6. show policy-map [type qos [ policy-map-name]]
  7. show policy-map [type queuing [ policy-map-name | default-out-policy]]
  8. copy running-config startup-config

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:
switch# configure terminal
switch(config)#

グローバル コンフィギュレーション モードを開始します

ステップ 2

policy-map type qos { [match-first] policy-map-name}

例:
switch(config)# policy-map type qos policy1
switch(config-pmap-qos)#

タイプ qos のポリシー マップを作成するか、タイプ qos のポリシー マップにアクセスし、ポリシー マップ モードを開始します。ポリシー マップ名は、最大 40 文字の英字、ハイフン、または下線文字を使用でき、大文字と小文字が区別されます。

ステップ 3

exit

例:
switch(config-pmap)# exit
switch(config)#

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

ステップ 4

policy-map type queuing {[match-first] policy-map-name}

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

タイプ キューイングのポリシー マップを設定し、指定したポリシー マップ名のポリシー マップ モードを開始します。ポリシー マップ名は、最大 40 文字の英字、ハイフン、または下線文字を使用でき、大文字と小文字が区別されます。

ステップ 5

exit

例:
switch(config-pmap)# exit
switch(config)#

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

ステップ 6

show policy-map [type qos [ policy-map-name]]

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

(任意)設定済みのすべてのポリシー マップ、すべてのタイプ qos のポリシー マップ、または選択したタイプ qos のポリシー マップについて、情報を表示します。

ステップ 7

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

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

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

ステップ 8

copy running-config startup-config

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

(任意)実行コンフィギュレーションをスタートアップ コンフィギュレーションに保存します。

MQC オブジェクトへの説明の適用

description コマンドを使用すると、MQC オブジェクトに説明を追加できます。

手順の概要

  1. configure terminal
  2. 説明を設定する MQC オブジェクトを指定します。
    • Class-map:

      class-map [type qos] [match-any | match-all] class-name
    • ポリシーマップ:

      policy-map [type qos] [match-first] policy-map-name
  3. description string
  4. exit
  5. copy running-config startup-config

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

グローバル コンフィギュレーション モードを開始します

ステップ 2

説明を設定する MQC オブジェクトを指定します。

  • Class-map:

    class-map [type qos] [match-any | match-all] class-name
  • ポリシーマップ:

    policy-map [type qos] [match-first] policy-map-name

例:

  • Class-map:

    switch(config-cmap)# class-map class1
    switch(config-cmap)#
  • ポリシーマップ:

    switch(config)# policy-map policy1
    switch(config-pmap)#
  • Class-map:

    クラス マップを作成するか、クラス マップにアクセスし、クラス マップ モードを開始します。クラス マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。クラス マップ名は大文字と小文字が区別され、最大 40 文字までの英数字を設定できます。

  • ポリシーマップ:

    ポリシー マップを作成するか、ポリシー マップにアクセスし、ポリシー マップ モードを開始します。ポリシー マップ名には、アルファベット、ハイフン、またはアンダースコア文字を含めることができます。ポリシー マップ名は大文字と小文字が区別され、最大 40 文字まで設定できます。

ステップ 3

description string

例:

switch(config-cmap)# description my traffic class
switch(config-cmap)#

説明文字列を MQC オブジェクトに追加します。説明には最大 200 文字の英数字を使用できます。

(注)  

 

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

ステップ 4

exit

例:

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

クラス マップ モードを終了し、グローバル コンフィギュレーション モードを開始します。

ステップ 5

copy running-config startup-config

例:

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

(任意)実行コンフィギュレーションをスタートアップ コンフィギュレーションに保存します。

MQC オブジェクトの確認

MQC オブジェクトの設定情報を表示するには、次の作業のいずれかを行います。

コマンド

目的

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

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

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

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

show policy-map [type qos [ policy-map-name]]

設定済みのすべてのポリシー マップ、すべてのタイプ qos のポリシー マップ、または選択したタイプ qos のポリシー マップについて、情報を表示します。

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

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

QoS ポリシー アクションの付加および消去

ソフトウェアのコンフィギュレーション コマンドを使用して QoS 機能をイネーブルまたはディセーブルにすることはできません。QoS 機能をイネーブルまたはディセーブルにするには、ここで説明する方法を使用して、インターフェイスまたは VLAN に対して QoS ポリシーを付加または消去する必要があります。

別のポリシー マップを具体的に付加しない限り、システム定義のタイプ キューイング ポリシー マップが各インターフェイスに付加されます。


(注)  


デバイスでは、インターフェイスごとに 1 つのキューイング ポリシーだけを使用できます。


複数のインターフェイスで定義されているポリシーには次の制限があります。

  • 物理ポートに付加された QoS ポリシーは、ポートがポート チャネルのメンバーとなっていない場合に有効になります。

  • ポート チャネルに付加された QoS ポリシーは、ポリシーがメンバー ポートに付加されている場合でも有効になります。

  • VLAN に付加された QoS ポリシーは、他のポリシーが特に適用されていないその VLAN 内のすべてのポートに適用されます。

  • 各レイヤ 3 ポートおよびレイヤ 3 ポート チャネル インターフェイスについて、1 つの入力 QoS ポリシーがサポートされています。

  • VLAN ごとに 1 つの入力 QoS ポリシーがサポートされています。

  • VLAN、ポート チャネル、またはその両方が複数のフォワーディング エンジンに接続すると、レートを強制するすべてのポリシーがフォワーディング エンジンごとに強制されます。

    たとえば、特定の VLAN のレートを 100 Mbps に制限するポリサーが VLAN 上で設定されていて、あるモジュール上の VLAN 内にスイッチ ポートを 1 つ設定し、別のモジュール上の VLAN にスイッチ ポートをもう 1 つ設定する場合は、各フォワーディング エンジンで 100 Mbps のレートが強制されます。この場合、レートを 100 Mbps に制限するように設定した VLAN 内で、実際には最大 200 Mbps を使用できる可能性があります。


(注)  


別のポリシーを設定して適用しない限り、デフォルトのキューイング ポリシーはアクティブです。


次の表に、QoS ポリシーが適用されるインターフェイスを示します。各行はインターフェイスのレベルを表しています。項目の説明は次のとおりです。

  • 適用済み:付加されたポリシーが適用されているインターフェイス

  • 存在:ポリシーが付加されているものの適用されていないインターフェイス

  • 非存在:ポリシーが付加されていないインターフェイス

  • 存在または非存在:ポリシーが付加されているかどうかが不明で、適用されていないインターフェイス

表 10. QoS ポリシー インターフェイス

ポート ポリシー

ポート チャネル ポリシー

VLAN ポリシー

適用済み

なし

存在または非存在

存在または非存在

適用済み

存在または非存在

なし

なし

適用済み

ポリシー マップをインターフェイスまたは VLAN に付加するには、service-policy コマンドを使用します。ポリシー マップで定義したポリシーをインターフェイス上のパケットの入力ストリームに適用します。

インターフェイスからポリシー マップを消去するには、コマンドの no 形式を使用します。service-policy

レイヤ 2 インターフェイスのサービス ポリシーの設定

始める前に

Ternary Content Addressable Memory(TCAM)がポート QoS に対してカービングされることを確認します。

詳細については、「QoS TCAM カービングの設定」の項を参照してください。

手順の概要

  1. configure terminal
  2. interface interface slot/port
  3. switchport
  4. service-policy type {qos input | queuing output} | {qos output | queuing output} policy-map-name [no-stats]
  5. show policy-map interface interface slot/port type {qos | queuing}
  6. copy running-config startup-config

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

グローバル設定モードを開始します。

ステップ 2

interface interface slot/port

例:

switch(config)# interface ethernet 1/1
switch(config-if)#

設定インターフェイス モードを開始します。

ステップ 3

switchport

例:

switch(config-if)# switchport

レイヤ 2 インターフェイスを選択します。

ステップ 4

service-policy type {qos input | queuing output} | {qos output | queuing output} policy-map-name [no-stats]

例:

switch(config-if)# service-policy input policy1
switch(config-if)#

例:

switch(config-if)# interface intf1
switch(config-if)# service-policy type qos output egressqos
switch(config-if)# exit
switch(config)#

ポリシー マップをレイヤ 2 インターフェイスのサービス ポリシーとして使用するように指定します。2 つのポリシー マップ コンフィギュレーション モードがあります。

  • または qos input : qos input はデフォルトの分類モードです。分類モードを出力に設定するには、qos 出力 を使用します。

  • queuing output:キューイング モード。

(注)  

 

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

ステップ 5

show policy-map interface interface slot/port type {qos | queuing}

例:

switch(config)# show policy-map interface ethernet 1/1 type qos

(任意)指定したインターフェイスに適用したポリシー マップについての情報を表示します。デバイスが表示する内容を、qos またはキューイング ポリシーに制限できます。

ステップ 6

copy running-config startup-config

例:

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

(任意)実行コンフィギュレーションをスタートアップ コンフィギュレーションに保存します。

レイヤ 3 インターフェイスのサービス ポリシーの設定

始める前に

Ternary Content Addressable Memory(TCAM)がレイヤ 3 QoS に対してカービングされることを確認します。

詳細については、「QoS TCAM カービングの設定」の項を参照してください。

手順の概要

  1. configure terminal
  2. interface interface slot/port
  3. no switchport
  4. service-policy type {qos input | queuing output} | {qos output | queuing output} policy-map-name [no-stats]
  5. show policy-map interface interface slot/port type {qos | queuing}
  6. copy running-config startup-config

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

グローバル設定モードを開始します。

ステップ 2

interface interface slot/port

例:

switch(config)# interface ethernet 1/1
switch(config-if)#

設定インターフェイス モードを開始します。

ステップ 3

no switchport

例:

switch(config-if)# no switchport

レイヤ 3 インターフェイスを選択します。

ステップ 4

service-policy type {qos input | queuing output} | {qos output | queuing output} policy-map-name [no-stats]

例:

switch(config-if)# service-policy input policy1
switch(config-if)#

例:

switch(config-if)# service-policy output policy1
switch(config-if)#

ポリシー マップをレイヤ 3 インターフェイスのサービス ポリシーとして使用するように指定します。2 つのポリシー マップ コンフィギュレーション モードがあります。

  • または qos input : qos input はデフォルトの分類モードです。分類モードを出力に設定するには、qos 出力 を使用します。

  • queuing output:キューイング モード。

(注)  

 

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

ステップ 5

show policy-map interface interface slot/port type {qos | queuing}

例:

switch(config)# show policy-map interface ethernet 1/1 type qos

(任意)指定したインターフェイスに適用したポリシー マップについての情報を表示します。デバイスが表示する内容を、qos またはキューイング ポリシーに制限できます。

ステップ 6

copy running-config startup-config

例:

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

(任意)実行コンフィギュレーションをスタートアップ コンフィギュレーションに保存します。

システム サービス ポリシーの追加

service-policy コマンドは、システムのサービス ポリシーとしてシステム クラス ポリシー マップを指定します。

手順の概要

  1. configure terminal
  2. system qos
  3. service-policy type {network-qos | queuing output} policy-map-name

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

グローバル コンフィギュレーション モードを開始します

ステップ 2

system qos

例:

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

システム クラス コンフィギュレーション モードを開始します。

ステップ 3

service-policy type {network-qos | queuing output} policy-map-name

例:

switch(config-sys-qos)# service-policy input default-nq-policy

ポリシー マップをシステムのサービス ポリシー(default-nq-policy)として使用するよう指定します。2 つのポリシー マップ コンフィギュレーション モードがあります。

  • network-qos:ネットワーク全体(system qos)モード

(注)  

 

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

  • queuing:キューイング モード(システム qos およびインターフェイスの output)。

(注)  

 

デフォルトのポリシー マップ コンフィギュレーション モードはありません。タイプを指定する必要があります。output キーワードは、そのポリシー マップがインターフェイスの送信トラフィックに適用される必要があることを示します。キューイング ポリシーには output のみ適用できます。

VLAN への QoS ポリシー アクションの付加

始める前に

Ternary Content Addressable Memory(TCAM)が VLAN QoS に対してカービングされることを確認します。

詳細については、QoS TCAM カービングに関する章を参照してください。

手順の概要

  1. configure terminal
  2. vlan configuration vlan-id-list
  3. service-policy [type qos] {input} | {qos output } {policy-map-name} [no-stats]
  4. show policy-map [interface interface | vlan vlan-id] [input] [type qos | queuing] [class [type qos | queuing] class-map-name]
  5. copy running-config startup-config

手順の詳細

  コマンドまたはアクション 目的

ステップ 1

configure terminal

例:

switch# configure terminal
switch(config)#

グローバル コンフィギュレーション モードを開始します

ステップ 2

vlan configuration vlan-id-list

例:

switch(config)# vlan configuration 2
switch(config-vlan-config)#

VLAN コンフィギュレーション モードを開始します。

(注)  

 

vlan-id-list は VLAN のスペース区切りリストです。

ステップ 3

service-policy [type qos] {input} | {qos output } {policy-map-name} [no-stats]

例:

switch(config-vlan-config)# service-policy type qos input policy1

例:

switch(config-if)# service-policy type qos output egressqos
switch(config-if)# exit
switch(config)#

ポリシー マップを VLAN の入力パケットに追加します。

VLAN には入力ポリシーを 1 つのみ接続できます。この例では、policy1 を VLAN に追加します。

ラベル共有は、VLAN の QoS ポリシーがオプションで設定されている場合にのみ発生します。no-stats このオプションを使用すると、同じ QoS ポリシーが複数の VLAN に適用される時に、QoS ラベルが共有されます。no-stats

(注)  

 

オプションが設定されている場合、ラベルが共有されるため、VLAN ベースの入力 QoS ポリシーマップ統計情報は使用できません。no-stats

ステップ 4

show policy-map [interface interface | vlan vlan-id] [input] [type qos | queuing] [class [type qos | queuing] class-map-name]

例:

switch(config)# show policy-map vlan 2

(任意)すべてのインターフェイスまたは指定したインターフェイスに適用したポリシー マップについての情報を表示します。デバイスに表示される内容を、入力ポリシー、qos またはキューイング ポリシー、および特定のクラスに制限できます。

ステップ 5

copy running-config startup-config

例:

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

(任意)実行コンフィギュレーションをスタートアップ コンフィギュレーションに保存します。

Session Manager による QoS サポート

Session Manager は QoS の設定をサポートしています。この機能によって、QoSの設定を確認し、設定を実行コンフィギュレーションにコミットする前に、その設定が必要とするリソースが利用可能かどうかを確認できます。Session Manager の詳細については、『Cisco Nexus 9000 Series NX-OS System Management Configuration Guide』を参照してください。

コンフィギュレーション セッションを開始すると、コンフィギュレーション セッションが中断されるかコミットされるまで、configure terminal コンフィギュレーション モードを使用してコンフィギュレーション コマンドを開始できません。並行設定(一方でコンフィギュレーション セッションを使用し、もう一方で configuration terminal コンフィギュレーション モードを使用)を開始すると、コンフィギュレーション セッション モードで確認エラーが発生する可能性があります。