目录

简介

先决条件

要求

使用的组件

背景信息

配置

UCS QoS开箱即用

默认QoS配置

show queuing interface命令

IOM端口que

show interface priority-flow-control

如果启用银牌，情况会如何？

如果银牌变成巨银呢？

如果银牌是无丢弃的呢？

上游Nexus 5000

show running-config ipqos

show queuing interface

show interface priority-flow-control

将FCoE添加到配置

show interface priority-flow-control

PFC

为什么PFC不协商？

无丢弃QoS策略在每端必须匹配。

系统QoS在每端必须匹配

NetApp

金牌

非对称QoS

未定义的QoS

虚拟计算环境(VCE)QoS

浅缓冲区

更大缓冲区

9216 MTU与9000 MTU

PFC和PPP

故障排除

相关信息

简介

本文档介绍统一计算系统(UCS)和Nexus设备中的服务质量(QoS)配置。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档中的信息基于以下软件和硬件版本：

- UCS交换矩阵互联(FI)6100和6200

- Nexus 5000和5500

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

背景信息

本文档介绍与FlexPod和vBlock特别相关的UCS（6100和6200交换矩阵互联）和Nexus（5000和5500）QoS。

本文档中使用的与QoS相关的术语。

CoS =服务类别= 802.1p =每个数据包的。1q报头中的3位，以告诉交换机如何分类。

QoS =服务质量=交换机如何处理每个服务类别。

MTU =最大传输单位=交换机上允许的帧/数据包的最大大小。最常见和默认值（正常为UCS屏幕截图所示）为1500。

配置

UCS QoS开箱即用

参考的UCS QoS设置（UCSM/LAN/QoS系统类）：

注意：“尽力而为”(Best Effort)和“光纤通道”(Fibre Channel)灰显，无法在UCS中禁用。

默认QoS配置

P10-UCS-A(nxos)# show running-config ipqos

logging level ipqosmgr 2

class-map type qos class-fcoe

class-map type queuing class-fcoe

match qos-group 1

class-map type queuing class-all-flood

match qos-group 2

class-map type queuing class-ip-multicast

match qos-group 2

policy-map type qos system_qos_policy

class class-fcoe

set qos-group 1

class class-default

policy-map type queuing system_q_in_policy

class type queuing class-fcoe

bandwidth percent 50

class type queuing class-default

bandwidth percent 50

policy-map type queuing system_q_out_policy

class type queuing class-fcoe

bandwidth percent 50

class type queuing class-default

bandwidth percent 50

class-map type network-qos class-fcoe

match qos-group 1

class-map type network-qos class-all-flood

match qos-group 2

class-map type network-qos class-ip-multicast

match qos-group 2

policy-map type network-qos system_nq_policy

class type network-qos class-fcoe

pause no-drop

mtu 2158

class type network-qos class-default

system qos

service-policy type qos input system_qos_policy

service-policy type queuing input system_q_in_policy

service-policy type queuing output system_q_out_policy

service-policy type network-qos system_nq_policy

相关信息：

- qos-group是交换机内部处理给定CoS的方式。将qos组视为每个数据包进入的桶或通道。

- 尽力而为未获得显式qos-group，因此它默认为qos-group 0

- 以太网光纤通道(FCoE)具有CoS 3并进入qos-group 1

CoS <=> qos-group备忘单

CoS

qos-group

白金

5

2

金牌

4

3

银牌

2

4

铜级

1

5

尽力

any

0

光纤通道

3

1

CoS可在UCS上更改为CoS 6。CoS 7保留用于内部UCS通信。

show queuing interface命令

P10-UCS-A(nxos)# show queuing interface

Ethernet1/1 queuing information:

TX Queuing

qos-group  sched-type  oper-bandwidth

0       WRR             50

1       WRR             50

RX Queuing

qos-group 0

q-size: 360640, HW MTU: 1500 (1500 configured)

drop-type: drop, xon: 0, xoff: 360640

Statistics:

Pkts received over the port             : 27957

Ucast pkts sent to the cross-bar        : 0

Mcast pkts sent to the cross-bar        : 27957

Ucast pkts received from the cross-bar  : 0

Pkts sent to the port                   : 347

Pkts discarded on ingress               : 0

Per-priority-pause status               : Rx (Inactive), Tx (Inactive)

qos-group 1

q-size: 79360, HW MTU: 2158 (2158 configured)

drop-type: no-drop, xon: 20480, xoff: 40320

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      : 347

此输出显示此接口如何对每个类进行排队。

有关交换机端口Ethernet 1/1的信息：

