Cisco Nexus 6000 シリーズ NX-OS Quality of Service コンフィギュレーション ガイド リリース 6.x
システムでの QoS の設定
システムでの QoS の設定
発行日;2014/01/06   |   ドキュメントご利用ガイド   |   ダウンロード ;   この章 pdf   ,   ドキュメント全体 pdf    |   フィードバック

システムでの QoS の設定

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

システム クラスの概要

システム クラス

システム qos は一種の MQC ターゲットです。 サービス ポリシーを使用して、ポリシー マップをシステム qos ターゲットに関連付けます。 特定のインターフェイスでサービス ポリシー設定を上書きしない限り、システム qos ポリシーはスイッチのインターフェイス全体に適用されます。 システム qos ポリシーは、システム クラスやスイッチ全体のトラフィック クラスのほか、それらの属性を定義するために使用します。 QoS 一貫性の確保(および設定の利便性)の目的で、デバイスは、Data Center Bridging Exchange(DCBX)プロトコルを使用して、システム クラス パラメータ値を接続されたすべてのネットワーク アダプタに配布します。

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

Cisco Nexus デバイスでは、システム クラスは qos-group 値によって一意に識別されます。 全体で 6 つのシステム クラスがサポートされています。 6 つのシステム クラスのうち 2 つはデフォルトで、必ずデバイスに存在します。 最大 4 つの追加システム クラスを管理者が作成できます。

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

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

  • ドロップ システム クラス デフォルトでは、すべてのユニキャストおよびマルチキャスト イーサネット トラフィックは、デフォルトのドロップ システム クラスに分類されます。 このクラスは qos-group 0 で識別されます。 システムの起動時にこのクラスは自動的に作成されます(クラス名は CLI で class-default です)。 このクラスは削除できません。このデフォルト クラスに関連付けられた一致基準も変更できません。

    (注)  


    データ トラフィック(class-default)と FCoE トラフィック(class-fcoe)が同時にフローしているときに輻輳が発生した場合、キューイングのパーセンテージ設定が開始されます。

    FCoE トラフィックは no-drop クラスであり、キューイング クラスによって割り当てられた帯域幅にポリシングされません。 FCoE トラフィックはロスレス メディアを想定しているため、ドロップすることはできません。 輻輳が発生すると、PFC フレームが FCoE の入力インターフェイスで生成されます。また、データ トラフィックが割り当てられた帯域幅を下回っていても、ドロップはデータ トラフィックでのみ行われます。

    スループットを最適化するために、より長い期間、データ トラフィックの負荷を分散することができます。


MTU

Cisco Nexus デバイスはレイヤ 2 スイッチで、パケット フラグメンテーションをサポートしません。 入力インターフェイスと出力インターフェイスの間で最大伝送単位(MTU)の設定が一致していない場合、パケットが切り捨てられることがあります。

MTU を設定する場合は、次の注意事項に従ってください。

  • MTU はシステム クラス単位で指定されます。 システム クラスではトラフィック クラスごとに異なる MTU を指定できますが、スイッチ全体のすべてのポートで矛盾しないようにする必要があります。 インターフェイスでは MTU を設定できません。
  • ファイバ チャネルおよび FCoE ペイロード MTU は、スイッチで 2158 バイトです。 その結果、ファイバ チャネル インターフェイスの rxbufsize は 2158 バイトに固定されます。 Cisco Nexus デバイスが 2158 バイトではない rxbufsize をピアから受信すると、Exchange Link Parameter(ELP)ネゴシエーションに失敗し、リンクはアップ状態になりません。
  • system jumbomtu コマンドを入力すると、システム内の MTU の上限が定義されます。 システム ジャンボ MTU のデフォルト値は 9216 バイトです。 最小 MTU は 2158 バイトで、最大 MTU は 9216 バイトです。
  • システム クラス MTU はクラス内のすべてのパケットの MTU を設定します。 システム クラス MTU を、グローバル ジャンボ MTU よりも大きく設定できません。
  • FCoE システム クラス(ファイバ チャネルおよび FCoE トラフィックの場合)のデフォルト MTU は 2158 バイトです。 この値は変更できません。
  • スイッチは、DCBX をサポートするネットワーク アダプタに MTU 設定を送信します。

    (注)  


    MTU は DCBX の Converged Enhanced Ethernet(CEE)モードではサポートされません。


