此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍统一计算系统(UCS)和Nexus设备中的服务质量(QoS)配置。
本文档没有任何特定的要求。
本文档中的信息基于以下软件和硬件版本:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
本文档介绍与FlexPod和vBlock特别相关的UCS(6100和6200交换矩阵互联)和Nexus(5000和5500)QoS。
本文档中使用的与QoS相关的术语。
CoS =服务类别= 802.1p =每个数据包的。1q报头中的3位,以告诉交换机如何分类。
QoS =服务质量=交换机如何处理每个服务类别。
MTU =最大传输单位=交换机上允许的帧/数据包的最大大小。最常见和默认值(正常为UCS屏幕截图所示)为1500。
参考的UCS QoS设置(UCSM/LAN/QoS系统类):
注意:“尽力而为”(Best Effort)和“光纤通道”(Fibre Channel)灰显,无法在UCS中禁用。
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
相关信息:
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通信。
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的信息:
显示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
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。
注意:由于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默认qos配置相似,但不精确。
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是查看整个配置所必需的。
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)
关闭至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..
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
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(802.1Qbb)是Nexus/UCS设备如何在数据中心桥接(DCBX)中创建无损交换矩阵。FCoE需要无损交换矩阵,多跳FCoE尤其容易出现此配置问题。上游交换机(通常为Nexus 5000)必须与UCS上配置的QoS设置匹配。
如前所述,PFC是交换机通知邻居交换机停止发送额外帧的一种方式。在多交换机网络环境中,流量同时往往多个方向传输时,请考虑这一点,这不仅会增加路径1(源1/目的1)的缓冲区,而且还会增加缓冲区,因为邻居交换机可能具有入口多个端口(多个缓冲区)的流量。 虽然使用IP存储时不需要PFC,但由于这种缓冲乘法效果防止了不必要的数据包丢失,PFC通常有助于显着提高性能。
出色的PFC/DCBX概述。
如果一台交换机上的QoS类别定义为无丢弃,而不是另一台交换机上的无丢弃,则PFC不进行协商。由于UCS将白金级配置为无丢包但开箱即用禁用,因此启用白金级时通常会发生这种情况。
如果队列输入和队列输出与qos输入不匹配,则PFC不进行协商。
默认情况下,NetApp文件管理器发送CoS 4(金牌)中NetApp标记的所有IP存储流量。 当NetApp连接到接入端口时,CoS位在。1q报头中,因此NetApp流量将置于“尽力”状态。
常见的配置错误是选择另一种CoS颜色(银色),将来自UCS的网络文件系统NFS流量放入NetApp的NFS流量放入Gold。因此,流量类似于:
服务器 | UCS | Nexus 5k | NetApp |
发送 | 银牌> | 银牌> | 尽力 |
接收 | <金牌 | <金牌 | <金牌 |
如果UCS配置为银牌,而非金牌,则会导致问题。
当QoS类别(白金/金牌/银牌/铜牌)未启用时,UCS和Nexus设备将这些数据包视为尽力而为,并将其放入qos-group 0。
服务器 | UCS | Nexus 5k | NetApp |
发送 | 银牌> | 尽力而为> | 尽力 |
接收 | <金牌 | <尽力 | <金牌 |
注意:数据包上的CoS位不会更改/重新标记,但是数据包的处理方式不同。
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。因此,此缓冲区中的更改可减少丢包数,但会以延迟增加为代价。
巨型帧的配置点是允许终端设备与具有9000字节第3层数据包的其他终端设备通信。当使用第2层封装技术时,终端设备之间的交换机和路由器需要能够处理比9000 MTU第3层数据包稍大的第2层帧,以计算封装开销。如有疑问,请允许交换机上使用9216 MTU。
当新数据包排队时,缓冲区会填充。
当缓冲区达到20k时,缓冲区继续填充。
当缓冲区达到40k时,如果此队列为no-drop,交换机将发送PPP暂停,而whixh表示远程交换机停止发送流量。
理想情况下,远程端很快会停止发送流量,而缓冲区的其余部分(79360-40320)会保存传入的飞行中数据包。
缓冲区已满时,“入口丢弃的数据包”计数器会增加。
FC和FCoE是理想情况下的无损协议,在远程交换机停止发送流量和缓冲区级别最终下降并缓存20k时。交换机为此无丢弃队列发送另一个PPP取消暂停,该队列告知远程交换机开始再次发送流量。
当前没有可用于此配置的特定故障排除信息。