- “尽力而为”(Best Effort)获取qos-group 0和q-size 360640 bytes of buffers，MTU为1500。

- 此端口已接收/接收27957个尽力而为数据包，并且已接收/发送347个数据包。

- “入口上丢弃的数据包”是已接收的数据包数，但在此时缓冲区(q-size)已满，交换机决定丢弃，这也称为尾部丢弃。

IOM端口que

显示UCS机箱中输入和输出模块(IOM)端口的排队接口：

Ethernet1/1/1 queuing information:

Input buffer allocation:

Qos-group: 1

frh: 3

drop-type: no-drop

cos: 3

xon       xoff      buffer-size

---------+---------+-----------

8960      14080     24320

Qos-group: 0

frh: 8

drop-type: drop

cos: 0 1 2 4 5 6

xon       xoff      buffer-size

---------+---------+-----------

0         117760    126720

Queueing:

queue    qos-group    cos            priority  bandwidth mtu

--------+------------+--------------+---------+---------+----

2        0            0 1 2 4 5 6     WRR        50      1600

3        1            3               WRR        50      2240

Queue limit: 66560 bytes

Queue Statistics:

queue  rx              tx

------+---------------+---------------

2      18098           28051

3      0               0

Port Statistics:

rx drop         rx mcast drop   rx error        tx drop         mux ovflow

---------------+---------------+---------------+---------------+--------------

0               0               0               0                InActive

Priority-flow-control enabled: yes

Flow-control status:

cos     qos-group   rx pause  tx pause  masked rx pause

-------+-----------+---------+---------+---------------

0              0    xon       xon       xon

1              0    xon       xon       xon

2              0    xon       xon       xon

3              1    xon       xon       xon

4              0    xon       xon       xon

5              0    xon       xon       xon

6              0    xon       xon       xon

7            n/a    xon       xon       xon

有qos-group 0和qos-group 1, qos-group 0获取标记有cos 0 1 2 4 5 6的数据包， qos-group 1获取cos 3。交换矩阵扩展器(FEX)/IOM上的缓冲区大小稍小一点，仅126720字节。FEX执行QoS的方式略有不同，它采用多个qos组并将其捆绑到队列中。可以看到每个队列的rx和tx计数器。

show interface priority-flow-control

最后要检出的输出是：show interface priority-flow-control

P10-UCS-A(nxos)# show interface priority-flow-control

============================================================

Port               Mode Oper(VL bmap)  RxPPP      TxPPP

============================================================

Ethernet1/1        Auto Off           0          0

Ethernet1/2        Auto Off           0          0

Ethernet1/3        Auto Off           0          0

Ethernet1/4        Auto Off           6          0

Ethernet1/5        Auto Off           0          0

Ethernet1/6        Auto Off           0          0

Ethernet1/7        Auto Off           0          0

Ethernet1/8        Auto Off           0          0

Ethernet1/9        Auto Off           0          0

Ethernet1/10       Auto Off           2          0

..snip..

Vethernet733       Auto Off           0          0

Vethernet735       Auto Off           0          0

Vethernet737       Auto Off           0          0

Ethernet1/1/1      Auto On  (8)       0          0

Ethernet1/1/2      Auto Off           0          0

Ethernet1/1/3      Auto On  (8)       0          0

Ethernet1/1/4      Auto Off           0          0

这显示了优先级流量控制(PFC)协商的接口（自动打开）和PFC不协商的接口（自动关闭）。PFC是交换机要求邻居交换机在短时间内不发送特定CoS数据包的一种方式。当缓冲区已满/几乎已满时，PFC会暂停（PPP，每优先级暂停）。“show cdp neighbors”和“show fex details”的输出告诉我们，此Ethernet 1/1-4关闭到机箱1的FEX/IOM，Ethernet 1/9-10关闭到Nexus 5000。在此输出中，6次暂停被发送到Ethernet 1/4上的FEX/IOM，2次暂停被发送到Ethernet1/10到上游Nexus 5000。

- PPP本身并不坏！

注意：由于FEX/IOM实际上不是交换机，因此PFC不会在Ethernet1/1-4上在它们之间协商，而是可以协商到终端Ethernet1/1/1。发送到FEX/IOM的PPP通过远程交换机端口Ethernet1/1/1发送。

这就是UCS QoS开箱即用的外观……。

如果启用银牌，情况会如何？

这会导致配置：

class-map type qos class-fcoe

class-map type qos match-all class-silver match cos 2 class-map type queuing class-silver match qos-group 4

class-map type queuing class-all-flood

