Introduction
Este documento descreve os créditos de recepção e transmissão de buffer para buffer (B2B) em diferentes interfaces, que são úteis quando você soluciona problemas de desempenho em uma estrutura Fibre Channel.
Prerequisites
Requirements
A Cisco recomenda que você tenha conhecimento destes tópicos:
- Switch de dados multicamada (MDS) da Cisco
- protocolo Fibre Channel
Componentes Utilizados
As informações neste documento são baseadas nos Switches Multicamada Cisco MDS 9000 Series.
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.
Entender a prioridade de transmissão de créditos B2B no switch MDS
Quando você soluciona o problema de drenagem lenta da rede de estrutura Fibre Channel, uma maneira fácil de confirmar os créditos disponíveis para a interface é o comando show interface nos switches MDS.
A seguir está uma explicação dos créditos B2B de transmissão em uma interface MDS.
Para uma interface de tronco ISL (Inter-Switch Link Protocol)
Os créditos de baixa prioridade são usados para tráfego de dados, enquanto os créditos de alta prioridade são usados para tráfego de controle entre switches. Esta é apenas uma divisão lógica no lado do remetente para limitar-se de modo que não consuma todos os créditos de recepção (Rx) disponíveis no receptor.
Por exemplo, o switch MDS Tempest (receptor) diz ao switch MDS Maestro (remetente) que ele tem 64 créditos Rx.
O Switch MDS Maestro marca 56 créditos como créditos de transmissão de baixa prioridade (Tx) e 8 como créditos Tx de alta prioridade.
Em caso de congestionamento, o MDS Maestro pára de enviar tráfego de dados quando nenhum dos 56 créditos de baixa prioridade está disponível.
No entanto, ele ainda pode enviar tráfego de controle para o MDS Tempest usando os 8 créditos de alta prioridade disponíveis.
Não é necessário que a MDS Tempest faça uma diferenciação entre créditos de baixa ou alta prioridade.
Note: O número de créditos de transmissão de TX de alta prioridade depende das diferentes plataformas de hardware.
Este é o conceito geral: um em cada oito créditos de transmissão de TX será um crédito de alta prioridade e o máximo será 15 - suficiente para lidar com o ELP ou outras mensagens de controle ISL.
Essa diferenciação de alta/baixa prioridade é somente para links ISL entre portas E ou TE e não é usada em portas F.
Exemplo da plataforma MDS 9148S:
Para uma interface de porta E:
Tempest# show int fc1/26
fc1/26 is trunking
Hardware is Fibre Channel, SFP is short wave laser w/o OFC (SN)
Port WWN is 20:1a:00:2a:6a:b9:d2:30
Peer port WWN is 20:1a:00:2a:6a:56:f0:00
Admin port mode is auto, trunk mode is on
snmp link state traps are enabled
Port mode is TE
Port vsan is 2
Admin Speed is auto
Operating Speed is 4 Gbps
Rate mode is dedicated
Port flow-control is R_RDY
Transmit B2B Credit is 32
Receive B2B Credit is 64
B2B State Change Number is 14
Receive data field Size is 2112
Beacon is turned off
Logical type is core
Trunk vsans (admin allowed and active) (2)
Trunk vsans (up) (2)
Trunk vsans (isolated) ()
Trunk vsans (initializing) ()
5 minutes input rate 160 bits/sec,20 bytes/sec, 0 frames/sec
5 minutes output rate 96 bits/sec,12 bytes/sec, 0 frames/sec
22464 frames input,1801536 bytes
0 discards,0 errors
0 invalid CRC/FCS,0 unknown class
0 too long,0 too short
22977 frames output,1318564 bytes
0 discards,0 errors
0 input OLS,0 LRR,0 NOS,2 loop inits
1 output OLS,2 LRR, 0 NOS, 1 loop inits
64 receive B2B credit remaining
32 transmit B2B credit remaining
28 low priority transmit B2B credit remaining
Interface last changed at Thu Jul 20 15:40:32 2017
Last clearing of "show interface" counters : never
Tempest#
A outra extremidade do link mostra que o crédito total de transmissão é 64 e a baixa prioridade é 56:
Maestro# show int fc1/26
fc1/26 is trunking
Hardware is Fibre Channel, SFP is short wave laser w/o OFC (SN)
Port WWN is 20:1a:00:2a:6a:56:f0:00
Peer port WWN is 20:1a:00:2a:6a:b9:d2:30
Admin port mode is auto, trunk mode is on
snmp link state traps are enabled
Port mode is TE
Port vsan is 2
Speed is 4 Gbps
Rate mode is dedicated
Transmit B2B Credit is 64
Receive B2B Credit is 32
B2B State Change Number is 14
Receive data field Size is 2112
Beacon is turned off
admin fec state is down
oper fec state is down
Trunk vsans (admin allowed and active) (2)
Trunk vsans (up) (2)
Trunk vsans (isolated) ()
Trunk vsans (initializing) ()
5 minutes input rate 160 bits/sec,20 bytes/sec, 0 frames/sec
5 minutes output rate 216 bits/sec,27 bytes/sec, 0 frames/sec
23189 frames input,1330368 bytes
0 discards,0 errors
0 invalid CRC/FCS,0 unknown class
0 too long,0 too short
22677 frames output,1818076 bytes
0 discards,0 errors
1 input OLS,2 LRR,0 NOS,3 loop inits
1 output OLS,0 LRR, 0 NOS, 1 loop inits
32 receive B2B credit remaining
64 transmit B2B credit remaining
56 low priority transmit B2B credit remaining
Interface last changed at Wed Jul 19 16:39:58 2017
Last clearing of "show interface" counters 1w 5d
Maestro#
Para uma interface de porta F:
No caso de uma porta F, esse cálculo não se aplica, já que não há tráfego de controle entre o switch MDS e o dispositivo iniciador/destino.
Entretanto, você pode ver todos os créditos de transmissão em uma porta F que estão marcados como baixa prioridade para o tráfego de dados.
Por exemplo, o crédito total de transmissão é 3 e a baixa prioridade é 3 na seguinte saída:
switch# show int fc1/47
fc1/47 is up
Hardware is Fibre Channel, SFP is short wave laser w/o OFC (SN)
Port WWN is 20:2f:00:2a:6a:56:f0:00
Admin port mode is F, trunk mode is on
snmp link state traps are enabled
Port mode is F, FCID is 0x570f00
Port vsan is 2
Speed is 4 Gbps
Rate mode is dedicated
Transmit B2B Credit is 3
Receive B2B Credit is 32
Receive data field Size is 2112
Beacon is turned off
admin fec state is down
oper fec state is down
5 minutes input rate 0 bits/sec,0 bytes/sec, 0 frames/sec
5 minutes output rate 16 bits/sec,2 bytes/sec, 0 frames/sec
1220 frames input,74256 bytes
0 discards,0 errors
0 invalid CRC/FCS,0 unknown class
0 too long,0 too short
2231 frames output,220056 bytes
0 discards,0 errors
1 input OLS,1 LRR,0 NOS,0 loop inits
1 output OLS,0 LRR, 1 NOS, 0 loop inits
32 receive B2B credit remaining
3 transmit B2B credit remaining
3 low priority transmit B2B credit remaining
Interface last changed at Wed Jul 19 15:56:15 2017
Last clearing of "show interface" counters 1w 5d
switch#
Exemplo de switch MDS 9710:
Não há créditos de transmissão Tx de alta prioridade nos switches MDS97xx. No entanto, isso pode ser alterado pelo comando system default tx-credit double-queue.
Os créditos máximos de transmissão de Tx também podem ser vistos na interface do switch conectado.
Topologia: O MDS 9710 Leonard fc3/14 está conectado ao MDS 9148S Tempest fc1/13 back to back através de uma porta E.
Definição padrão:
Por padrão, as placas de linha MDS 9710 DS-X9448-768K9 não têm créditos de alta prioridade, todos os 64 créditos de transmissão são considerados de baixa prioridade.
Leonard(config-if)# show int fc3/14 counter
fc3/14
5 minutes input rate 320 bits/sec, 40 bytes/sec, 3 frames/sec
5 minutes output rate 2688 bits/sec, 336 bytes/sec, 3 frames/sec
1416819 frames input, 77233324 bytes
0 discards, 0 errors, 0 CRC/FCS
0 unknown class, 0 too long, 0 too short
1416813 frames output, 138598368 bytes
0 discards, 0 errors
0 timeout discards, 0 credit loss
53 input OLS, 85 LRR, 119 NOS, 0 loop inits
77 output OLS, 7 LRR, 93 NOS, 0 loop inits
14 link failures, 37 sync losses, 2 signal losses
140 Transmit B2B credit transitions to zero
92 Receive B2B credit transitions to zero
0 2.5us TxWait due to lack of transmit credits
Percentage Tx credits not available for last 1s/1m/1h/72h: 0%/0%/0%/0%
500 receive B2B credit remaining
64 transmit B2B credit remaining
64 low priority transmit B2B credit remaining
Last clearing of "show interface" counters : never
Leonard(config-if)#
Usando fila dupla de crédito de imposto:
Após emitir o comando no switch Leonard system default tx-credit double-queue
(É necessário redefinir a interface com shut/no shut)
Leonard(config)# show system default switchport
System default port state is down
System default trunk mode is on
System default link failure syslog logging level is 5
System default tx credit queue type is 0
Leonard(config)# system default tx-credit double-queue
Leonard(config)# show system default switchport
System default port state is down
System default trunk mode is on
System default link failure syslog logging level is 5
System default tx credit queue type is 1
Leonard(config)# int fc3/14
Leonard(config-if)# shut
Leonard(config-if)# no shut
é possível ver que há 8 créditos Tx de alta prioridade que transmitem B2B e 56 créditos de baixa prioridade:
Leonard(config-if)# show int fc3/14 counter
fc3/14
5 minutes input rate 320 bits/sec, 40 bytes/sec, 2 frames/sec
5 minutes output rate 256 bits/sec, 32 bytes/sec, 2 frames/sec
1420613 frames input, 77459300 bytes
0 discards, 0 errors, 0 CRC/FCS
0 unknown class, 0 too long, 0 too short
1420607 frames output, 138968464 bytes
0 discards, 0 errors
0 timeout discards, 0 credit loss
54 input OLS, 87 LRR, 122 NOS, 0 loop inits
79 output OLS, 7 LRR, 95 NOS, 0 loop inits
14 link failures, 38 sync losses, 2 signal losses
143 Transmit B2B credit transitions to zero
94 Receive B2B credit transitions to zero
0 2.5us TxWait due to lack of transmit credits
Percentage Tx credits not available for last 1s/1m/1h/72h: 0%/0%/0%/0%
500 receive B2B credit remaining
64 transmit B2B credit remaining
56 low priority transmit B2B credit remaining
Last clearing of "show interface" counters : never
Leonard(config-if)#
O crédito máximo de transmissão RX é de 15 do switch MDS 9148S Tempest:
A partir do MDS 9148S, Tempest conectado, pode-se ver que o Tx máximo transmitido B2B créditos é 15.
Switch MDS9710 Leonard tem 500 créditos de recepção por padrão, portanto, switch MDS9148S Tempest também terá 500 Tx transmitindo créditos B2B restantes, mas 15 créditos (o máximo) é alocado como alta prioridade (500 - 485 = 15).
Tempest# show int fc1/13 counter
fc1/13
5 minutes input rate 2624 bits/sec, 328 bytes/sec, 3 frames/sec
5 minutes output rate 1504 bits/sec, 188 bytes/sec, 3 frames/sec
1343331 frames input, 131489464 bytes
0 discards, 0 errors, 0 CRC/FCS
0 unknown class, 0 too long, 0 too short
1343332 frames output, 72878124 bytes
0 discards, 0 errors
0 timeout discards, 0 credit loss
9 input OLS, 2 LRR, 0 NOS, 0 loop inits
12 output OLS, 20 LRR, 9 NOS, 0 loop inits
9 link failures, 0 sync losses, 0 signal losses
66 Transmit B2B credit transitions to zero
24 Receive B2B credit transitions to zero
0 2.5us TxWait due to lack of transmit credits
Percentage Tx credits not available for last 1s/1m/1h/72h: 0%/0%/0%/0%
64 receive B2B credit remaining
500 transmit B2B credit remaining
485 low priority transmit B2B credit remaining
Last clearing of "show interface" counters :never
Tempest#
Quando os créditos de recepção do MDS 9710 Leonard são alterados para menos de 120, um em oito créditos Tx será marcado como alta prioridade:
Leonard(config)# int fc3/14
Leonard(config-if)# switchport fcrxbbcredit 112
Tempest# show int fc1/13 count
fc1/13
5 minutes input rate 1024 bits/sec, 128 bytes/sec, 3 frames/sec
5 minutes output rate 1536 bits/sec, 192 bytes/sec, 3 frames/sec
1360026 frames input, 133105756 bytes
0 discards, 0 errors, 0 CRC/FCS
0 unknown class, 0 too long, 0 too short
1360027 frames output, 73885304 bytes
0 discards, 0 errors
0 timeout discards, 0 credit loss
14 input OLS, 2 LRR, 0 NOS, 0 loop inits
17 output OLS, 30 LRR, 14 NOS, 0 loop inits
14 link failures, 0 sync losses, 0 signal losses
91 Transmit B2B credit transitions to zero
34 Receive B2B credit transitions to zero
0 2.5us TxWait due to lack of transmit credits
Percentage Tx credits not available for last 1s/1m/1h/72h: 0%/0%/0%/0%
64 receive B2B credit remaining
112 transmit B2B credit remaining
98 low priority transmit B2B credit remaining
Last clearing of "show interface" counters :never
Tempest#