Cisco Nexus 5600 シリーズ NX-OS Quality of Service コンフィギュレーション ガイド リリース 7.x
ポリシー マップの設定
ポリシー マップの設定

ポリシー マップの設定

この章の内容は、次のとおりです。

ポリシー タイプに関する情報

このデバイスは、複数のポリシー タイプをサポートしています。 クラス マップはポリシー タイプで作成します。

3 つのポリシー タイプがあります。
  • network-qos

  • Queuing

  • QoS

Cisco Nexus デバイス で FCoE をイネーブルにする前に、type qos policy maps コマンドを入力し、システム QoS に 1 つ以上の FCoE QoS ポリシーを適用することによって、3 つのタイプ QoS ポリシー(ネットワーク QoS、キューイング、および QoS)において、class-fcoe をイネーブルにする必要があります。

クラスの各タイプには、次の QoS パラメータを指定できます。

  • type network-qos:network-qos ポリシーを使用して、システム クラスを配置し、システム全体のスコープを持つそれらのクラスにパラメータを関連付けます。

    • 分類:このクラスに一致するトラフィックは次のとおりです。

      • QoS グループ:type network-qos のクラス マップはシステム クラスを示し、関連付けられた qos-group によって照合されます。

    • ポリシー:一致したトラフィックで実行されるアクションは次のとおりです。


      (注)  


      network-qos ポリシーは、システム qos ターゲットだけに結合できます。


      • MTU:システム クラスにマッピングされたトラフィックに適用する必要のある最大伝送単位(MTU)。 システム クラスごとにデフォルトの MTU があります。システム クラス MTU は設定可能です。

      • マルチキャスト最適化:このクラスにマッピングされているマルチキャスト トラフィックのパフォーマンスを最適化する場合に指定します。

      • pause no-drop:no drop は、システム クラスのロスレス サービスを指定します。 drop は、このシステム クラスのキューが満杯である場合にテール ドロップを使用する(キューが割り当てサイズに達すると、着信パケットがドロップされる)よう指定します。

        追加のパラメータ pfc-cos を設定できます。 このパラメータは、no-drop システム クラスのトラフィックが、サービス クラス(CoS)だけに基づいてマッピングされず、輻輳が発生する場合に、プライオリティ フロー制御(PFC)をアサートする CoS 値を示します。

      • no-drop クラス用のバッファを変更できます。

      • キュー制限:このシステム クラスのキューに確保する必要があるバッファ数を指定します。 このオプションは no-drop システム クラスには設定できません。

  • type queuing:type queuing ポリシーを使用して、システム クラスと関連付けられたキューのスケジューリング特性を定義します。


    (注)  


    一部の設定パラメータは、EtherChannel に適用されていると、メンバ ポートの設定に反映されません。


    • 分類:このクラスに一致するトラフィックは次のとおりです。

      • QoS グループ:タイプ キューイングのクラス マップは、システム クラスを示し、関連付けられた QoS グループによって照合されます。

    • ポリシー:一致したトラフィックで実行されるアクションは次のとおりです。


      (注)  


      システム qos ターゲットまたは任意のインターフェイスに結合できます。 出力キューイング ポリシーを使用して、システム クラスに関連付けられた、デバイスの出力キューを設定します。 入力キューイング ポリシーを使用して、統合ネットワーク アダプタ(CNA)のキューのスケジューリングを設定します。 入力キューイング ポリシー パラメータは、DCBX プロトコルで CNA に発信されます。


      • 帯域幅:保証されるスケジューリング Deficit Weighted Round Robin(DWRR)の割合(%)をシステム クラスに設定します。

      • プライオリティ:システム クラスを完全プライオリティ スケジューリング用に設定します。 指定されたキューイング ポリシーで優先するシステム クラスを 1 つだけ設定できます。

  • タイプ qos:タイプ QoS ポリシーを使用して、フレーム内にあるレイヤ 2、レイヤ 3、レイヤ 4 の各種フィールドに基づいたトラフィックを分類し、システム クラスにマッピングします。


    (注)  


    一部の設定パラメータは、EtherChannel に適用されていると、メンバ ポートの設定に反映されません。


    • 分類:このクラスに一致するトラフィックは次のとおりです。

      • アクセス コントロール リスト(ACL):既存の ACL の基準に基づいてトラフィックを分類します。

      • サービス クラス:フレーム ヘッダーの CoS フィールドに基づいてトラフィックを照合します。

      • DSCP:IP ヘッダーの DiffServ フィールドにある DiffServ コード ポイント(DSCP)値に基づいてトラフィックを分類します。

      • IP リアルタイム プロトコル:リアルタイム アプリケーションで使用されるポート番号に基づいてトラフィックを分類します。

      • 優先順位:IP ヘッダーのタイプ オブ サービス(ToS)フィールドの優先順位値に基づいてトラフィックを分類します。

      • プロトコル:IP ヘッダーの [IPv4 Protocol] フィールドまたは [IPv6 Next Header] フィールドに基づいて、トラフィックを分類します。

    • ポリシー:一致したトラフィックで実行されるアクションは次のとおりです。


      (注)  


      このポリシーは、システムまたは任意のインターフェイスに追加できます。 このポリシーは入力トラフィックだけに適用されます。


      • QoS グループ:このトラフィック フローがマッピングされたシステム クラスに対応する QoS グループを設定します。