match qos-group 2

class-map type queuing class-ip-multicast

match qos-group 2

policy-map type qos system_qos_policy

class class-silver set qos-group 4

policy-map type queuing system_q_in_policy

class type queuing class-silver bandwidth percent 44

class type queuing class-fcoe

bandwidth percent 29

class type queuing class-default

bandwidth percent 27

policy-map type queuing system_q_out_policy

class type queuing class-silver bandwidth percent 44

class type queuing class-fcoe

bandwidth percent 29

class type queuing class-default

bandwidth percent 27

policy-map type queuing org-root/ep-qos-Default-Qos

class type queuing class-fcoe

class type queuing class-default

bandwidth percent 50

shape 40000000 kbps 10240

class-map type network-qos class-silver match qos-group 4class-map type network-qos class-all-flood

match qos-group 2

class-map type network-qos class-ip-multicast

match qos-group 2

policy-map type network-qos system_nq_policy

class type network-qos class-silver

class type network-qos class-fcoe

pause no-drop

mtu 2158

class type network-qos class-default

system qos

service-policy type qos input system_qos_policy

service-policy type queuing input system_q_in_policy

service-policy type queuing output system_q_out_policy

service-policy type network-qos system_nq_policy

Ethernet1/1 queuing information:

TX Queuing

qos-group  sched-type  oper-bandwidth

0       WRR             27

1       WRR             29

4       WRR             44

RX Queuing

qos-group 0

q-size: 308160, HW MTU: 9216 (9216 configured)

drop-type: drop, xon: 0, xoff: 301120

Statistics:

Pkts received over the port             : 12

Ucast pkts sent to the cross-bar        : 12

Mcast pkts sent to the cross-bar        : 0

Ucast pkts received from the cross-bar  : 17

Pkts sent to the port                   : 17

Pkts discarded on ingress               : 0

Per-priority-pause status               : Rx (Inactive), Tx (Inactive)

qos-group 1

q-size: 79360, HW MTU: 2158 (2158 configured)

drop-type: no-drop, xon: 20480, xoff: 40320

Statistics:

Pkts received over the port             : 7836003

Ucast pkts sent to the cross-bar        : 7836003

Mcast pkts sent to the cross-bar        : 0

Ucast pkts received from the cross-bar  : 4551954

Pkts sent to the port                   : 4551954

Pkts discarded on ingress               : 0

Per-priority-pause status               : Rx (Inactive), Tx (Inactive)

qos-group 4 q-size: 22720, HW MTU: 1500 (1500 configured)

drop-type: drop, xon: 0, xoff: 22720

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)

请注意，尽力而为(qos-group 0)q-size从360640到308160,因为Silver(qos-group 4)分配了22720个缓冲区空间。

如果银牌变成巨银呢？

将MTU设置为9216。

Ethernet1/1 queuing information:

TX Queuing

qos-group  sched-type  oper-bandwidth

0       WRR             27

1       WRR             29

4       WRR             44

RX Queuing

qos-group 0

q-size: 301120, HW MTU: 9216 (9216 configured)

drop-type: drop, xon: 0, xoff: 301120

Statistics:

Pkts received over the port             : 3

Ucast pkts sent to the cross-bar        : 3

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)

qos-group 1

q-size: 79360, HW MTU: 2158 (2158 configured)

drop-type: no-drop, xon: 20480, xoff: 40320

Statistics:

Pkts received over the port             : 7842224

Ucast pkts sent to the cross-bar        : 7842224

Mcast pkts sent to the cross-bar        : 0

Ucast pkts received from the cross-bar  : 4555791

Pkts sent to the port                   : 4555791

Pkts discarded on ingress               : 0

Per-priority-pause status               : Rx (Inactive), Tx (Inactive)

qos-group 4

q-size: 29760, HW MTU: 9216 (9216 configured)

drop-type: drop, xon: 0, xoff: 29760

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)

Silver(qos-group 4)现在从22720增加到29760 q-size。

如果银牌是无丢弃的呢？

取消选中Packet Drop设置？

Ethernet1/1 queuing information:

TX Queuing

qos-group  sched-type  oper-bandwidth

0       WRR             27

1       WRR             29

4       WRR             44

RX Queuing

qos-group 0

q-size: 240640, HW MTU: 9216 (9216 configured)

drop-type: drop, xon: 0, xoff: 240640

Statistics:

Pkts received over the port             : 20

Ucast pkts sent to the cross-bar        : 20

Mcast pkts sent to the cross-bar        : 0

Ucast pkts received from the cross-bar  : 1

