クラスベース重み付け均等化キューイングについて
この機能によって、以下の目的に対応できます。
• キューイングにより、あるトラフィック クラスによって別のトラフィック タイプの処理が阻害されるのを防ぐ。
• 各トラフィック クラスに対する帯域幅保証を尊重する。
• アップリンクの帯域幅の使用率を最適化する。
クラスベース重み付け均等化キューイング(CBWFQ)は、標準の重み付け均等化キューイング(WFQ)機能を拡張して、ユーザ定義のトラフィック クラスをサポートするようにしたものです。CBWFQ では、プロトコルなどの一致基準や CoS 値に基づいて、トラフィック クラスを定義します。クラスの一致基準を満たすパケットは、そのクラスのトラフィックの一部となります。クラスごとに 1 つのキューが確保され、クラスに属するトラフィックは、そのクラスのキューに送られます。
クラスを一致基準によって定義した後、これに特性を割り当てることができます。クラスに特性を持たせるには、帯域幅と最大キュー制限を割り当てます。クラスに割り当てられた帯域幅は、輻輳中のクラスに適用する保証帯域幅です。
クラスに特性を持たせるには、そのクラスのキュー制限も指定します。これは、クラスのキューに集めることができる最大パケット数です。クラスに属するパケットは、そのクラスの特性の帯域幅とキュー制限の影響を受けます。
キューが設定されたキュー制限に達した後、そのクラスにパケットが追加されると、テール ドロップが発生します。
設定されているどのクラスにも一致しないトラフィックには、ベスト エフォート処理が行われます。パケットを分類した後、クラス間のサービスの区別にも使用可能なすべての標準メカニズムを適用します。
CBWFQ では、そのクラスに指定された重みは、そのクラスの一致基準を満たすそれぞれのパケットの重みとなります。出力インターフェイスに到着したパケットは、定義された一致基準フィルタに従って分類された後、それぞれに適切な重みが割り当てられます。特定のクラスに属するパケットの重み付けは、クラス設定したときにクラスに割り当てた帯域幅から適用されます。そういった意味では、クラスの重み付けはユーザ定義可能です。
パケットの重みが割り当てられると、そのパケットは適切なクラス キューに入力されます。CBWFQ は、キューイングされたパケットに割り当てられた重み付けを使用し、クラス キューが確実に均等に提供されるようにします。
クラス ポリシーの設定、つまり CBWFQ の設定は、次の 3 つの処理を伴います。
• トラフィック クラスを定義して分類ポリシーを指定する(クラス マップ)。
このプロセスによって、何種類のパケットを区別するかが決まります。
• ポリシー、つまりクラス特性を各トラフィック クラスに関連付ける(ポリシー マップ)。
このプロセスでは、クラス マップで定義済みのクラスの 1 つに属するパケットに適用されるポリシーの設定が必要です。このため、各トラフィック クラスでポリシーを指定するポリシー マップを設定します。
• ポリシーをインターフェイスへ適用する(サービス ポリシー)。
(注) キューイング ポリシー マップは、出力(発信)方向のアップリンクにだけ適用できます。
このプロセスでは、既存のポリシー マップ、またはサービス ポリシーを、インターフェイスに関連付け、マップに対する特定のポリシー セットをそのインターフェイスに適用する必要があります。
ポリシー マップにより、ネットワーク トラフィックがクラス単位で優先順位付けされます。最適な Quality of Service が得られるトラフィックの優先順位付けが行われるように、ポリシー マップを作成して各クラスのトラフィックの扱い方法を定義します。
クラスベース重み付け均等化キューイングのライセンス要件
この機能のライセンス要件はありません。
クラスベース重み付け均等化キューイングの前提条件
クラスベース重み付け均等化キューイングには、次の前提条件があります。
• EXEC モードで CLI にログインしておきます。
注意事項および制約事項
クラスベース重み付け均等化キューイング(CBWFQ)を設定するときには、次の注意事項および制約事項に従ってください。
• キューイング ポリシーは、出力(発信)方向のアップリンク インターフェイスにのみ適用できます。
• キューイングは、ESX/ESXi 4.1.0 のホストでのみサポートされています。
• ポートチャネル インターフェイスでは、キューイングの帯域幅はメンバ ポートに適用されます。全体的なパフォーマンスは、vEthernet をメンバ ポートにピン接続している方法や、個々のポートでのトラフィック パターンによって変化します。
• Cisco Nexus 1000V では、モジュールごとにキューイング ポリシーを 1 つサポートします。ポリシーは、モジュールの 1 つのポートまたはポートチャネルに適用できます。モジュールが異なると、キューイング ポリシーも異なります。
デフォルト設定
クラスベース重み付け均等化キューイングは、デフォルトではディセーブルです。
クラスベース重み付け均等化キューイングのポリシーの設定
ここでは、Cisco Nexus 1000V の QoS キューイング クラス ポリシーを作成する方法について説明します。
ポリシーは次の手順で作成します。
1. クラス マップの作成
2. ポリシー マップの作成
3. インターフェイスにポリシー マップを適用
クラスベース重み付け均等化キューイングの設定
この機能を利用すると、トラフィック クラスを区別し、適切な帯域幅を保証できます。
クラスベース重み付け均等化キューイングを設定するには、以下の手順に従ってください。
• プロトコルまたは CoS の一致基準を持つキューイング クラス マップを作成します。
• キューイング ポリシー マップを作成し、これにクラス マップを割り当てます。
はじめる前に
この手順を開始する前に、次のことを確認または実行する必要があります。
• EXEC モードで CLI にログインしていること。
• キューイング クラス マップをプロトコルまたは CoS と照合するかどうかが決まっていること。
• トラフィック クラスに最小帯域幅保証を指定するかどうかが決まっていること。
• トラフィック クラスの最大キュー サイズを指定するかどうかが決まっていること。
手順の概要
1. configure terminal
2. class-map type queuing {match-all | match-any} map- name
3. match {cos id | protocol name}
4. exit
5. policy-map type queuing name
6. class type queuing name
7. bandwidth percent percentage
8. (任意)queue-limit number
9. (任意)show policy-map [{[type qos] [ pmap-name-qos ]} | {type queuing [ pmap-name-que ]}]
10. port-profile type ethernet name
11. service-policy type queuing output name
12. show policy-map interface
13. copy running-config startup-config
手順の詳細
|
|
|
ステップ 1 |
configure terminal Example: n1000v# config t n1000v(config)# |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 2 |
class-map type queuing {match-any | match-all} map-name Example: n1000v(config)# class-map type queuing match-all class_fin1 n1000v(config-cmap-que) |
CBWFQ のクラス マップを作成し、新しいクラス マップを設定するためのクラス マップ キューイング モードを開始します。 match-any:いずれかの一致基準に一致した場合に、このクラス マップをパケットに適用するには、このオプションを使用します。 match-all:すべての一致基準に一致した場合に、このクラス マップをパケットに適用するには、このオプションを使用します。 map-name:最長 40 文字の英数字、ハイフン、および下線文字を使用できます。 |
ステップ 3 |
match {cos id} | {protocol name} Example: n1000v(config-cmap-que)# match protocol vmw_vmotion n1000v(config-cmap-que)# |
このクラス マップに対するパケットを、プロトコルまたは CoS、あるいはその両方と照合するかどうかを定義します。 • CoS は 0 ~ 7 の数値として指定します。 これは、IEEE 802.1p で規定されている IEEE 802.1Q ヘッダー内のサービス クラス(CoS)に基づくトラフィックに一致します。CoS は VLAN ID タグ フィールドの上位 3 ビットで符号化され、user_priority と呼ばれます。 • 定義済みのプロトコル一致を以下に示します。 – n1k_control – n1k_mgmt – n1k_packet – vmw_ft – vmw_iscsi – vmw_mgmt – vmw_nfs – vmw_vmotion |
ステップ 4 |
exit Example: n1000v(config-cmap-que)# exit n1000v(config)# |
クラスマップ キューイング コンフィギュレーション モードを終了し、グローバル コンフィギュレーション モードに戻ります。 |
ステップ 5 |
policy-map type queuing name Example: n1000v(config)# policy-map type queuing Policy-vmotion n1000v(config-pmap-que) |
CBWFQ のポリシー マップを作成し、新しいポリシー マップを設定するためのポリシー マップ キューイング モードを開始します。 |
ステップ 6 |
class type queuing name
Example:
n1000v(config-pmap-que)# class type queuing class_fin1
n1000v(config-pmap-c-que)#
|
CBWFQ クラスをこのポリシー マップに割り当てて、ポリシー マップ クラス キューイング コンフィギュレーション モードを開始します。 |
ステップ 7 |
bandwidth percent percentage
Example:
n1000v(config-pmap-c-que)# bandwidth percent 50
n1000v(config-pmap-c-que)#
|
このトラフィック クラスに、使用可能な合計帯域幅に対するパーセンテージの形で最小帯域幅保証を指定します。 |
ステップ 8 |
(任意) queue-limit number
Example:
n1000v(config-pmap-c-que)# queue-limit 500
n1000v(config-pmap-c-que)#
|
パケットで、このクラスに対して許可されている最大キュー サイズを指定します。 number :ドロップする前にキューに入れることのできるパケット数。1 ~ 55924 の範囲の値です。 デフォルトでは、キュー制限は設定されていません。 |
ステップ 9 |
(任意) show policy-map [{[type qos] [pmap-name-qos]} | {type queuing [pmap-name-que]}]
Example:
n1000v(config-pmap-c-que)# show policy-map type queuing Policy-vmotion
policy-map type queuing Policy-vmotion
class type queuing Match-vmotion
n1000v(config-pmap-c-que)#
|
確認のためにコンフィギュレーションを表示します。 |
ステップ 10 |
exit Example: n1000v(config-pmap-c-que)# exit n1000v(config-pmap-que)# |
ポリシーマップ タイプ キューイング コンフィギュレーション モードを終了し、ポリシーマップ コンフィギュレーション モードに戻ります。 |
ステップ 11 |
exit Example: n1000v(config-pmap-que)# exit n1000v(config)# |
ポリシーマップ コンフィギュレーション モードを終了し、グローバル コンフィギュレーション モードに戻ります。 |
ステップ 12 |
port-profile type ethernet name
n1000v(config)# port-profile type ethernet myppte n1000v(config-port-prof)# |
ポートプロファイルを作成して、ポートプロファイル コンフィギュレーション モードを開始します。 |
ステップ 13 |
service-policy type queuing output name
n1000v(config-port-prof)# service-policy type queuing output my_pmtq n1000v(config-port-prof)# |
サービスポリシー タイプ キューイングを作成します。 |
ステップ 14 |
show policy-map interface Example: n1000v(config-port-prof)# show policy-map interface n1000v(config-port-prof) |
すべてのインターフェイス上のグローバル統計情報のステータスおよび設定済みのポリシー マップを表示します。 |
ステップ 15 |
copy running-config startup-config Example:
n1000v(config-port-prof)# copy running-config startup-config
n1000v(config-port-prof)#
|
(任意)リブート後に永続的な実行コンフィギュレーションを保存し、スタートアップ コンフィギュレーションにコピーして再起動します。 |
クラスベース重み付け均等化キューイングの設定の確認
QoS キューイング ポリシーの設定を確認するには、次の作業のいずれかを行います。
|
|
show policy map type queuing name |
キューイング ポリシー マップの設定を表示します。 「ポリシー マップ タイプ キューイングの表示」を参照してください。 |
show class-map type queuing name |
キューイング クラス マップの設定を表示します。 「クラス マップの表示」を参照してください。 |
show policy-map interface |
ポリシーマップ インターフェイスの設定を表示します。 「インターフェイスのポリシー マップの表示」を参照してください。 |
show running-config ipqos |
QoS の実行コンフィギュレーションを表示します。 |
例 6-1 ポリシー マップ タイプ キューイングの表示
n1000v# show policy-map type queuing Policy-vmotion
policy-map type queuing Policy-vmotion
class type queuing Match-vmotion
例 6-2 クラス マップの表示
n1000v# show class-map type queuing Match-vmotion
class-map type queuing match-any Match-vmotion
match protocol vmw_vmotion
例 6-3 インターフェイスのポリシー マップの表示
n1000v# show policy-map interface ethernet 3/3
Global statistics status : disabled
Service-policy (queuing) output: Policy-vmotion
policy statistics status: enabled
Class-map (queuing): Match-vmotion (match-any)
Match: protocol vmw_vmotion
例 6-4 クラス マップの表示
n1000v# show class-map type queuing Match-Cos
class-map type queuing match-all Match-Cos
例 6-5 インターフェイスのサービス ポリシーの表示
n1000v# show policy-map interface ethernet 3/3
Global statistics status : disabled
Service-policy (queuing) output: Policy-Cos
policy statistics status: enabled
Class-map (queuing): Match-Cos (match-all)
例 6-6 インターフェイスのサービス ポリシーの表示
n1000v# show policy-map interface port-channel 1
Global statistics status : disabled
Service-policy (queuing) output: Policy-vmotion
policy statistics status: enabled
Class-map (queuing): Match-vmotion (match-any)
Match: protocol vmw_vmotion
クラスベース重み付け均等化キューイングの設定例
例 6-7 vMotion トラフィックの帯域幅の 50% を割り当てる
Enter configuration commands, one per line. End with CNTL/Z.
class-map type queuing match-any Match-vmotion
match protocol vmw_vmotion
policy-map type queuing Policy-vmotion
class type queuing Match-vmotion
service-policy type queuing output Policy-vmotion
例 6-8 CoS 値が 5 のトラフィックに帯域幅の 50% を割り当てる
Enter configuration commands, one per line. End with CNTL/Z.
class-map type queuing match-all Match-Cos
policy-map type queuing Policy-Cos
class type queuing Match-Cos
service-policy type queuing output Policy-Cos
例 6-9 複数のトラフィック クラスがあるポリシー マップ
Enter configuration commands, one per line. End with CNTL/Z.
class-map type queuing match-any class-vmotion
match protocol vmw_vmotion
class-map type queuing match-any class-cos-2
policy-map type queuing policy-priority-vmotion
class type queuing class-vmotion
class type queuing class-cos-2
service-policy type queuing output policy-priority-vmotion
sh policy-map type queuing policy-priority-vmotion
policy-map type queuing policy-priority-vmotion
class type queuing class-vmotion
class type queuing class-cos-2
Enter configuration commands, one per line. End with CNTL/Z.
service-policy type queuing output policy-priority-vmotion
sh policy-map interface po1
Global statistics status : disabled
Service-policy (queuing) output: policy-priority-vmotion
policy statistics status: enabled
Class-map (queuing): class-vmotion (match-any)
Match: protocol vmw_vmotion
Class-map (queuing): class-cos-2 (match-any)
クラスベース重み付け均等化キューイング機能の履歴
ここでは、クラスベース重み付け均等化キューイングのリリース履歴を示します。
|
|
|
クラスベース重み付け均等化キューイング |
4.2(1)SV1(4) |
この機能が導入されました。 |