CodingBox Documentação

Diagnóstico de portas FC: contadores, slow drain, verificação de SFP

Um switch SAN conta tudo o que dá errado em uma porta, e os contadores mapeiam com clareza para causas físicas — se você souber qual contador significa “conector sujo” e qual significa “o host não está esvaziando seus buffers”. Esta página lista os contadores nas duas plataformas dominantes, para o que cada um aponta, como o congestionamento por slow drain aparece, e como ler o próprio SFP a partir do switch.

Os contadores

Contador (Brocade porterrshow)Equivalente no Cisco MDS (show interface fc… counters)SignificadoAponta para
enc_out — erros de codificação fora dos quadrosinvalid transmission wordssímbolos incorretos entre quadrosóptica, cabo, conector, incompatibilidade de velocidade — o contador clássico de camada física
enc_in — erros de codificação dentro dos quadrosinvalid transmission words / CRCsímbolos corrompidos dentro dos quadrosmesmas causas, mais graves
crc_errCRC errorsquadro falhou no CRCenlace marginal: face do conector suja, Rx baixa, SFP falhando; em ISLs verifique as duas pontas
crc_g_eofCRC with good EOFerro de CRC, mas o quadro foi terminado corretamente — introduzido a montante desta portaolhe para o salto anterior
too_shrt / too_long / bad_eofframe too short / too long / bad EOFquadros malformadosgeralmente uma consequência de enc_in, ou um dispositivo com falha
link_faillink failureso enlace caiucabo puxado, falha de SFP, energia, reset na ponta remota
loss_sync / loss_sigsync loss / signal losssincronismo de sinal ou de palavra perdidoRx baixa, LOS, flapping — Oscilação do enlace
frjt / fbsyF_RJT / F_BSYa fabric rejeitou/ocupou quadrosfabric ou zoning, não óptica
disc_c3 — descartes de classe 3timeout discardsquadros descartados após expirar o tempo no switchslow drain / congestionamento
c3timeout tx/rxdireção dos timeoutstimeouts de tx: o dispositivo conectado está lento; rx: um problema a montante
pcs_err (16G+)erros de bloco PCS 64B/66Bcamada física em 16/32GFC
uncor_err (16G+ com FEC)FEC uncorrectedo FEC não conseguiu corrigir o blocoenlace no limite — Métricas de VDM e FEC
perda de crédito (portstatsshow: tim_txcrd_z)credit loss / tx credit not availabletempo gasto com zero créditos de transmissãocongestionamento ou R_RDYs perdidos em um enlace sujo

Regra prática: enc_out, crc_err, loss_sync, pcs_err crescem com um problema físico; disc_c3, c3timeout, tim_txcrd_z crescem com um problema de congestionamento; frjt/fbsy com um problema de fabric. Zere os contadores, espere, e observe as taxas, não os totais.

Slow drain

Um dispositivo final que devolve créditos lentamente (um host sobrecarregado, um HBA falhando, uma incompatibilidade de velocidades ao longo de um caminho) retém quadros nos buffers do switch; esses quadros expiram e são descartados, e o congestionamento se espalha para trás pelos ISLs até dispositivos não relacionados. É o problema de SAN mais danoso, e a princípio parece um problema de desempenho aleatório.

SinalOnde
tim_txcrd_z subindo em um F_Porto dispositivo nessa porta está lento para devolver créditos
disc_c3 / c3timeout tx na mesma portaos quadros para aquele dispositivo estão expirando
disc_c3 em ISLs e outros F_Portso congestionamento se espalhou
Alertas de “latency” do Bottleneck/MAPS (Brocade), show logging onboard flow-control request-timeout, detecção de congestion-drop / slow-drain (Cisco)ferramentas da plataforma

Mitigação: conserte ou isole o dispositivo lento (port fencing, quarentena em um canal virtual de baixa prioridade), reduza os timeouts de congestion-drop nas portas de borda, evite degraus de velocidade ao longo de um caminho, mantenha o oversubscription dos ISLs em um nível razoável (Projeto de SAN). A óptica quase nunca é a causa do slow drain — mas um enlace marginal com R_RDYs perdidos pode imitá-lo, então verifique enc_out/crc primeiro.

Verificações de SFP a partir do switch

TarefaBrocade FOSCisco MDS / NX-OS
Identidade do SFP e DDMsfpshow <port>show interface fc1/1 transceiver details
Estado e velocidade da portaportshow <port>, switchshowshow interface fc1/1, show interface brief
Contadores de erroporterrshow, portstatsshow <port>show interface fc1/1 counters [detailed]
Zerar contadoresportstatsclear / statsclearclear counters interface fc1/1
Teste de enlaceportloopbacktest, diagnóstico D_Port (portcfgdport, portdporttest)show interface fc1/1 transceiver details + loopback via ferramentas de diagnóstico
Política de integridadeMAPS (limiares de CRC, ITW, perda de crédito, potência/temperatura do SFP)políticas de port-monitor (potência RX/TX, CRC, ITW, perda de crédito)

O sfpshow e os detalhes do transceptor mostram fabricante, número de peça, número de série, velocidades e valores de DDM com limiares — os mesmos bytes que o CodingBox lê na bancada. As duas plataformas sinalizam óptica não suportada; uma porta presa em Mod_Inv, No_Module ou “unsupported transceiver” é uma rejeição de política, não uma falha (Bloqueio do fabricante, Óptica de FC).

Sequência de diagnóstico para uma porta FC com problema

  1. porterrshow / contadores: físico (enc_out, crc, sync) vs. congestionamento (disc_c3, créditos) vs. fabric (rjt/bsy).
  2. DDM do SFP: potência Rx nas duas pontas em relação às janelas de classe (Valores típicos); tendência do bias de Tx para envelhecimento.
  3. Limpe e inspecione os conectores; troque o cordão óptico; verifique os contadores novamente em taxa.
  4. Velocidade: force a velocidade negociada para a geração inferior para ver se os erros param (um enlace de 32G marginal pode ficar limpo em 16G) — Velocidade e taxa.
  5. Teste de D_Port / loopback para separar switch, SFP e cabo.
  6. Se houver congestionamento: encontre o dispositivo lento por tim_txcrd_z, não pela porta que reclama.

No CodingBox

Um SFP de FC suspeito, retirado de um switch, pode ser lido na bancada: identidade, códigos de velocidade/mídia de FC, somas de verificação e DDM ao vivo em Check transceiver e DDM. Um módulo que está bem na bancada e dá erro na porta desloca a suspeita para o cabo, o conector ou a ponta remota.


Se você encontrar uma imprecisão ou um erro neste artigo, selecione o trecho correspondente e pressione Ctrl+Enter para .