Pkts sent to the port                   : 1

Pkts discarded on ingress               : 0

Per-priority-pause status               : Rx (Inactive), Tx (Inactive)

qos-group 1

q-size: 79360, HW MTU: 2158 (2158 configured)

drop-type: no-drop, xon: 20480, xoff: 40320

Statistics:

Pkts received over the port             : 7837323

Ucast pkts sent to the cross-bar        : 7837323

Mcast pkts sent to the cross-bar        : 0

Ucast pkts received from the cross-bar  : 4552726

Pkts sent to the port                   : 4552726

Pkts discarded on ingress               : 0

Per-priority-pause status               : Rx (Inactive), Tx (Inactive)

qos-group 4 q-size: 90240, HW MTU: 9216 (9216 configured)

drop-type: no-drop, xon: 17280, xoff: 37120

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)

请注意，Silver(qos-group 4)q-size增加到90240,drop-type更改为no-drop,而Best Effort qos-group 0则降为240640。

尽力而为qos-group 0缓冲区空间重新分配给其他QoS类。

上游Nexus 5000

Nexus 5000默认qos配置相似，但不精确。

show running-config ipqos

P10-5k-a# show running-config ipqos

policy-map type network-qos jumbo

class type network-qos class-fcoe

pause no-drop

mtu 2158

class type network-qos class-default

mtu 9216

multicast-optimize

system qos

service-policy type network-qos jumbo

Nexus 5000隐藏默认选项，因此show running-config ipqos all是查看整个配置所必需的。

show queuing interface

P10-5k-a# show queuing interface

Ethernet1/1 queuing information:

TX Queuing

qos-group  sched-type  oper-bandwidth

0       WRR            100

1       WRR              0

RX Queuing

qos-group 0

q-size: 360640, HW MTU: 9216 (9216 configured)

drop-type: drop, xon: 0, xoff: 360640

Statistics:

Pkts received over the port             : 16

Ucast pkts sent to the cross-bar        : 16

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)

qos-group 1

q-size: 79360, HW MTU: 2158 (2158 configured)

drop-type: no-drop, xon: 20480, xoff: 40320

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)

show interface priority-flow-control

关闭至UCS(Ethernet1/1 - 2)的端口的PFC关闭（自动关闭）。

P10-5k-a(config-if-range)# show interface priority-flow-control

============================================================

Port               Mode Oper(VL bmap)  RxPPP      TxPPP

============================================================

Ethernet1/1        Auto Off           0          0

Ethernet1/2        Auto Off           0          0

Ethernet1/3        Auto Off           0          0

Ethernet1/4        Auto Off           0          0

Ethernet1/5        Auto Off           0          0

Ethernet1/6        Auto Off           0          0

Ethernet1/7        Auto Off           0          0

Ethernet1/8        Auto Off           0          0

Ethernet1/9        Auto Off           0          0

Ethernet1/10       Auto On  (0)       0          0

Ethernet1/11       Auto On  (0)       0          0

Ethernet1/12       Auto On  (0)       0          0

Ethernet1/13       Auto On  (0)       0          0

..snip..

将FCoE添加到配置

Nexus 5000上默认存在这些策略，但未启用，因此只需使用它们。

system qos

service-policy type queuing input fcoe-default-in-policy

service-policy type queuing output fcoe-default-out-policy

service-policy type qos input fcoe-default-in-policy

show interface priority-flow-control

UCS(Ethernet1/1 - 2)端口的PFC打开（自动打开）。

P10-5k-a(config-sys-qos)# sh int priority-flow-control

============================================================

Port               Mode Oper(VL bmap)  RxPPP      TxPPP

============================================================

Ethernet1/1        Auto On  (8)       0          0

Ethernet1/2        Auto On  (8)       0          0

Ethernet1/3        Auto Off           0          0

Ethernet1/4        Auto Off           0          0

..snip..

PFC

PFC(802.1Qbb)是Nexus/UCS设备如何在数据中心桥接(DCBX)中创建无损交换矩阵。FCoE需要无损交换矩阵，多跳FCoE尤其容易出现此配置问题。上游交换机（通常为Nexus 5000）必须与UCS上配置的QoS设置匹配。

如前所述，PFC是交换机通知邻居交换机停止发送额外帧的一种方式。在多交换机网络环境中，流量同时往往多个方向传输时，请考虑这一点，这不仅会增加路径1（源1/目的1）的缓冲区，而且还会增加缓冲区，因为邻居交换机可能具有入口多个端口（多个缓冲区）的流量。 虽然使用IP存储时不需要PFC，但由于这种缓冲乘法效果防止了不必要的数据包丢失，PFC通常有助于显着提高性能。

