Cisco UCS Manager CLI コンフィギュレーション ガイド リリース 2.2
サービス品質 の設定
サービス品質 の設定

サービス品質 の設定

この章は、次の内容で構成されています。

Quality of Service

Cisco UCS は、Quality of Service を実装するために、次の方法を提供しています。

  • 特定のタイプのトラフィックに対するグローバル設定をシステム全体にわたって指定するためのシステム クラス

  • 個々の vNIC にシステム クラスを割り当てる QoS ポリシー

  • アップリンク イーサネット ポートによるポーズ フレームの扱い方法を決定するフロー制御ポリシー

システム クラスの設定

システム クラス

Cisco UCS は、DCE(Data Center Ethernet)を使用して、Cisco UCS ドメイン内のすべてのトラフィックを処理します。 イーサネットに対するこの業界標準の機能拡張では、イーサネットの帯域幅が 8 つの仮想レーンに分割されています。 内部システムと管理トラフィック用に 2 つの仮想レーンが予約されています。 それ以外の 6 つの仮想レーンの Quality of Service(QoS)を設定できます。 Cisco UCS ドメイン全体にわたり、これら 6 つの仮想レーンで DCE 帯域幅がどのように割り当てられるかは、システム クラスによって決定されます。

各システム クラスは特定のタイプのトラフィック用に帯域幅の特定のセグメントを予約します。これにより、過度に使用されるシステムでも、ある程度のトラフィック管理が提供されます。 たとえば、ファイバ チャネル プライオリティ システム クラスを設定して、FCoE トラフィックに割り当てられる DCE 帯域幅の割合を決定することができます。

次の表は、設定可能なシステム クラスをまとめたものです。

表 1 システム クラス

システム クラス

説明

プラチナ

ゴールド

シルバー

ブロンズ

サービスプロファイルの QoS ポリシーに含めることができる設定可能なシステム クラスのセット。 各システム クラスはトラフィック レーンを 1 つ管理します。

これらのシステム クラスのプロパティはすべて、カスタム設定やポリシーを割り当てるために使用できます。

ベスト エフォート

ベーシック イーサネット トラフィックのために予約されたレーンに対する QoS を設定するシステム クラス。

このシステム クラスのプロパティの中には、あらかじめ設定されていて、変更できないものもあります。 たとえば、このクラスには、必要に応じてデータ パケットのドロップを許可するドロップ ポリシーがあります。 このシステム クラスは無効にできません。

ファイバ チャネル

Fibre Channel over Ethernet トラフィックのために予約されたレーンに対する Quality of Service を設定するシステム クラス。

このシステム クラスのプロパティの中には、あらかじめ設定されていて、変更できないものもあります。 たとえば、このクラスには、データ パケットが絶対にドロップされないことを保証するドロップなしポリシーがあります。 このシステム クラスは無効にできません。

システム クラスの設定

サーバ内のアダプタのタイプによっては、サポートされる MTU の最大値が制限される場合があります。 たとえば、ネットワーク MTU が最大値を超えた場合、次のアダプタでパケットがドロップする可能性があります。

  • Cisco UCS M71KR CNA アダプタ:サポートされる MTU の最大値は 9216 です。

  • Cisco UCS 82598KR-CI アダプタ:サポートされる MTU の最大値は 14000 です。