ポリシー マップの設定

ポリシーマップの作成

policy-map コマンドを使用して、トラフィック クラスのセットに適用されるポリシーのセットを表す名前付きオブジェクトを作成します。

ロスレス サービス用の no-drop クラス(class-fcoe)とベストエフォート型サービス用の drop クラス(class-default)の 2 つのデフォルト システム クラスがデバイスにあります。 イーサネット トラフィックには最大 4 つの追加システム クラスを定義できます。

次の事前定義ポリシー マップがデフォルトのサービス ポリシーとして使用されます。

  • network-qos:default-nq-policy

  • Input qos: default-in-policy

  • Input queuing:default-in-policy

  • Output queuing: default-out-policy

  • service-policy type qos input fcoe-default-in-policy

  • service-policy type queuing input fcoe-default-in-policy

  • service-policy type queuing output fcoe-default-out-policy

  • service-policy type network-qos fcoe-default-nq-policy

class-fcoe が qos ポリシーに含まれていない場合、vFC インターフェイスはアップにならず、ドロップの増加が発生します。

ポリシー マップを作成して、任意のユーザ定義のクラスにポリシーを指定する必要があります。 このポリシー マップで、各クラスに QoS パラメータを設定できます。 同じポリシー マップを使用して、デフォルト クラスの設定を変更できます。

デバイスは、接続されたネットワーク アダプタにすべてのポリシー マップ設定値を配布します。

はじめる前に

ポリシー マップを作成する前に、新しいシステム クラスごとにクラス マップを定義します。

