O conjunto de documentação deste produto faz o possível para usar uma linguagem imparcial. Para os fins deste conjunto de documentação, a imparcialidade é definida como uma linguagem que não implica em discriminação baseada em idade, deficiência, gênero, identidade racial, identidade étnica, orientação sexual, status socioeconômico e interseccionalidade. Pode haver exceções na documentação devido à linguagem codificada nas interfaces de usuário do software do produto, linguagem usada com base na documentação de RFP ou linguagem usada por um produto de terceiros referenciado. Saiba mais sobre como a Cisco está usando a linguagem inclusiva.
A Cisco traduziu este documento com a ajuda de tecnologias de tradução automática e humana para oferecer conteúdo de suporte aos seus usuários no seu próprio idioma, independentemente da localização. Observe que mesmo a melhor tradução automática não será tão precisa quanto as realizadas por um tradutor profissional. A Cisco Systems, Inc. não se responsabiliza pela precisão destas traduções e recomenda que o documento original em inglês (link fornecido) seja sempre consultado.
Este documento descreve a configuração da Qualidade de Serviço (QoS) nos dispositivos Unified Computing System (UCS) e Nexus.
Não existem requisitos específicos para este documento.
As informações neste documento são baseadas nestas versões de software e hardware:
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Este documento trata das interconexões em malha UCS(6100 e 6200) e Nexus(5000 e 5500) QoS especificamente relacionadas ao FlexPod e vBlock.
Terminologia usada nesta documentação relacionada à QoS.
CoS = Classe de Serviço = 802.1p = 3 bits no cabeçalho .1q em cada pacote para dizer ao switch como classificar.
QoS = Qualidade do serviço = Como o switch lida com cada Classe de serviço.
MTU = Unidade máxima de transmissão = tamanho máximo permitido de um quadro/pacote no switch. O mais comum e o padrão (normal é o que a captura de tela do UCS abaixo mostra) é 1500.
As configurações de QoS do UCS para referência (UCSM / LAN / QoS System Class):
Note: O melhor esforço e o Fibre Channel estão acinzentados e não podem ser desativados no 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
Informações relevantes:
CoS <=> qos-group
CoS | qos-group | |
Platinum | 5 | 2 |
Gold | 4 | 3 |
Prata | 2 | 4 |
Bronze | 1 | 5 |
O melhor esforço | qualquer um | 0 |
Fibre Channel | 3 | 1 |
O CoS pode ser alterado para CoS 6 no UCS. O CoS 7 é reservado para comunicações internas do 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
Esta saída mostra como essa interface enfileira cada classe.
Informações sobre a porta do switch Ethernet 1/1:
Mostrar interface de enfileiramento para as portas dos módulos de entrada e saída (IOM) no chassi do UCS:
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
Há qos-group 0 e qos-group 1, qos-group 0 obtém pacotes marcados com cos 0 1 2 4 5 6 e qos-group 1 get cos 3. O tamanho do buffer no Fabric Extender (FEX)/IOMs é um pouco menor e é de apenas 126720 bytes. O FEX faz a QoS de forma ligeiramente diferente e agrupa vários grupos de qos em uma fila. Os contadores rx e tx para cada fila podem ser vistos.
A última saída a ser dada é: 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
Isso mostra em que interfaces o Priority Flow Control (PFC) negocia (Auto On) e que interfaces o PFC não negocia (Auto Off). O PFC é uma forma de um switch pedir a um switch vizinho para não enviar pacotes de um CoS específico por um curto período de tempo. As pausas de PFC (PPP, por pausa de prioridade) ocorrem quando os buffers estão cheios/quase cheios. A saída de `show cdp neighbors` e `show fex details' nos diz que a Ethernet 1/1-4 está abaixo do FEX/IOM do chassi 1 e a Ethernet 1/9-10 está até o Nexus 5000. Nesta saída, 6 pausas foram enviadas para o FEX/IOM em Ethernet 1/4 e 2 pausas foram enviadas para Ethernet1/10 para o Nexus 5000 de upstream.
Note: Como o FEX/IOM não são realmente switches, o PFC NÃO negocia entre eles na Ethernet1/1-4, mas pode negociar para o ponto final Ethernet1/1/1. Os PPPs enviados para um FEX/IOM são enviados junto com a porta do switch remoto Ethernet1/1/1.
É com isso que a QoS do UCS é lançada....
Isso resulta na configuração:
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)
Observe que o melhor esforço (qos-group 0) q-size passou de 360640 para 308160 porque Silver (qos-group 4) foi alocado 22720 de espaço de buffers.
Defina MTU como 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)
Prata(qos-group 4) agora recebe 29760 q-size, acima de 22720.
Desmarque a configuração 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)
Observe que o tamanho q do Silver (qos-group 4) aumenta para 90240, o tipo drop muda para no-drop e Best Effort qos-group 0 é reduzido para 240640.
O espaço de buffer do grupo de qos de melhor esforço 0 é realocado para outras classes de QoS.
As configurações de qos padrão do Nexus 5000 são semelhantes, mas não exatas.
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
O Nexus 5000 oculta as opções padrão para que show running-config ipqos all seja necessário para ver toda a configuração.
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)
As portas até o UCS (Ethernet1/1 - 2) têm a PFC desligada (Desligada automaticamente).
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..
Por padrão, essas políticas estão presentes no Nexus 5000, mas não estão habilitadas, portanto, basta usá-las.
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
As portas até o UCS (Ethernet1/1 - 2) têm PFC ligado (Automático ativado).
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) é como os dispositivos Nexus/UCS criam uma estrutura sem perdas como parte do Data Center Bridging (DCBX). O FCoE requer uma estrutura sem perdas, o FCoE de vários saltos é especialmente propenso a esse problema de configuração. O switch upstream, geralmente um Nexus 5000, deve corresponder às configurações de QoS configuradas no UCS.
Como mencionado anteriormente, a PFC é uma maneira dos switches notificarem os switches vizinhos para pararem para enviar quadros adicionais. Pense nisso no contexto de um ambiente de rede de vários switches com tráfego que vai para várias direções ao mesmo tempo, e não somente esse acréscimo de buffers do caminho1(origem1/destino1) está multiplicando buffers porque o switch vizinho provavelmente tem tráfego que ingressa em várias portas (vários buffers). Embora a PFC não seja necessária quando você usa o armazenamento IP, ela geralmente ajuda a melhorar drasticamente o desempenho devido a esse efeito de multiplicação de buffer, o que evita a perda desnecessária de pacotes.
Uma excelente visão geral de PFC/DCBX.
Se uma classe de QoS é definida em um switch como no-drop e não como no-drop no outro, a PFC não negocia. Como o UCS configura Platinum como no-drop, mas desabilitado, isso ocorre com frequência quando o Platinum está habilitado.
Se a entrada de enfileiramento e a saída de enfileiramento e a entrada de qos não coincidirem, a PFC não negocia.
Por padrão, os filtros da NetApp enviam TODO o tráfego de armazenamento IP marcado pela VLAN pela NetApp em CoS 4(Gold). Como os bits de CoS estão no cabeçalho .1q quando a NetApp está conectada a uma porta de acesso, o tráfego da NetApp é colocado no Melhor Esforço.
Um erro comum de configuração é escolher outra cor de CoS (Silver) para colocar o tráfego NFS do Network File System do UCS e devolver o tráfego NFS de um NetApp para o Gold. Então o tráfego é algo como:
Servidor | UCS | Nexus 5K | NetApp |
Enviar | Prata > | Prata > | O melhor esforço |
Recepção | < Ouro | < Ouro | < Ouro |
Se o UCS fosse configurado para Silver como Jumbo mas NÃO Gold, isso causaria problemas.
Quando uma classe de QoS (Platinum/Gold/Silver/Bronze) NÃO está habilitada, os dispositivos UCS e Nexus tratam esses pacotes como o melhor esforço e os colocam no grupo de qos 0.
Servidor | UCS | Nexus 5K | NetApp |
Enviar | Prata > | Melhor esforço > | O melhor esforço |
Recepção | < Ouro | < Melhor esforço | < Ouro |
Note: os bits de CoS no pacote NÃO são alterados/remarcados, mas os pacotes são tratados de forma diferente.
O design de QoS do VCE é inferior ao ideal.
Nexus 1k | UCS | Nexus 5K | |
BE / CoS 0 | 1500 | 1500 | 1600 |
FC / CoS 1 | - | 2158 (sem queda) | - |
CoS 6 |
mgmt | - | - |
Platinum / CoS 5 |
- | 1500 (sem queda) | 1500 |
Ouro / CoS 4 | comoção | 1500 | 1500 |
Prata / CoS 2 | NFS | - | 9216 (sem queda) |
Se você tem classes de CoS definidas em um nível, mas ignoradas em outro nível, é complicado e pode fazer com que as coisas não funcionem da maneira que foi planejada. Por exemplo, o VCE usa o Silver para NFS, mas se o UCS não tiver o Silver definido, esse tráfego será enfileirado em Melhor Esforço, que não é Jumbo e pode fazer com que o tráfego NFS seja descartado ou fragmentado. O PFC não é negociado devido a incompatibilidades em políticas sem queda, mas, evidentemente, isso é OK porque o PFC não é necessário para Ethernet.
Os protocolos de armazenamento baseados em Internet Protocol (IP) são todos protocolos muito intermitentes e frequentemente configurados com 9000 MTU. Como tal, eles têm um desempenho ruim em Platinum/Gold/Silver/Bronze devido ao MTU de 29760 q-size/9000 permite apenas 3 pacotes no buffer antes que a queda traseira seja causada.
A política Ethernet UCS permite que os buffers vNIC (tamanho do anel) sejam aumentados. O padrão é 512 e o máximo é 4096. se você alterar esse valor para o máximo, a latência total do buffer (##KB / 10Gbps) aumentará de 0,4 ms para 3,2 ms. Assim, as alterações nesse buffer permitem menos descartes, mas em detrimento do aumento da latência.
O ponto da configuração de Jumbo Frames é permitir que um dispositivo de endpoint se comunique com outro dispositivo de endpoint com pacotes da camada 3 de 9000 bytes. Quando técnicas de encapsulamento da camada 2 são usadas, os switches e roteadores entre os dispositivos de ponto final precisam ser capazes de lidar com quadros da camada 2 ligeiramente maiores do que 9000 pacotes da camada 3 do MTU para contabilizar a sobrecarga do encapsulamento. Em caso de dúvida, permita 9216 MTU em switches.
À medida que novos pacotes são enfileirados, o buffer é preenchido.
Quando o buffer chega a 20k, ele continua a ser preenchido.
Quando o buffer chega a 40k, o switch envia uma pausa PPP se essa fila não for suspensa, o que indica que o switch remoto deve parar para enviar tráfego.
Idealmente, o lado remoto logo pára para enviar tráfego e o restante do buffer (79360-40320) contém pacotes de entrada em voo.
Os contadores "Pkts descartados na entrada" incrementam quando o buffer está cheio.
FC e FCoE é um protocolo sem perdas em uma situação ideal em que o switch remoto para para para para enviar níveis de tráfego e buffer eventualmente cair e alcançar 20 k. O switch envia outro PPP unpause para essa fila no-drop que instrui o switch remoto a iniciar o envio de tráfego novamente.
Atualmente, não há informações específicas de solução de problemas disponíveis para esta configuração.