手順
     コマンドまたはアクション目的
    ステップ 1UCS-A# scope eth-server  

    イーサネット サーバ モードを開始します。

     
    ステップ 2UCS-A /eth-server # scope qos  

    イーサネット サーバ QoS モードを開始します。

     
    ステップ 3UCS-A /eth-server/qos # scope eth-classified {bronze | gold | platinum silver}  

    指定されたシステム クラスに対し、イーサネット サーバ QoS イーサネット機密モードを開始します。

     
    ステップ 4UCS-A /eth-server/qos/eth-classified # enable  

    指定されたシステム クラスをイネーブルにします。

     
    ステップ 5UCS-A /eth-server/qos/eth-classified # set cos cos-value  

    指定されたシステム クラスにサービス クラスを指定します。 有効なサービス クラス値は 0 ~ 6 です。値の大きい方がより重要なトラフィックであることを示します。

     
    ステップ 6UCS-A /eth-server/qos/eth-classified # set drop {drop | no-drop}  
    チャネルでパケットをドロップできるかどうか指定します。
    (注)     

    no-drop オプションを使用できるシステム クラスは 1 つのみです。

     
    ステップ 7UCS-A /eth-server/qos/eth-classified # set mtu {mtu-value | fc | normal}  

    この vNIC で受け入れられる最大伝送単位、つまりパケット サイズ。

    (注)     

    vNIC に対応する QoS ポリシーがある場合、ここで指定した MTU は、関連付けられた QoS システム クラスで指定された MTU と同等以下でなければなりません。 この MTU 値が QoS システム クラスの MTU 値を超えている場合、データ転送中にパケットがドロップされる可能性があります。

     
    ステップ 8UCS-A /eth-server/qos/eth-classified # set multicast-optimize {no | yes}  

    クラスがマルチキャスト パケット送信に最適化されるかどうかを指定します。

     
    ステップ 9UCS-A /eth-server/qos/eth-classified # set weight {weight-value | best-effort | none}  

    指定されたシステム クラスに対して相対的な重み値を指定します。 有効な重み値は 0 ~ 10 です。

     
    ステップ 10UCS-A /eth-server/qos/eth-classified # commit-buffer  

    トランザクションをシステムの設定にコミットします。

     

    次の例は、プラチナ システム クラスをイネーブルにし、チャネルにパケットのドロップを許可し、サービス クラスを 6 に設定し、MTU を normal に設定し、マルチキャスト パケット送信用にクラスを最適化し、相対重みを 5 に設定し、トランザクションをコミットします。

    UCS-A# scope eth-server
    UCS-A /eth-server # scope qos
    UCS-A /eth-server/qos # scope eth-classified platinum
    UCS-A /eth-server/qos/eth-classified # enable
    UCS-A /eth-server/qos/eth-classified* # set drop drop
    UCS-A /eth-server/qos/eth-classified* # set cos 6
    UCS-A /eth-server/qos/eth-classified* # set mtu normal
    UCS-A /eth-server/qos/eth-classified* # set multicast-optimize yes
    UCS-A /eth-server/qos/eth-classified* # set weight 5
    UCS-A /eth-server/qos/eth-classified* # commit-buffer
    UCS-A /eth-server/qos/eth-classified # 
    

    システム クラスのディセーブル化

    QoS ポリシーで使用されるシステム クラスを無効にすると、Cisco UCS Manager は QoS ポリシーが設定されているサーバのトラフィックに対して CoS 0 のシステム クラスを設定します。 CoS 0 に設定されているシステム クラスがない場合、ベスト エフォート システム クラスが使用されます。 ベスト エフォート システム クラスやファイバ チャネル システム クラスは無効にできません。

    手順
       コマンドまたはアクション目的
      ステップ 1UCS-A# scope eth-server  

      イーサネット サーバ モードを開始します。

       
      ステップ 2UCS-A /eth-server # scope qos  

      イーサネット サーバ QoS モードを開始します。

       
      ステップ 3UCS-A /eth-server/qos # scope eth-classified {bronze | gold | platinum silver}  

      指定されたシステム クラスに対し、イーサネット サーバ QoS イーサネット機密モードを開始します。

       
      ステップ 4UCS-A /eth-server/qos/eth-classified # disable  

      指定したシステム クラスをディセーブルにします。

       
      ステップ 5UCS-A /eth-server/qos/eth-classified # commit-buffer  

      トランザクションをシステムの設定にコミットします。

       

      次に、platinum システム クラスをディセーブルにし、トランザクションをコミットする例を示します。

      UCS-A# scope eth-server
      UCS-A /eth-server # scope qos
      UCS-A /eth-server/qos # scope eth-classified platinum
      UCS-A /eth-server/qos/eth-classified # disable
      UCS-A /eth-server/qos/eth-classified* # commit-buffer
      UCS-A /eth-server/qos/eth-classified # 
      

      Quality of Service ポリシーの設定

      Quality of Service ポリシー

      Quality of Service(QoS)ポリシーは、vNIC または vHBA に向けた発信トラフィックにシステム クラスを割り当てます。 このシステム クラスにより、このトラフィックに対する Quality of Service が決定されます。 一部のアダプタでは、発信トラフィックでバーストやレートなど追加の制御を指定することもできます。

      vNIC ポリシー、または vHBA ポリシーに QoS ポリシーをインクルードし、その後、このポリシーをサービス プロファイルにインクルードして、vNIC または vHBA を設定する必要があります。

      QoS ポリシーの設定

      手順
         コマンドまたはアクション目的
        ステップ 1Switch-A# scope org org-name  

        指定した組織で組織モードを開始します。 デフォルト組織モードを開始するには、/ org-name として入力します。

         
        ステップ 2Switch-A /org # create qos-policy policy-name  

        指定した QoS ポリシーを作成し、組織 QoS ポリシー モードを開始します。

         
        ステップ 3Switch-A /org/qos-policy # create egress-policy  

        QoS ポリシーが使用する出力ポリシー(vNIC および vHBA の両方)を作成し、組織 QoS ポリシーの出力ポリシー モードを開始します。

         
        ステップ 4Switch-A /org/qos-policy/egress-policy # set host-cos-control {full | none}  

        (任意)ホストと Cisco UCS Manager のどちらが vNIC に対するサービス クラス(CoS)を制御するかを指定します。 この設定は、vHBA には影響しません。

        ホストに CoS を制御させるには、full キーワードを使用します。 パケットに有効な CoS 値がある場合、ホストはその値を使用します。 それ以外の場合、指定されたクラス プライオリティに関連付けられた CoS 値を使用します。 指定されたプライオリティに関連付けられた CoS 値を Cisco UCS Manager に使用させるには、none キーワードを使用します。

         
        ステップ 5Switch-A /org/qos-policy/egress-policy # set prio sys-class-name  

        出力ポリシーで使用されるシステム クラスを指定します。 sys-class-name 引数には、次のいずれかのクラス キーワードを指定できます。

        • [Fc]:vHBA トラフィックだけを制御する QoS ポリシーにこの優先順位を使用します。

        • [プラチナ]:vNIC トラフィックだけを制御する QoS ポリシーにこの優先順位を使用します。

        • [ゴールド]:vNIC トラフィックだけを制御する QoS ポリシーにこの優先順位を使用します。

        • [シルバー]:vNIC トラフィックだけを制御する QoS ポリシーにこの優先順位を使用します。

        • [ブロンズ]:vNIC トラフィックだけを制御する QoS ポリシーにこの優先順位を使用します。

        • [ベストエフォート]:この優先順位は使用しないでください。 ベーシック イーサネット トラフィック レーンのために予約されています。 この優先順位を QoS ポリシーに割り当て、別のシステム クラスを CoS 0 に設定する場合、Cisco UCS Manager はこのシステム クラスのデフォルトには戻りません。 当該トラフィックの CoS 0 で優先順位がデフォルトに戻ります。

         
        ステップ 6Switch-A /org/qos-policy/egress-policy # set rate {line-rate | kbps} burst bytes  

        平均トラフィック レートとバースト サイズを定義して、出力トラフィックのレート制限を指定します。 line-rate キーワードは、物理回線レートにレート制限を設定します。

        レート制限は、Cisco UCS VIC-1240 仮想インターフェイス カードおよび Cisco UCS VIC-1280 仮想インターフェイス カード の vNIC でのみサポートされます。 Cisco UCS M81KR 仮想インターフェイス カード は、vNIC および vHBA 両方のレート制限をサポートします。

         
        ステップ 7Switch-A /org/qos-policy/egress-policy # commit-buffer  

        トランザクションをシステムの設定にコミットします。

         

        次の例は、vNIC トラフィックの QoS ポリシーを作成し、プラチナ システム クラスを割り当てて出力ポリシーのレート制限(トラフィック レートとバースト サイズ)を設定し、トランザクションをコミットします。

        Switch-A# scope org /
        Switch-A /org # create qos-policy VnicPolicy34
        Switch-A /org/qos-policy* # create egress-policy
        Switch-A /org/qos-policy/egress-policy* # set prio platinum
        Switch-A /org/qos-policy/egress-policy* # set rate 5000000 burst 65000
        Switch-A /org/qos-policy/egress-policy* # commit-buffer
        Switch-A /org/qos-policy/egress-policy # 
        

        次の例は、vHBA トラフィックの QoS ポリシーを作成し、fc(ファイバ チャネル)システム クラスを割り当てて出力ポリシーのレート制限(トラフィック レートとバースト サイズ)を設定し、トランザクションをコミットします。

        Switch-A# scope org /
        Switch-A /org # create qos-policy VhbaPolicy12
        Switch-A /org/qos-policy* # create egress-policy
        Switch-A /org/qos-policy/egress-policy* # set prio fc
        Switch-A /org/qos-policy/egress-policy* # set rate 5000000 burst 65000
        Switch-A /org/qos-policy/egress-policy* # commit-buffer
        Switch-A /org/qos-policy/egress-policy # 
        
        次の作業

        QoS ポリシーを vNIC または vHBA テンプレートに含めます。

        QoS ポリシーの削除

        使用中の QoS ポリシーを削除した場合、または QoS ポリシーで使用されているシステム クラスを無効にした場合、この QoS ポリシーを使用している vNIC と vHBA はすべて、ベスト エフォート システム クラスまたは CoS が 0 のシステム クラスに割り当てられます。 マルチテナント機能を実装しているシステムでは、Cisco UCS Manager はまず、組織階層から一致する QoS ポリシーを見つけようとします。

        手順
           コマンドまたはアクション目的
          ステップ 1UCS-A# scope org org-name  

          指定した組織の組織モードを開始します。 ルート組織モードを開始するには、org-name/ と入力します。

           
          ステップ 2UCS-A /org # delete qos-policy policy-name  

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

           
          ステップ 3UCS-A /org # commit-buffer  

          トランザクションをシステムの設定にコミットします。

           

          次の例は、QosPolicy34 という名前の QoS ポリシーを削除し、トランザクションをコミットします。

          UCS-A# scope org /
          UCS-A /org # delete qos-policy QosPolicy34
          UCS-A /org* # commit-buffer
          UCS-A /org #
          

          フロー制御ポリシーの設定

          フロー制御ポリシー

          フロー制御ポリシーは、ポートの受信バッファがいっぱいになったときに、Cisco UCS ドメインのアップリンク イーサネット ポートが IEEE 802.3x ポーズ フレームを送信および受信するかどうかを決定します。 これらのポーズ フレームは、バッファがクリアされるまでの数ミリ秒間、送信側ポートからのデータの送信を停止するように要求します。

          LAN ポートとアップリンク イーサネット ポートの間でフロー制御が行われるようにするには、両方のポートで、対応する受信および送信フロー制御パラメータを有効にする必要があります。 Cisco UCSでは、これらのパラメータはフロー制御ポリシーにより設定されます。

          送信機能を有効にした場合、受信パケット レートが高くなりすぎたときに、アップリンク イーサネット ポートはネットワーク ポートにポーズ要求を送信します。 ポーズは数ミリ秒有効になった後、通常のレベルにリセットされます。 受信機能を有効にした場合、アップリンク イーサネット ポートは、ネットワーク ポートからのポーズ要求すべてに従います。 ネットワーク ポートがポーズ要求をキャンセルするまで、すべてのトラフィックはこのアップリンク ポートで停止します。

          ポートにフロー制御ポリシーを割り当てているため、このポリシーを変更すると同時に、ポーズ フレームやいっぱいになっている受信バッファに対するポートの反応も変わります。

          フロー制御ポリシーの設定

          はじめる前に

          必要なフロー制御に対応する設定を使用して、ネットワーク ポートを設定します。 たとえば、ポリシーのフロー制御ポーズ フレームに対する送信設定を有効にした場合は、必ず、ネットワーク ポートの受信パラメータを on または desired に設定します。 Cisco UCS ポートでフロー制御フレームを受信する場合は、ネットワーク ポートの送信パラメータが on または desired に設定されていることを確認します。 フロー制御を使用する必要がない場合は、ネットワーク ポートの受信パラメータと送信パラメータを off に設定できます。

          手順
             コマンドまたはアクション目的
            ステップ 1UCS-A# scope eth-uplink  

            イーサネット アップリンク モードを開始します。

             
            ステップ 2UCS-A /eth-uplink # scope flow-control  

            イーサネット アップリンク フロー制御モードを開始します。

             
            ステップ 3UCS-A /eth-uplink/flow-control # create policy policy-name  

            指定されたフロー制御ポリシーを作成します。

             
            ステップ 4UCS-A /eth-uplink/flow-control/policy # set prio prio-option  

            次のフロー制御プライオリティ オプションのいずれかを指定します。

            • auto:PPP がこのファブリック インターコネクトで使用されるかどうか、Cisco UCS システムとネットワークがネゴシエートします。

            • on:このファブリック インターコネクト上で PPP がイネーブルにされます。

             
            ステップ 5UCS-A /eth-uplink/flow-control/policy # set receive receive-option  

            次のフロー制御受信オプションのいずれかを指定します。

            • off:ネットワークからのポーズ要求は無視され、トラフィック フローは通常どおり継続します。

            • on:ポーズ要求に従い、そのアップリンク ポート上のすべてのトラフィックは、ネットワークでポーズ要求が取り消されるまで停止されます。

             
            ステップ 6UCS-A /eth-uplink/flow-control/policy # set send send-option  

            次のフロー制御送信オプションのいずれかを指定します。

            • off:パケット負荷に関係なくポート上のトラフィックが通常どおり流れます。

            • on:着信パケット レートが非常に高くなる場合に、UCS システムがポーズ要求をネットワークに送信します。 ポーズは数ミリ秒有効になった後、通常のレベルにリセットされます。

             
            ステップ 7UCS-A /eth-uplink/flow-control/policy # commit-buffer  

            トランザクションをシステムの設定にコミットします。

             

            次の例は、フロー制御ポリシーを設定し、トランザクションをコミットします。

            UCS-A# scope eth-uplink
            UCS-A /eth-uplink # scope flow-control
            UCS-A /eth-uplink/flow-control # create policy FlowControlPolicy23
            UCS-A /eth-uplink/flow-control/policy* # set prio auto
            UCS-A /eth-uplink/flow-control/policy* # set receive on
            UCS-A /eth-uplink/flow-control/policy* # set send on
            UCS-A /eth-uplink/flow-control/policy* # commit-buffer
            UCS-A /eth-uplink/flow-control/policy #
            
            次の作業

            フロー制御ポリシーと、アップリンク イーサネット ポート、またはポート チャネルを関連付けます。

            フロー制御ポリシーの削除

            手順
               コマンドまたはアクション目的
              ステップ 1UCS-A# scope eth-uplink  

              イーサネット アップリンク モードを開始します。

               
              ステップ 2UCS-A /eth-uplink # scope flow-control  

              イーサネット アップリンク フロー制御モードを開始します。

               
              ステップ 3UCS-A /eth-uplink/flow-control # delete policy policy-name  

              指定されたフロー制御ポリシーを削除します。

               
              ステップ 4UCS-A /eth-uplink/flow-control # commit-buffer  

              トランザクションをシステムの設定にコミットします。

               

              次の例は、FlowControlPolicy23 という名前のフロー制御ポリシーを削除し、トランザクションをコミットします。

              UCS-A# scope eth-uplink
              UCS-A /eth-uplink # scope flow-control
              UCS-A /eth-uplink/flow-control # delete policy FlowControlPolicy23
              UCS-A /eth-uplink/flow-control* # commit-buffer
              UCS-A /eth-uplink/flow-control #