CodingBox Q&A Ask question

Brocade 200e entre Proxmox e FreeNAS: Buffer I/O error e isp0: Receive Error com todas as portas online

Asked Active Viewed 153 AI translation from Русский
5

Mantenho uma virtualização pequena: dois nós Proxmox 6 e um target em FreeNAS 11.2. Enquanto os HBAs estavam conectados direto ao target, tudo funcionou por meses sem um único erro. Coloquei entre eles um Brocade 200e usado, para não passar cabos cruzados, e começou.

  • dois nós Proxmox 6, HBAs QLogic QLE2462 e QLE2432
  • target FreeNAS 11.2
  • switch Brocade 200e, Fabric OS 6.1.0a
  • SFP e cordões LC de estoque antigo, sem identificação

Nos nós, no log:

Buffer I/O error on dev dm-5

e em seguida resets constantes do dispositivo. Do lado do target, timeouts de firmware nos comandos (CTIO7), e mais ou menos uma vez por minuto:

isp0: Receive Error

Depois disso o target cai imediatamente dos dois iniciadores, e isso só se resolve reiniciando o nó.

O que já fiz:

  • voltei para a conexão direta - nenhum erro, ou seja, HBA, discos e o próprio target não têm nada a ver com isso
  • switchshow mostra as três portas online, zoneamento mínimo, uma zona só
  • retirei e reconectei os cordões, reiniciei o switch

Para onde olhar no próprio switch? O online no switchshow claramente está me enganando, mas com o que verificar isso, eu ainda não entendo.

Comments 4

Accepted answer

Você mesmo já achou tudo: crc_err e enc_out crescendo são corrupção de frames no link, e mais adiante na pilha isso vira timeout de firmware, reset de dispositivo e isp0: Receive Error. Nem o kernel nos nós, nem o target têm culpa aqui, eles só estão contando honestamente o que chegou até eles.

O que você já coletou se lê assim:

  • você zerou os contadores e olhou sob carga, então viu a velocidade de crescimento, não a soma desde que o switch ligou. E os picos coincidiram com o Buffer I/O error nos nós - essa é exatamente a ligação entre os erros do fabric e o que os discos veem
  • a recepção baixa no sfpshow nas mesmas duas portas, com cordões do mesmo comprimento, é uma comparação entre links simétricos, não contra uma norma tirada da cabeça. A terceira porta, limpa, funciona como referência para você

Depois disso resta pouco. Rode fabriclog -s - ali dá para ver as portas piscando, mesmo se o switchshow nesse momento desenhar online. E troque nas portas suspeitas o SFP junto com os cordões LC, não separadamente. Comigo uma história parecida terminou exatamente assim: troca de módulos e cordões nas duas portas problemáticas, depois do que o porterrshow ficou zerado por um dia inteiro sob carga, e o fabric parou de desmoronar.

A lógica é simples: na conexão direta o trajeto tem dois conectores, passando pelo switch são quatro, mais dois módulos extras. Um SFP no limite de potência ou um cordão empoeirado, que a conexão direta ainda aguentava, esse trajeto já não aguenta mais. Então online no switchshow não é diagnóstico, é só o fato de ter logado.

4 Russialambdaops44RU Show original (Русский) AI translation

O switchshow diz exatamente uma coisa: a porta viu luz e logou no fabric. Sobre a qualidade do sinal ele não sabe nada, então confiar nele nessa situação não faz sentido.

Faça portstatsclear nas três portas, rode uma carga e depois olhe porterrshow - interessam crc_err e enc_out, se eles crescem e em quais portas exatamente. De quebra, sfpshow em cada porta: potência de recepção e tensão, vale comparar entre as portas. E mostre o que o sysctl dev.isp.0 retorna do lado do FreeNAS no momento em que o target cai.

0 KazakhstanlinkguruKZ Show original (Русский) AI translation

Limpei os contadores, dei carga, olhei. O quadro é o seguinte: em duas portas o crc_err e o enc_out crescem em lotes, exatamente nos momentos em que os nós despejam Buffer I/O error, e na terceira porta fica tudo zerado.

O sfpshow nessas mesmas duas portas mostra uma recepção visivelmente mais baixa que na vizinha, com cordões do mesmo comprimento. O sysctl dev.isp.0 durante a queda mostra que o HBA está se reinicializando, ou seja, ele reage à interrupção, não a cria. Parece ser física, não Proxmox nem o target.

3 KazakhstannetopsKZ Show original (Русский) AI translation

Uma armadilha parecida acontece fora do FC também, então vale olhar os contadores de qualquer jeito. Tinha uma combinação de Intel X520-2 com módulos 10Gtek SR em 850 nm e um Brocade FastIron CX 648S-PoE com o módulo FCX-2XG e XFPs da própria Brocade, cinco metros de fibra entre eles.

O servidor honestamente subia 10GbE e transmitia, mas recepção não tinha nenhuma, e a porta no switch ficava Up com velocidade None. Olhamos show media, conferimos comprimento de onda e alcance dos dois lados, desligamos a negociação de trunk na porta - nada disso resolveu, velocidade no XFP não dá para fixar. A mesma fibra em portas SFP+ rodava tranquila em gigabit. A moral é exatamente a mesma que a sua: Up na porta não significa que os frames estão chegando.

3 Ukrainecoaxeng7UA Show original (Русский) AI translation
Log in to comment. Log in