Diagnostiek van FC-poorten: tellers, slow drain, SFP-controles
Een SAN-switch telt alles wat op een poort misgaat en de tellers zijn rechtstreeks te koppelen aan fysieke oorzaken — als u weet welke teller „vuile connector” betekent en welke betekent dat „de host zijn buffers niet leegmaakt”. Deze pagina vermeldt de tellers op de twee dominante platforms, waar elke teller op wijst, hoe slow-draincongestie zichtbaar wordt en hoe u de SFP vanaf de switch leest.
De tellers
Teller (Brocade porterrshow) | Cisco MDS-equivalent (show interface fc… counters) | Betekenis | Wijst op |
|---|---|---|---|
| enc_out — coderingsfouten buiten frames | invalid transmission words | slechte symbolen tussen frames | optica, kabel, connector, snelheidsmismatch — de klassieke physical-layer-teller |
| enc_in — coderingsfouten binnen frames | invalid transmission words / CRC | beschadigde symbolen binnen frames | dezelfde oorzaken, ernstiger |
| crc_err | CRC errors | frame faalde CRC | marginale link: vuil eindvlak, lage Rx, falende SFP; controleer op ISL's beide uiteinden |
| crc_g_eof | CRC with good EOF | CRC-fout maar frame correct beëindigd — upstream van deze poort ontstaan | kijk naar de vorige hop |
| too_shrt / too_long / bad_eof | frame too short / too long / bad EOF | onjuiste frames | meestal gevolg van enc_in of een defect apparaat |
| link_fail | link failures | link is down gegaan | kabel uitgetrokken, SFP-storing, voeding, reset aan verre zijde |
| loss_sync / loss_sig | sync loss / signal loss | signaal- of woordsynchronisatie verloren | lage Rx, LOS, flapping — Link flapping |
| frjt / fbsy | F_RJT / F_BSY | fabric heeft frames afgewezen/bezet gemeld | fabric of zonering, geen optica |
| disc_c3 — class 3 discards | timeout discards | frames zijn verworpen na timeout in de switch | slow drain / congestie |
| c3timeout tx/rx | — | richting van de timeouts | tx-timeouts: aangesloten apparaat is traag; rx: probleem upstream |
| pcs_err (16G+) | — | 64B/66B PCS-blokfouten | physical layer bij 16/32GFC |
| uncor_err (16G+ met FEC) | FEC uncorrected | FEC kon het blok niet corrigeren | link op de grens — VDM- & FEC-metrieken |
credit loss (portstatsshow: tim_txcrd_z) | credit loss / tx credit not available | tijd met nul transmit credits | congestie of verloren R_RDYs op een vuile link |
Vuistregel: enc_out, crc_err, loss_sync, pcs_err nemen toe bij een fysiek probleem; disc_c3, c3timeout, tim_txcrd_z bij een congestieprobleem; frjt/fbsy bij een fabricprobleem. Wis de tellers, wacht en bekijk de snelheden, niet de totalen.
Slow drain
Een eindapparaat dat credits langzaam terugstuurt (een overbelaste host, een falende HBA, een snelheidsmismatch langs een pad) houdt frames in switchbuffers vast. Die frames krijgen een timeout en worden verworpen, waarna de congestie zich achterwaarts verspreidt via ISL's naar niet-gerelateerde apparaten. Dit is het schadelijkste SAN-probleem en het lijkt in eerste instantie op een willekeurig prestatieprobleem.
| Teken | Waar |
|---|---|
| tim_txcrd_z loopt op een F_Port op | het apparaat op die poort geeft credits traag terug |
| disc_c3 / c3timeout tx op dezelfde poort | frames naar dat apparaat krijgen een timeout |
| disc_c3 op ISL's en andere F_Ports | congestie heeft zich verspreid |
Bottleneck/MAPS-‘latency’-waarschuwingen (Brocade), show logging onboard flow-control request-timeout, congestion-drop / slow-drain detection (Cisco) | platformtools |
Mitigatie: herstel of isoleer het trage apparaat (port fencing, quarantaine in een virtueel kanaal met lage prioriteit), verkort congestion-drop-timeouts op edgepoorten, vermijd snelheidsstappen langs een pad en houd ISL-oversubscription binnen de perken (SAN-ontwerp). Optica is bijna nooit de oorzaak van slow drain, maar een marginale link met verloren R_RDYs kan het nabootsen; controleer daarom eerst enc_out/crc.
SFP-controles vanaf de switch
| Taak | Brocade FOS | Cisco MDS / NX-OS |
|---|---|---|
| SFP-identiteit en DDM | sfpshow <port> | show interface fc1/1 transceiver details |
| Poortstatus en snelheid | portshow <port>, switchshow | show interface fc1/1, show interface brief |
| Fouttellers | porterrshow, portstatsshow <port> | show interface fc1/1 counters [detailed] |
| Tellers wissen | portstatsclear / statsclear | clear counters interface fc1/1 |
| Linktest | portloopbacktest, D_Port-diagnostiek (portcfgdport, portdporttest) | show interface fc1/1 transceiver details + loopback via diagnostische tools |
| Gezondheidsbeleid | MAPS (drempels voor CRC, ITW, credit loss, SFP-vermogen/temperatuur) | poortmonitorbeleid (RX/TX-vermogen, CRC, ITW, credit loss) |
sfpshow en de transceiverdetails tonen fabrikant, artikelnummer, serienummer, snelheden en DDM-waarden met drempels — dezelfde bytes die CodingBox op de werkbank leest. Beide platforms markeren unsupported optica; een poort die vastzit in Mod_Inv, No_Module of "unsupported transceiver" wordt door beleid afgewezen en heeft geen storing (Fabrikantvergrendeling, FC-optica).
Diagnostische volgorde voor een slechte FC-poort
porterrshow/ tellers: fysiek (enc_out, crc, sync) tegenover congestie (disc_c3, credits) tegenover fabric (rjt/bsy).- SFP-DDM: Rx-vermogen aan beide uiteinden vergeleken met klassevensters (Typische waarden); Tx-biastrend voor veroudering.
- Reinig en inspecteer connectors; vervang de patchkabel; controleer tellers opnieuw bij snelheid.
- Snelheid: forceer de overeengekomen snelheid naar de lagere generatie om te zien of de fouten stoppen (een marginale 32G-link kan bij 16G schoon zijn) — Snelheid & rate.
- D_Port / loopbacktest om switch, SFP en kabel te scheiden.
- Zoek bij congestie het trage apparaat via tim_txcrd_z, niet via de poort die klaagt.
In CodingBox
Een verdachte FC-SFP die uit een switch is gehaald, kan op de werkbank worden gelezen: identiteit, FC-snelheids-/mediacodes, checksums en live-DDM in Check transceiver en DDM. Een module die op de werkbank goed is maar in de poort fouten geeft, verlegt de verdenking naar de kabel, de connector of het verre uiteinde.