システム QoS の設定

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

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

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

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

     
    ステップ 2 switch(config)# system qos
     

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

     
    ステップ 3 switch(config-sys-qos)# service-policy type {network-qos | qos | queuing} [input | output] policy-name
     

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

    • network-qos:ネットワーク全体(system qos)モード。
    • qos:分類モード(システム qos の input またはインターフェイスの input のみ)。
    • queuing:キューイング モード(システム qos およびインターフェイスの input と output)。
    (注)     

    デフォルトのポリシー マップ コンフィギュレーション モードはありません。type を指定してください。 input キーワードは、そのポリシー マップがインターフェイスの受信トラフィックに適用されることを示します。 output キーワードは、そのポリシー マップがインターフェイスの送信トラフィックに適用されることを示します。 qos ポリシーには input だけを、queuing ポリシーには inputoutput の両方を適用できます。

     
    ステップ 4 switch(config-sys-qos)# service-policy type {network-qos | qos | queuing} [input | output] fcoe default policy-name
     
    (任意)

    デフォルトの FCoE ポリシー マップをシステムのサービス ポリシーとして使用するよう指定します。 FCoE には次の 4 つの定義済みポリシー マップがあります。

    • 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
    (注)     

    Cisco Nexus デバイスで FCoE をイネーブルにする前に、type qos、type network-qos、および type queuing の各ポリシー マップに、定義済みの FCoE ポリシー マップを追加する必要があります。

     

    次の例は、no-drop イーサネット ポリシー マップをシステム クラスとして設定する方法を示しています。

    switch(config)# class-map type network-qos ethCoS4
    switch(config-cmap-nq)# match qos-group
    switch(config-cmap-nq)# exit
    switch(config)# policy-map type network-qos ethNoDrop
    switch(config-pmap-nq)# class type network-qos ethCoS4
    switch(config-pmap-c-nq)# pause no-drop
    switch(config-pmap-c-nq)# exit
    switch(config-pmap-nq)# exit
    switch(config)# system qos
    switch(config-sys-qos)# service-policy type network-qos ethNoDrop
    
    

    デフォルト システム サービス ポリシーの復元

    新しいポリシーを作成して、それをシステム QoS コンフィギュレーションに追加した場合、コマンドの no フォームを入力して、デフォルト ポリシーを再適用します。

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

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

       
      ステップ 2 switch(config)# system qos
       

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

       
      ステップ 3 switch(config-sys-qos)# no service-policy type qos input policy-map name
       

      分類モードのポリシー マップをリセットします。 このポリシー マップ設定はシステム qos 入力またはインターフェイス入力のみに使用します。

       
      ステップ 4 switch(config-sys-qos)# no service-policy type network-qos policy-map name
       

      ネットワーク全体のポリシー マップをリセットします。

       
      ステップ 5 switch(config-sys-qos)# no service-policy type queuing output policy-map name
       

      出力キューイング モードのポリシー マップをリセットします。

       
      ステップ 6 switch(config-sys-qos)# no service-policy type queuing input policy-map name
       

      入力キューイングモードのポリシー マップをリセットします。

       

      次の例は、システム QoS 設定をリセットする方法を示しています。

      switch# configure terminal
      switch(config)# system qos
      switch(config-sys-qos)# no service-policy type qos input my-in-policy
      switch(config-sys-qos)# no service-policy type network-qos my-nq-policy
      switch(config-sys-qos)# no service-policy type queuing output my-out-policy
      switch(config-sys-qos)# no service-policy type queuing input my-in-policy
      

      次に、デフォルト サービス ポリシーの例を示します。

      switch# show policy-map
      
      
         Type qos policy-maps
         ====================
      
         policy-map type qos default-in-policy
           class type qos class-fcoe
             set qos-group 1
           class type qos class-default
             set qos-group 0
      
         Type queuing policy-maps
         ========================
         policy-map type queuing default-in-policy
          class type queuing class-fcoe
             bandwidth percent 50
           class type queuing class-default
             bandwidth percent 50
        policy-map type queuing default-out-policy
           class type queuing class-fcoe
             bandwidth percent 50
           class type queuing class-default
             bandwidth percent 50
      
         Type network-qos policy-maps
         ===============================
      
         policy-map type network-qos default-nq-policy
           class type network-qos class-fcoe
             pause no-drop
             mtu 2240
           class type network-qos class-default
             mtu 1538
      

      指定したファブリック エクステンダのキュー制限の設定

      ファブリック エクステンダ コンフィギュレーション レベルで、出方向(ネットワークからホストへ)の指定ファブリック エクステンダのキュー制限を制御できます。 ファブリック エクステンダに低いキュー制限値を使用することにより、1 つのブロックされたレシーバが他の非輻輳レシーバに送信されるトラフィックに影響を与えること(「行頭ブロッキング」)を防止できます。 より高いキュー制限値では、バースト吸収が改善され、行頭ブロッキング保護が少なくなります。 ファブリック エクステンダがすべての使用可能なハードウェア領域を使用できるようにするには、このコマンドの no 形式を使用します。


      (注)  


      システム レベルで、fex queue-limit コマンドを使用してファブリック エクステンダのキュー制限を設定できます。 ただし、特定のファブリック エクステンダのキュー制限を設定すると、そのファブリック エクステンダのシステム レベルで設定されたキュー制限設定が上書きされます。


      次のファブリック エクステンダのキュー制限を指定できます。

      • Cisco Nexus 2148T ファブリック エクステンダ(48x1G 4x10G SFP+ モジュール)
      • Cisco Nexus 2224TP ファブリック エクステンダ(24x1G 2x10G SFP+ モジュール)
      • Cisco Nexus 2232P ファブリック エクステンダ(32x10G SFP+ 8x10G SFP+ モジュール)
      • Cisco Nexus 2248T ファブリック エクステンダ(48x1G 4x10G SFP+ モジュール)
      • Cisco Nexus N2248TP-E ファブリック エクステンダ(48x1G 4x10G モジュール)
      手順
         コマンドまたはアクション目的
        ステップ 1switch# configure terminal 

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

         
        ステップ 2 switch(config)# fex fex-id
         

        ファブリック エクステンダを指定し、ファブリック エクステンダ モードを開始します。

         
        ステップ 3 switch(config-fex)# hardware fex_card_type queue-limit queue-limit
         

        指定ファブリック エクステンダのキュー制限を設定します。 キュー制限はバイト単位で指定します。 有効な範囲は、Cisco Nexus 2148T ファブリック エクステンダの場合は 81920 ~ 652800、その他すべてのサポート対象のファブリック エクステンダの場合は 2560 ~ 652800 です。

         

        次に、Cisco Nexus 2248T ファブリック エクステンダのデフォルト キュー制限を復元する例を示します。

        switch# configure terminal
        switch(config-if)# fex 101
        switch(config-fex)# hardware N2248T queue-limit 327680

        次に、Cisco Nexus 2248T ファブリック エクステンダ上でデフォルトで設定されているキュー制限を削除する例を示します。

        switch# configure terminal
        switch(config)# fex 101
        switch(config-fex)# no hardware N2248T queue-limit 327680

        ジャンボ MTU のイネーブル化

        スイッチ全体のジャンボ最大伝送単位(MTU)は、デフォルトのイーサネット システム クラス(class-default)のポリシー マップで MTU を最大サイズ(9216 バイト)に設定することによって、イネーブルにできます。

        Cisco Nexus デバイスのレイヤ 3 ルーティングでは、下のグローバルな QoS 設定に加えて、レイヤ 3 インターフェイス(IP アドレスを持つ SVI および物理インターフェイス)の MTU を設定する必要があります。

        次の例は、ジャンボ MTU をサポートするようにデフォルトのイーサネット システム クラスを設定する方法を示しています。

        switch(config)# policy-map type network-qos jumbo
        switch(config-pmap-nq)# class type network-qos class-default
        switch(config-pmap-c-nq)# mtu 9216
        switch(config-pmap-c-nq)# exit
        switch(config-pmap-nq)# exit
        switch(config)# system qos
        switch(config-sys-qos)# service-policy type network-qos jumbo

        (注)  


        system jumbomtu コマンドは、スイッチの最大 MTU サイズを定義します。 ただし、ジャンボ MTU は MTU が設定されたシステム クラスだけにサポートされます。


        ジャンボ MTU の確認

        Cisco Nexus デバイスでは、トラフィックは 8 つの QoS グループのいずれか 1 つに分類されます。 MTU は、QoS グループ レベルで設定されます。 デフォルトでは、すべてのイーサネット トラフィックは、QoS グループ 0 にあります。 イーサネット トラフィックに対するジャンボ MTU を確認するには、show queueing interface ethernet slot/chassis_number コマンドを使用し、コマンド出力の「HW MTU」で QoS グループ 0 の MTU を確認します。 値は 9216 である必要があります。

        show interface コマンドは、MTU サイズとして 1500 を常に表示します。 Cisco Nexus デバイスでは、異なる QoS グループで異なる MTU をサポートしているため、インターフェイス レベルで MTU を 1 つの値で表すことはできません。


        (注)  


        Cisco Nexus デバイスでのレイヤ 3 ルーティングでは、グローバル QoS MTU に加えて、レイヤ 3 インターフェイス(IP アドレスを持つ SVI および物理インターフェイス)の MTU を確認する必要があります。 show interface vlan vlan_number または show interface slot/chassis_number を使用して、レイヤ 3 MTU を確認できます。


        次に、Ethernet 1/19 のジャンボ MTU 情報を表示する例を示します。
        switch# show queuing interface ethernet1/19
        Ethernet1/19 queuing information:
          TX Queuing
            qos-group  sched-type  oper-bandwidth
                0       WRR             50
                1       WRR             50
        
          RX Queuing
            qos-group 0
            q-size: 243200, HW MTU: 9280 (9216 configured)
            drop-type: drop, xon: 0, xoff: 1520
            Statistics:
                Pkts received over the port             : 2119963420
                Ucast pkts sent to the cross-bar        : 2115648336
                Mcast pkts sent to the cross-bar        : 4315084
                Ucast pkts received from the cross-bar  : 2592447431
                Pkts sent to the port                   : 2672878113
                Pkts discarded on ingress               : 0
                Per-priority-pause status               : Rx (Inactive), Tx (Inactive)
        
            qos-group 1
            q-size: 76800, HW MTU: 2240 (2158 configured)
            drop-type: no-drop, xon: 128, xoff: 240
            Statistics:
                Pkts received over the port             : 0
                Ucast pkts sent to the cross-bar        : 0
                Mcast pkts sent to the cross-bar        : 0
                Ucast pkts received from the cross-bar  : 0
                Pkts sent to the port                   : 0
                Pkts discarded on ingress               : 0
                Per-priority-pause status               : Rx (Inactive), Tx (Inactive)
        
          Total Multicast crossbar statistics:
            Mcast pkts received from the cross-bar      : 80430744

        システム QoS 設定の確認

        次のいずれかのコマンドを使用して、設定を確認します。

        コマンド

        目的

        show policy-map system

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

        show policy-map [name]

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

        show class-map

        スイッチで定義されたクラス マップを表示します。

        running-config ipqos

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

        startup-config ipqos

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