Brocade 200e tra Proxmox e FreeNAS: Buffer I/O error e isp0: Receive Error con tutte le porte online
Gestisco una piccola virtualizzazione: due nodi Proxmox 6 e un target su FreeNAS 11.2. Finché gli HBA erano collegati al target direttamente, tutto andava avanti per mesi senza un solo errore. Ho messo in mezzo un Brocade 200e usato, per non dover tirare i cavi in croce, ed è iniziato il problema.
- due nodi Proxmox 6, HBA QLogic QLE2462 e QLE2432
- target FreeNAS 11.2
- switch Brocade 200e, Fabric OS 6.1.0a
- SFP e patch cord LC da vecchie scorte, senza segni identificativi
Sui nodi nel log:
Buffer I/O error on dev dm-5
e di seguito reset continui del dispositivo. Sul lato target: timeout del firmware sui comandi (CTIO7), e circa una volta al minuto:
isp0: Receive Error
Dopo di che il target cade immediatamente da entrambi gli iniziatori, e si cura solo con il riavvio del nodo.
Cosa ho già fatto:
- ripristinato il collegamento diretto: nessun errore per niente, quindi HBA, dischi e il target stesso non c'entrano
switchshowmostra tutte e tre le porte online, zoning minimo, una sola zona- ricollegati i patch cord, riavviato lo switch
Dove guardare sullo switch stesso? L'online in switchshow mi sta chiaramente ingannando, ma con cosa verificarlo non lo capisco ancora.
Comments 4
Hai già trovato tutto da solo: i crc_err e gli enc_out in crescita sono corruzione dei frame sulla linea, più avanti nello stack diventa timeout del firmware, reset del dispositivo e
isp0: Receive Error. Non è colpa né del kernel sui nodi né del target, raccontano onestamente quello che gli è arrivato.Quello che hai già rilevato si legge così:
sfpshowsulle stesse due porte con cavi della stessa lunghezza è un confronto tra link simmetrici tra loro, non con una norma presa a caso. La terza porta, pulita, ti fa da riferimentoDa qui resta poco. Lancia
fabriclog -s: lì si vede come le porte sbattono su e giù, anche se in quel momento switchshow disegna online. E cambia sulle porte sospette gli SFP insieme ai patch cord LC, non separatamente. A me una storia simile è finita esattamente così: sostituzione di moduli e cavi sulle due porte problematiche, dopo di che porterrshow in ventiquattr'ore sotto carico è rimasto a zero, e la fabric non si è più sfasciata.La logica è semplice: con il collegamento diretto sulla tratta ci sono due connettori, attraverso lo switch quattro, più due moduli in più. Un SFP al limite di potenza o un cavo impolverato, che il collegamento diretto tirava avanti, una tratta così non la regge più. Quindi online in switchshow non è una diagnosi, è solo il fatto del login.
switchshow dice esattamente una cosa: la porta ha visto luce e si è loggata in fabric. Sulla qualità del segnale non sa niente, quindi fidarsene in questa situazione non ha senso.
Fai
portstatsclearsu tutte e tre le porte, dai carico e poi guardaporterrshow: interessano crc_err ed enc_out, se crescono e su quali porte esattamente. Nel frattemposfpshowper ogni porta: potenza in ricezione e tensione, è utile confrontarle tra le porte. E mostra cosa restituiscesysctl dev.isp.0lato FreeNAS nel momento in cui il target cade.Ho pulito i contatori, dato carico, guardato. Il quadro è questo: su due porte crc_err ed enc_out crescono a raffiche, esattamente nei momenti in cui sui nodi piove Buffer I/O error, mentre sulla terza porta sono a zero.
sfpshowsulle stesse due porte mostra una ricezione visibilmente più bassa rispetto a quella vicina, con cavi della stessa lunghezza.sysctl dev.isp.0durante la caduta mostra che l'HBA si reinizializza, cioè reagisce all'interruzione invece di crearla. Sembra fisica, non Proxmox e non il target.Una trappola simile capita anche fuori dal FC, quindi vale la pena guardare i contatori comunque. C'era una combinazione Intel X520-2 con moduli 10Gtek SR a 850 nm e un Brocade FastIron CX 648S-PoE con un modulo FCX-2XG e XFP a marchio Brocade, cinque metri di fibra tra i due.
Il server portava su onestamente il 10GbE e trasmetteva, ma in ricezione non c'era assolutamente niente, e la porta sullo switch restava Up con velocità None. Abbiamo guardato
show media, confrontato lunghezza d'onda e portata su entrambi i lati, disattivato la negoziazione del trunk sulla porta: non è finita in niente, la velocità sull'XFP non si riesce a fissare. La stessa identica fibra sulle porte SFP+ correva tranquillamente al gigabit. La morale è esattamente la stessa che vale per te: Up sulla porta non vuol dire che i frame arrivano.