手順
     コマンドまたはアクション目的
    ステップ 1 switch# configure terminal
     

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

     
    ステップ 2 switch(config)# policy-map [type {network-qos | qos | queuing}] policy-name
     

    トラフィック クラスのセットに適用されるポリシーのセットを表す名前付きオブジェクトを作成します。 ポリシー マップ名は、最大 40 文字の英字、ハイフン、または下線文字を使用でき、大文字と小文字が区別されます。

    次のように 3 つのポリシー マップ コンフィギュレーション モードがあります。

    • network-qos:ネットワーク全体(グローバル)モード。 CLI プロンプト:switch(config-pmap-nq)#

    • qos:分類モード。これがデフォルト モードです。 CLI プロンプト:switch(config-pmap-qos)#

    • queuing:キューイング モード。 CLI プロンプト:switch(config-pmap-que)#

     
    ステップ 3 switch(config)# no policy-map [type {network-qos | qos | queuing}] policy-name
     
    (任意)

    指定されたポリシー マップを削除します。

     
    ステップ 4 switch(config-pmap)# class [type {network-qos | qos | queuing}] class-name
     

    クラス マップをポリシー マップにアソシエートし、指定されたシステム クラスのコンフィギュレーション モードを開始します。 次のように 3 つのクラス マップ コンフィギュレーション モードがあります。

    • network-qos:ネットワーク全体(グローバル)モード。 CLI プロンプト:switch(config-pmap-c-nq)#

    • qos:分類モード。これがデフォルト モードです。 CLI プロンプト:switch(config-pmap-c-qos)#

    • queuing:キューイング モード。 CLI プロンプト:switch(config-pmap-c-que)#

    (注)     

    アソシエートされるクラス マップには、ポリシー マップ タイプと同じタイプが必要です。

     
    ステップ 5 switch(config-pmap)# no class [type {network-qos | qos | queuing}] class-name
     
    (任意)

    クラス マップの関連付けを削除します。

     

    type qos ポリシーの設定

    一意の qos グループ値で識別される特定のシステム クラスのトラフィックを分類するには、type qos ポリシーを使用します。 type qos ポリシーは、入力トラフィックに関してのみ、システムまたは個々のインターフェイス(ファブリック エクステンダのホスト インターフェイスを含む)に追加できます。

    入力トラフィックには最大 5 つの QoS グループを設定できます。

    手順
       コマンドまたはアクション目的
      ステップ 1switch# configure terminal  

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

       
      ステップ 2switch(config)# policy-map type qos policy-name  

      トラフィック クラスのセットに適用されるポリシーのセットを表す名前付きオブジェクトを作成します。 ポリシー マップ名は、最大 40 文字の英字、ハイフン、または下線文字を使用でき、大文字と小文字が区別されます。

       
      ステップ 3switch(config-pmap-qos)# [class | class-default] type qos class-name  

      クラス マップをポリシー マップにアソシエートし、指定されたシステム クラスのコンフィギュレーション モードを開始します。

      (注)     

      アソシエートされるクラス マップには、ポリシー マップ タイプと同じタイプが必要です。

       
      ステップ 4switch(config-pmap-c-qos)# set qos-group qos-group-value  

      トラフィックをこのクラス マップに分類する場合に照合する 1 つまたは複数の qos-group 値を設定します。 次のリストに、qos-group-value の範囲を示します。 デフォルト値はありません。

       
      ステップ 5switch(config-pmap-c-qos)# no set qos-group qos-group-value   (任意)

      このクラスから qos-group 値を削除します。

       

      次の例は、type qos ポリシー マップを定義する方法を示しています。

      switch# configure terminal
      switch(config)# policy-map type qos policy-s1
      switch(config-pmap-qos)# class type qos class-s1
      switch(config-pmap-c-qos)# set qos-group 2

      type network-qos ポリシーの設定

      type network-qos ポリシーは、システム qos の結合時だけで設定でき、 特定のクラス用にスイッチ全体に適用されます。

      手順
         コマンドまたはアクション目的
        ステップ 1switch# configure terminal  

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

         
        ステップ 2 switch(config)# policy-map type network-qos policy-name
         

        トラフィック クラスのセットに適用されるポリシーのセットを表す名前付きオブジェクトを作成します。 ポリシー マップ名は、最大 40 文字の英字、ハイフン、または下線文字を使用でき、大文字と小文字が区別されます。

         
        ステップ 3 switch(config-pmap-nq)# class type network-qos class-name
         

        クラス マップをポリシー マップにアソシエートし、指定されたシステム クラスのコンフィギュレーション モードを開始します。

        (注)     

        アソシエートされるクラス マップには、ポリシー マップ タイプと同じタイプが必要です。

         
        ステップ 4 switch(config-pmap-c-nq)# mtu mtu-value
         

        MTU 値をバイト単位で指定します。

        (注)     

        設定する mtu-value は、system jumbomtu コマンドで設定した値より小さくする必要があります。

         
        ステップ 5 switch(config-pmap-c-nq)# no mtu
         
        (任意)

        このクラスの MTU 値をリセットします。

         
        ステップ 6switch(config-pmap-c-nq)# pause no-drop
         
        no-drop クラスを設定します。  
        ステップ 7 switch(config-pmap-c)# pause no-drop [pfc-cos pfc-cos-value]
         

        no-drop クラスを設定します。 このコマンドを指定しなければ、デフォルト ポリシーはドロップになります。

        (注)     

        ドロップ ポリシーの動作はテール ドロップと似ています。キューが割り当てサイズまで増加すると、着信パケットはドロップされます。

        pfc-cos-value の範囲は 0 ~ 7 です。 このオプションがサポートされるのは、ACL ベースのシステム クラス(CoS ベース以外の一致基準を使用してトラフィックをフィルタリングします)だけです。

        注意       

        CoS 値のリストは、class-fcoe の FCoE トラフィックに使用される CoS 値を含む可能性があります。 ご使用のトポロジに望ましい動作かどうかを判断する必要があります。

         
        ステップ 8 switch(config-pmap-c-nq)# no pause no-drop
         
        (任意)

        no-drop オプションをこのクラスから削除します。

         
        ステップ 9 switch(config-pmap-c-nq)# set cos cos-value
         

        このインターフェイスでパケットのマーキングに使用する 802.1Q CoS 値を指定します。 値の範囲は 0 ~ 7 です。

         
        ステップ 10 switch(config-pmap-c-nq)# no set cos cos-value
         
        (任意)

        このクラスのマーキング動作をディセーブルにします。

         

        次の例は、type network-qos ポリシー マップを定義する方法を示しています。

        switch# configure terminal
        switch(config)# policy-map type network-qos policy-que1
        switch(config-pmap-nq)# class type network-qos class-que1
        switch(config-pmap-c-nq)# mtu 5000
        switch(config-pmap-c-nq)# set cos 4

        type queuing ポリシーの設定

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

        手順
           コマンドまたはアクション目的
          ステップ 1switch# configure terminal  

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

           
          ステップ 2 switch(config)# policy-map type queuing policy-name
           

          トラフィック クラスのセットに適用されるポリシーのセットを表す名前付きオブジェクトを作成します。 ポリシー マップ名は、最大 40 文字の英字、ハイフン、または下線文字を使用でき、大文字と小文字が区別されます。

           
          ステップ 3 switch(config-pmap-que)# class type queuing class-name
           

          クラス マップをポリシー マップにアソシエートし、指定されたシステム クラスのコンフィギュレーション モードを開始します。

           
          ステップ 4 switch(config-pmap-c-que)# priority
           

          このクラスの該当するトラフィックが完全プライオリティ キューにマッピングされるよう指定します。

          (注)     

          完全プライオリティを設定できるクラスは、各ポリシー マップで 1 つだけです。

           
          ステップ 5 switch(config-pmap-c-que)# no priority
           
          (任意)

          完全プライオリティ キューイングをこのクラスのトラフィックから削除します。

           
          ステップ 6 switch(config-pmap-c-que)# bandwidth percent percentage
           

          このクラスに割り当てられたインターフェイスの保証帯域幅の割合を指定します。 デフォルトでは、クラスの帯域幅は指定されていません。

          (注)     

          クラスに適切な帯域幅を割り当てるには、まず class-default および class-fcoe で帯域幅のデフォルト設定を下げる必要があります。

           
          ステップ 7 switch(config-pmap-c-que)# no bandwidth percent percentage
           
          (任意)

          帯域幅の指定をこのクラスから削除します。

           

          ポリシー マップ設定の確認

          コマンド

          目的

          show policy-map [name]

          スイッチで定義されたポリシー マップを表示します。 指定したポリシーだけを表示することもできます。

          show policy-map interface [interface number]

          1 つまたはすべてのインターフェイスのポリシー マップ設定を表示します。

          show policy-map system

          システム qos に結合されたポリシー マップ設定を表示します。

          show policy-map type {network-qos | qos | queuing} [name]

          特定のポリシー タイプのポリシー マップ設定を表示します。 指定したポリシーだけを表示することもできます。

          running-config ipqos

          QoS の実行コンフィギュレーションに関する情報を表示します。

          startup-config ipqos

          QoS のスタートアップ コンフィギュレーションに関する情報を表示します。