◆ NX-OS - システムクラスの設定 ( 全体の流れ )
@ Class-mapの設定 ( トラフィックの分類 )
A Policy-mapの設定(type qosポリシーの設定 → type network-qosポリシーの設定 → type queuingポリシーの設定)
B system-qosの設定 ( システムサービスポリシーの追加 )
◆ NX-OS - Class-map の設定
◆ ACL分類の設定
(config)# class-map type qos class-name
(config-cmap-qos)# match access-group name acl-name
Nexus(confg)# class-map type qos C-GROUP1-QOS
Nexus(config-cmap-qos)# match access-group name A-NET1
|
◆ CoS分類の設定
(config)# class-map type qos class-name
(config-cmap-qos)# match cos cos-value
Nexus(confg)# class-map type qos C-GROUP2-QOS
Nexus(config-cmap-qos)# match cos 3, 5
|
※ class-mapのデフォルトが match-all なので、いずれかの基準を満たしたいだけの場合、match-any のキーワードを指定する。
◆ DSCP分類の設定
(config)# class-map type qos class-name
(config-cmap-qos)# match dscp dscp-list
Nexus(confg)# class-map type qos C-GROUP3-QOS
Nexus(config-cmap-qos)# match dscp af21, af32
|
※ match dscp で指定する cs / af / ef のキーワードの意味が分からない方は 「DiffServ QoSモデル」 のマーキング部分をご参考。
◆ Precedence分類の設定
(config)# class-map type qos class-name
(config-cmap-qos)# match precedence precedence-values
Nexus(confg)# class-map type qos C-GROUP4-QOS
Nexus(config-cmap-qos)# match precedence 2, critical
|
◆ IP RTP分類の設定
(config)# class-map type qos class-name
(config-cmap-qos)# match ip rtp port-number
Nexus(confg)# class-map type qos C-GROUP5-QOS
Nexus(config-cmap-qos)# match ip rtp 2000-2100, 4000-4100
|
※ RTPでは一般的なTCP/UDPポートは使用されませんが、通常はポート番号(16384 〜 32767)を使用するようにRTPを設定。
◆ プロトコル分類の設定(一般的に使用されない)
(config)# class-map type qos class-name
(config-cmap-qos)# match protocol [ arp | clns_es | clns_is | dhcp | ldp | netbios ]
Nexus(confg)# class-map type qos C-GROUP6-QOS
Nexus(config-cmap-qos)# match ip rtp 2000-2100, 4000-4100
|
◆ QoSグループ分類の設定
(config)# class-map type [ network-qos | queuing ] class-name
(config-cmap-que)# match qos-group qos-group-value
Nexus(confg)# class-map type queuing C-GROUP1-QUE
Nexus(config-cmap-qos)# match qos-group 3
|
Nexus(confg)# class-map type network-qos C-GROUP1-NQ
Nexus(config-cmap-qos)# match qos-group 3
|
※ 上記コマンドは前提として、トラフィック分類の際に policy-map type qos でqos-groupを定義した後に使用されるコマンド。
※ qos-group で使用できるQoSグループは 0 〜 5 。QoSグループ 0 はclass-defaultとして定義されているので設定できない。
◆ NX-OS - Policy-map の設定
Nexus5000シリーズでは最大4つ、Nexus5500シリーズでは最大5つの追加システムクラスを定義できます。
デフォルトで設定されているシステムクラスは機種ごとに異なる。Nexus5548では class-default のみ存在。
デフォルトのシステムクラス |
サービスタイプ |
qos-group |
drop |
説明 |
class-default |
ベストエフォート |
0 |
dropクラス |
Nexus5000/5500シリーズに存在 |
class-fcoe |
ロスレスサービス |
1 |
no-dropクラス |
Nexus5000シリーズにのみ存在 |
◆ type qosポリシーの設定
(config)# policy-map type qos policy-name
(config-pmap-qos)# class type qos class-name
(config-pmap-c-qos)# set qos-group qos-group-value
一意のqos-groupの値で識別される特定のシステムクラスのトラフィックを分類するにはtype qosポリシーを設定。typ qosポリシーは
入力トラフィックにのみシステム全体または個々のI/Fに追加できる。 入力トラフィック用に最大5種類のQoS グループを設定できる。
Nexus(confg)# policy-map type qos P-GROUP-QOS
Nexus(config-pmap-qos)# class type qos C-GROUP1-QOS
Nexus(config-pmap--c-qos)# set qos-group 2
|
◆ type network-qos ポリシーの設定
(config)# policy-map type network-qos policy-name
(config-pmap-nq)# class type network-qos class-name
(config-pmap-c-nq)# mtu mtu-value
(config-pmap-c-nq)# multicast-optimize
(config-pmap-c-nq)# pause no-drop [ pfc-cos pfc-cos-value ]
(config-pmap-c-nq)# queue-limit number-bytes bytes
(config-pmap-c-nq)# set cos cos-value
type network-qosポリシーは、system qos の結合時にだけ設定できて、特定のシステムクラス用にスイッチ全体に適用されます。
type network-qosポリシーで設定するCoSマーキングは、L3モジュールを搭載した場合のL3 QoSで主に使用する実装となります。
Nexus(confg)# policy-map type network-qos P-GROUP-NQ
Nexus(config-pmap-nq)# class type network-qos C-GROUP1-NQ
Nexus(config-pmap-c-nq)# queue-limit 100000
Nexus(config-pmap-c-nq)# set cos 5
|
※ 上記設定コマンドの前提はどのqos-groupを照合するのかを定義したnetwork-qosのclass-mapを設定していること。以下が設定例。
Nexus(confg)# class-map type network-qos C-GROUP1-NQ
Nexus(config-cmap-qos)# match qos-group 3
|
◆ type queuing ポリシーの設定
(config)# policy-map type queuing policy-name
(config-pmap-que)# class type queuing class-name
(config-pmap-c-que)# bandwidth percent percentage
(config-pmap-c-que)# priority
type queuingポリシーは特定のシステムクラスのトラフィックをスケジューリングとバッファリングする。 type queuingポリシーは
qos-group で識別され、入力トラフィック or 出力トラフィック用に、システム or 個々のインターフェイスに適用することができる。
bandwidth percent コマンドで保証帯域幅を正常に割り当てるためには、最初に class-default のデフォルト設定を下げる必要がある。
例えば以下の設定例のように全体で100% になるように整合性を取ります。priorityを設定できるのは各ポリシーマップに1つだけです。
Nexus(confg)# policy-map type queuing P-GROUP-QUE
Nexus(config-pmap-que)# class type queuing class-default
Nexus(config-pmap-c-que)# bandwidth percent 50
Nexus(config-pmap-que)# class type queuing C-GROUP1-QUE
Nexus(config-pmap-c-que)# bandwidth percent 20
Nexus(config-pmap-que)# class type queuing C-GROUP2-QUE
Nexus(config-pmap-c-que)# bandwidth percent 30
|
※ 上記コマンドの前提はどのqos-groupを照合するのかを定義したqueuingポリシーのclass-mapを設定していること。以下が設定例。
Nexus(confg)# class-map type queuing C-GROUP1-QUE
Nexus(config-cmap-que)# match qos-group 2
Nexus(confg)# class-map type queuing C-GROUP2-QUE
Nexus(config-cmap-que)# match qos-group 3
|
|