出色的PFC/DCBX概述。

为什么PFC不协商？

无丢弃QoS策略在每端必须匹配。

如果一台交换机上的QoS类别定义为无丢弃，而不是另一台交换机上的无丢弃，则PFC不进行协商。由于UCS将白金级配置为无丢包但开箱即用禁用，因此启用白金级时通常会发生这种情况。

系统QoS在每端必须匹配

如果队列输入和队列输出与qos输入不匹配，则PFC不进行协商。

NetApp

金牌

默认情况下，NetApp文件管理器发送CoS 4（金牌）中NetApp标记的所有IP存储流量。 当NetApp连接到接入端口时，CoS位在。1q报头中，因此NetApp流量将置于“尽力”状态。

非对称QoS

常见的配置错误是选择另一种CoS颜色（银色），将来自UCS的网络文件系统NFS流量放入NetApp的NFS流量放入Gold。因此，流量类似于：

服务器

UCS

Nexus 5k

NetApp

发送

银牌>

银牌>

尽力

接收

<金牌

<金牌

<金牌

如果UCS配置为银牌，而非金牌，则会导致问题。

未定义的QoS

当QoS类别（白金/金牌/银牌/铜牌）未启用时，UCS和Nexus设备将这些数据包视为尽力而为，并将其放入qos-group 0。

服务器

UCS

Nexus 5k

NetApp

发送

银牌>

尽力而为>

尽力

接收

<金牌

<尽力

<金牌

注意：数据包上的CoS位不会更改/重新标记，但是数据包的处理方式不同。

虚拟计算环境(VCE)QoS

VCE QoS设计不理想。

Nexus 1k

UCS

Nexus 5k

BE/CoS 0

1500

1500

1600

FC/CoS 1

-

2158（无丢弃）

-

CoS 6

mg

-

-

白金/CoS 5

-

1500（无丢弃）

1500

金牌/CoS 4

vmotion

1500

1500

银牌/CoS 2

NFS

-

9216（无丢弃）

如果您在一个级别定义了CoS类，但在另一个级别忽略了CoS类，则会非常复杂，并可能使事情无法按照预期的方式运行。例如，VCE使用NFS银牌，但如果UCS没有银牌定义，则此流量将以“尽力而为”（非巨型）排队，并可能导致NFS流量被丢弃或分段。由于无丢弃策略中的不匹配，PFC未协商，但显然这是正常的，因为以太网不需要PFC。

浅缓冲区

基于Internet协议(IP)的存储协议都是非常突发的协议，通常配置有9000 MTU。因此，由于29760 q-size / 9000 MTU仅允许3个数据包在尾部丢弃之前进入缓冲区，因此它们在白金/金牌/银牌/铜牌中表现不佳。

更大缓冲区

UCS以太网策略允许增加vNIC缓冲区（环大小）。默认值为512，最大值为4096。如果将此值更改为最大值，则完全缓冲区延迟(##KB / 10Gbps)从0.4ms增加到3.2ms。因此，此缓冲区中的更改可减少丢包数，但会以延迟增加为代价。

9216 MTU与9000 MTU

巨型帧的配置点是允许终端设备与具有9000字节第3层数据包的其他终端设备通信。当使用第2层封装技术时，终端设备之间的交换机和路由器需要能够处理比9000 MTU第3层数据包稍大的第2层帧，以计算封装开销。如有疑问，请允许交换机上使用9216 MTU。

PFC和PPP

当新数据包排队时，缓冲区会填充。

当缓冲区达到20k时，缓冲区继续填充。

当缓冲区达到40k时，如果此队列为no-drop，交换机将发送PPP暂停，而whixh表示远程交换机停止发送流量。

理想情况下，远程端很快会停止发送流量，而缓冲区的其余部分(79360-40320)会保存传入的飞行中数据包。

缓冲区已满时，“入口丢弃的数据包”计数器会增加。

FC和FCoE是理想情况下的无损协议，在远程交换机停止发送流量和缓冲区级别最终下降并缓存20k时。交换机为此无丢弃队列发送另一个PPP取消暂停，该队列告知远程交换机开始再次发送流量。

故障排除

当前没有可用于此配置的特定故障排除信息。

相关信息

- UCS Manager网络管理指南，版本4.0

- Nexus 5000系列服务质量配置指南

- 带VMware Esxi的UCS端到端巨型MTU配置示例

- 技术支持和文档 - Cisco Systems