Para parceiros
Este documento descreve o que fazer se você experimentar descartes de entrada em interfaces de vários saltos Fibre Channel over Ethernet (FCoE). Este documento de problema/solução é útil quando os sintomas de descarte são identificados em interfaces que interconectam data centers remotos.
Este exemplo descreve um cenário real deste problema.
A topologia mostrada no exemplo representa dois datacenters separados por 10KM. Há uma interface 10KM FCoE Virtual Expansion (VE) (multihop) que conecta DC1 e DC2. As interfaces multihop são configuradas em placas de linha N7K-F132XP-15. De acordo com esta ficha técnica da série F1, esta deve estar dentro do intervalo suportado.
Inicialmente, a folha de dados indicava estes recursos de ponte do data center IEEE (DCB - IEEE Data Center Bridging):
O bug da Cisco ID CSCts72420 foi modificado para endereçar a documentação. A linha em relação à distância de link sem perdas de 20 KM foi removida.
Os dispositivos EMC VPLEX oferecem suporte a um recurso de replicação de armazenamento. Este cenário usou replicação síncrona. Quando os dispositivos EMC VPLEX foram atualizados, eles ficaram "fora de sincronia". Após a atualização do VPLEX, os dispositivos começaram a replicar grandes quantidades de dados no link de vários saltos 10KM FCoE.
Quando a replicação de dados aumentou, esses eventos se espalharam:
Esses eventos são uma visão de alto nível do comportamento esperado de controle de fluxo FCoE. Os quadros de pausa recebidos do Nexus 5000-DC2 indicam congestionamentos em um dispositivo final. À medida que os buffers de ingresso começam a ser preenchidos, os quadros de pausa são reproduzidos na estrutura.
O problema nesse cenário é que o Nexus 7000-DC2 descartou constantemente pacotes na entrada sobre o link de vários segmentos de 10KM.
Ethernet4/1 is up
Dedicated Interface
Hardware: 1000/10000 Ethernet, address: XXXX.XXXX.XXXX (bia XXXX.XXXX.XXXX)
MTU bytes (CoS values): 9216(0-2,4-7) 2112(3)
BW 10000000 Kbit, DLY 10 usec, reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA
Port mode is trunk
full-duplex, 10 Gb/s, media type is 10G
Beacon is turned off
Auto-Negotiation is turned on
Input flow-control is off, output flow-control is off
Rate mode is dedicated
Switchport monitor is off
EtherType is 0x8100
Last link flapped 25week(s) 0day(s)
Last clearing of "show interface" counters 79w2d
30 seconds input rate 296186536 bits/sec, 27891 packets/sec
30 seconds output rate 151677360 bits/sec, 19294 packets/sec
Load-Interval #2: 5 minute (300 seconds)
input rate 289.58 Mbps, 27.61 Kpps; output rate 165.20 Mbps, 20.05 Kpps
RX
566235497816 unicast packets 2504479 multicast packets 0 broadcast packets
566239834433 input packets 502487779153524 bytes
219280594774 jumbo packets 0 storm suppression packets
0 runts 0 giants 0 CRC 0 no buffer
0 input error 0 short frame 0 overrun 0 underrun 0 ignored
0 watchdog 0 bad etype drop 0 bad proto drop 0 if down drop
0 input with dribble 19312516 input discard
1832141 Rx pause
TX
681040135255 unicast packets 2504251 multicast packets 0 broadcast packets
681046392756 output packets 744942450903588 bytes
333793360248 jumbo packets
0 output error 0 collision 0 deferred 0 late collision
0 lost carrier 0 no carrier 0 babble 0 output discard
3753250 Tx pause
5 interface resets
Isso não deve acontecer porque a interface acima transporta apenas tráfego FCoE (CoS 3). Os descartes de entrada violam a política de QoS 'no-drop' para FCoE. Além disso, as devoluções em um ambiente FCoE podem levar a abortos SCSI, erros e assim por diante.
Quando um dispositivo envia uma pausa, a interface que gera o quadro de pausa deve ter uma fila de entrada com um espaço de buffer grande o suficiente para armazenar em buffer duas vezes a distância do link. Isso porque no momento em que a pausa é gerada o fio pode estar cheio. Quando o dispositivo adjacente receber/processar o quadro de pausa gerado, o fio poderá estar cheio novamente. Assim, o dispositivo que gera a pausa deve ter a capacidade de armazenar em buffer duas vezes a distância do link.
Após o cálculo, poderia haver mais de 100 pacotes em voo pelo link de 10KM. Devido a uma limitação de ASIC, a placa de linha da série F1 não pode suportar FCoE sem perdas em um link de 10KM ou superior.
ID de bug da Cisco CSCua10484 endereçou suporte a longa distância sem perdas F2. No NX-OS versão 6.1(2) e posterior, essas alterações de configuração são permitidas.
O espaço restante na IB para capturar pacotes pode ser calculado como: PL_STOP - PL_PAUSE. Por padrão, os valores PL_STOP e HWM (PL_PAUSE) são os mesmos.
module-4# show hardware internal mac port 1 qos configuration | begin IB | end EB
IB
Port page limit : 3584 (1376256 Bytes)
VL# HWM pages(bytes) LWM pages(bytes) Used PL_STOP(HWM & LWM)
pages THR
0 1107 ( 425088) 1059 ( 406656) 0 1107 1059
1 2 ( 768) 1 ( 384) 0 2 1
2 1107 ( 425088) 1059 ( 406656) 0 1107 1059
3 1053 ( 404352) 1029 ( 395136) 0 1053 1029
4 2 ( 768) 1 ( 384) 0 2 1
5 231 ( 88704) 159 ( 61056) 0 231 159
6 2 ( 768) 1 ( 384) 0 2 1
7 2 ( 768) 1 ( 384) 0 2 1
Credited DWRR WT: 216 (0xd8) Uncredited DWRR WT: 144 (0x90)
DWRR honor UC = FALSE
Leak Lo weight = 0xd8, enabled = FALSE
EB
Você pode modificar esses valores para suportar uma distância maior pela alocação de buffers maiores para a Classe de Serviço (CoS - Class of Service) sem queda. Para concluir isso, duplique o mapa de políticas de Qualidade de Serviço (QoS) 'padrão-4q-7e-em-política'.
Por padrão e VDC de armazenamento
Switch(config)# qos copy policy-map type queuing ?
*** No matching command found in current mode, matching in (exec) mode ***
default-4q-7e-in-policy Default 7-ethernet input queuing policy
default-4q-7e-out-policy Default 7-ethernet output queuing policy
Switch(config)# qos copy policy-map type queuing default-4q-7e-in-policy prefix 7I_
Depois que a política for copiada no VDC padrão e no VDC de armazenamento, modifique o mapa de política '4q-7e-in' para alocar uma porcentagem de limite de fila maior para o COS sem queda.
Por padrão e VDC de armazenamento
Switch(config)# show run ipqos
<snippet>
policy-map type queuing 7I_4q-7e-in
class type queuing c-4q-7e-drop-in
service-policy type queuing 7I_4q-7e-drop-in
queue-limit percent 1 <<<<<<<<<<<<<<<<<
class type queuing c-4q-7e-ndrop-in
service-policy type queuing 7I_4q-7e-ndrop-in
queue-limit percent 99 <<<<<<<<<<<<<<<<<
Agora, aplique a política de QoS modificada à interface desejada:
No VDC de armazenamento
Switch(config)# int e4/1
Switch(config-if)# service-policy type queuing input 7I_4q-7e-in
Switch(config-if)# show run int e4/1
!Command: show running-config interface Ethernet4/1
!Time: Sun Mar 2 21:03:07 2014
version 6.1(4)
interface Ethernet4/1
switchport
switchport mode trunk
switchport trunk allowed vlan 1,2990
load-interval counter 2 30
service-policy type queuing input 7I_4q-7e-in
no shutdown
Agora, observe que o valor PL_STOP é maior que a Marca d'água alta ( HWM). Assim, um maior recurso de buffer é permitido para a IB.
module-4# show hardware internal mac port 1 qos configuration | begin IB | end EB
IB
Port page limit : 3584 (1376256 Bytes)
VL# HWM pages(bytes) LWM pages(bytes) Used PL_STOP(HWM & LWM)
pages THR
0 15 ( 5760) 9 ( 3456) 0 15 9
1 2 ( 768) 1 ( 384) 0 2 1
2 15 ( 5760) 9 ( 3456) 0 15 9
3 1161 ( 445824) 1137 ( 436608) 0 3521 1137
4 2 ( 768) 1 ( 384) 0 2 1
5 3 ( 1152) 0 ( 0) 0 3 0
6 2 ( 768) 1 ( 384) 0 2 1
7 2 ( 768) 1 ( 384) 0 2 1
Credited DWRR WT: 216 (0xd8) Uncredited DWRR WT: 144 (0x90)
DWRR honor UC = FALSE
Leak Lo weight = 0xd8, enabled = FALSE
EB
No exemplo, o espaço deixado em IB = 3521 páginas - 1161 páginas = 2360 páginas => 906.240 bytes.
Ou
Se disponível, use Fibre Channel (FC) nativo entre os locais. Essa solução exige a intervenção de Multiplexador de Divisor de Comprimento de Onda Cruzado/Multiplexador de Divisor de Comprimento de Onda Denso (CWDM/DWDM) ou fibra escura, dependendo da distância necessária.
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
17-Jul-2014 |
Versão inicial |