◆ Nexus5500 - NX-OSのQoSとは
NX-OSではデフォルトのQoS設定により、FCとFCoEトラフィックのロスレスサービスとEthernetトラフィック
のベストエフォート型サービスが提供されます。また、QoSの設定変更によって、特定のトラフィックに対して
CoSやDSCP値などのマーキング、出力ポートからの優先送出、保障帯域幅の設定などが行えます。これらの
NX-OSのQoS機能は、Cisco Modular QoS CLI(Cisco MQC)を使用して設定します。つまり、階層型に設定。
◆ NX-OSのMQC
CiscoMQCでは以下の3ステップにより設定を行っていきますが、CiscoルータやCatalystスイッチに実装する
QoSとは異なり、システムクラス(qos-group値により一意で識別される)という概念があり、qos-groupを
使用してトラフィックの識別と定義でpolicy-mapにて行う必要があります。また、service-policyは I/F の
レベルだけではなく、システム(機器)全体に対しても適用することができます。この2点が大きく異なります。
ステップ |
設定コマンド |
説明 |
@ |
class-map |
ユニキャスト/マルチキャストパケットの一致基準、CoS/Precedence/DSCP値の一致基準に
基づいて、着信パケットを分類する。トラフィックのクラスを表すクラスマップの定義。
|
A |
policy-map |
class-map単でclass-mapに適用するポリシーのセットを表すポリシーマップの定義。
ポリシーマップでは、パケットのマーキング、帯域幅制限、qos-groupの割り当てなどを行う。
|
B |
service-policy |
policy-mapで定義したポリシーをシステムまたはインターフェース(物理 or 論理)に適用する。 |
NX-OSのQoSでは、class-mapやpolicy-mapを作成する際に以下の3つのオブジェクトタイプを使用します。
ポリシータイプ |
機能説明 |
適用可能な場所 |
qos |
トラフィックの分類を定義 |
system qos
ingressインターフェース |
queuing |
キューイング、スケジューリングの定義
( Strict Priority queue + Deficit WRR ) |
system qos
ingressインターフェース
egressインターフェース |
network-qos |
システムクラスの特性を定義
( drop / no-dropクラス、MTU、Bufferサイズ、Marking)
|
system qos |
適用可能な場所である「system qos/ingressインターフェース/egressインターフェース」の説明は以下の通り。
適用可能な場所 |
説明 |
system qos |
service-policyをシステム全体に適用する。つまり全インターフェースに適用となる。
|
ingressインターフェース |
トラフィック分類の際にtype qosが適用される場所。入力queuingポリシーは I/F or EtherChannelで
入力キューキングポリシーを設定するとDCBXプロトコルを使用し設定データをアダプタに送信する。
つまりN5Kに接続し機器のインターフェース(CNA/FEX)の出力 queuing ポリシーを定義できる。 |
egressインターフェース |
strict priority と DWRR の出力queuingが適用される場所。
|
※ system qosでシステム全体に適用されていても、特定のインターフェースにservice-policyを適用すればその内容は上書きされる。
◆ Nexus5500のシステムクラスとは
システムクラスはqos-group値により一意に識別されます。システム全体で6つのシステムクラスがサポート
されており、そのうち1つ(qos-group 0)はデフォルトで生成されており、ユーザは5つを新たに定義できます。
正確には8つのサービスクラスをサポートしているが、そのうち2つはコントロールトラフィック用(CoS6/7)。
なお、デフォルトのシステムクラスはドロップシステムクラスと呼ばれておりqos-group 0 として識別します。
デフォルトの
システムクラス |
クラス名 |
qos-group |
説明 |
ドロップ システムクラス |
class-default |
0 |
デフォルトで、すべてのユニキャストとマルチキャストのイーサネット
トラフィックがドロップクラスシステムに分類される。削除不可のクラス。 |
FCoEシステムクラス |
class-fcoe |
1 |
デフォルトで、全てのFCとFCoE制御トラフィックとデータ トラフィックは
FCoEシステムクラスに分類される。これにより no-drop サービスを提供。 |
Ethernetトラフィック(class-default)とFCoEトラフィック(class-fcoe)が同時にフローしている時に輻輳
が発生した場合、キューイングのパーセンテージ設定が開始される。FCoEトラフィックはno-dropクラスで
あるので、キューイングクラスにより割り当てられた帯域幅にポリシングされません。FCoEトラフィックは、
ロスレスメディアを想定しているためドロップさせられません(どのようなトラフィック状況においてもです)
※ system qos ポリシーは、システムクラスやスイッチ全体のトラフィック クラスのほか、それらの属性を定義するために使用する。
※ Nexus5500 はシステムクラス単位でのトラフィックコントロールを有効にするQoS機能を持っており、以下の規格がポイント。
規格 |
description |
説明 |
IEEE802.1Qbb |
(PFC)Priority-based Flow Control |
優先キューごとのフロー制御 |
IEEE802.1Qaz |
(ETS)Enhanced Transmission Selection |
帯域保証付き優先キューイングおよびDCBXプロトコル |
◆ Nexus5600 - 管理者が作成できるシステムクラスの数
Nexus5600シリーズでは管理者が作成できるシステムクラスは4つとなりました。
Nexus5000の時は4つ、Nexus5500の時は5つ、Nexus5600の時は4つ、となり紛らわしいです。
しかもNexus5500のマニュアルに4つと解説しているにも関わらず、その後に注釈として5500については
5つですと補足されています。念のため、以下に抜粋しておきます。
◇ Nexus5500 と 5600 マニュアルに共通する内容の抜粋 - 日本語訳
⇒ ロスレスサービス用のno-dropクラス(class-fcoe)とベストエフォート型サービス用のdropクラス(class-default)の2つの
デフォルトシステムクラスがデバイスにあります。 イーサネットトラフィックには最大4つの追加システムクラスを定義できます。
※ 上記解説の後にNexus5500においては、以下の注釈があります。
◇ Nexus5500 マニュアル抜粋 - 日本語訳
⇒ Nexus5500シリーズ デバイスは、5つのユーザ定義クラスと1つのデフォルトのドロップ システム クラスをサポートします。
|