CodingBox 문서

FC 포트 진단: 카운터, 슬로우 드레인, SFP 점검

SAN 스위치는 포트에서 발생하는 모든 이상을 집계하며, 어떤 카운터가 “커넥터 오염”을 의미하고 어떤 카운터가 “호스트가 버퍼를 비우지 못하고 있음”을 의미하는지 알면 이 카운터들은 물리적 원인에 깔끔하게 대응됩니다. 이 페이지는 주요 플랫폼 두 곳의 카운터, 각 카운터가 가리키는 원인, 슬로우 드레인 혼잡이 나타나는 양상, 스위치에서 SFP 자체를 읽는 방법을 정리합니다.

카운터

카운터(Brocade porterrshow)Cisco MDS 대응 항목(show interface fc… counters)의미가리키는 원인
enc_out — 프레임 밖 인코딩 오류invalid transmission words프레임 사이의 잘못된 심볼옵틱스, 케이블, 커넥터, 속도 불일치 — 전형적인 물리 계층 카운터
enc_in — 프레임 안 인코딩 오류invalid transmission words / CRC프레임 내부의 손상된 심볼원인은 같지만 더 심각
crc_errCRC errors프레임이 CRC 검사에 실패한계에 가까운 링크: 단면 오염, 낮은 Rx, SFP 고장; ISL에서는 양쪽 끝을 모두 확인
crc_g_eofCRC with good EOFCRC 오류지만 프레임은 정상 종료됨 — 이 포트보다 상류에서 발생이전 홉을 확인
too_shrt / too_long / bad_eofframe too short / too long / bad EOF형식이 잘못된 프레임대개 enc_in의 결과이거나 장치 고장
link_faillink failures링크 다운케이블 분리, SFP 고장, 전원, 반대쪽 리셋
loss_sync / loss_sigsync loss / signal loss신호 또는 워드 동기 손실낮은 Rx, LOS, 플래핑 — 링크 플래핑
frjt / fbsyF_RJT / F_BSY패브릭이 프레임을 거부하거나 busy로 응답패브릭 또는 조닝 문제, 옵틱스 문제 아님
disc_c3 — 클래스 3 폐기timeout discards스위치 안에서 타임아웃되어 폐기된 프레임슬로우 드레인/혼잡
c3timeout tx/rx타임아웃의 방향tx 타임아웃: 연결된 장치가 느림; rx: 상류 쪽 문제
pcs_err(16G+)64B/66B PCS 블록 오류16/32GFC의 물리 계층
uncor_err(FEC 사용 16G+)FEC uncorrectedFEC가 블록을 정정하지 못함한계에 가까운 링크 — VDM과 FEC 지표
credit loss(portstatsshow: tim_txcrd_z)credit loss / tx credit not available송신 크레딧이 0인 상태로 보낸 시간혼잡, 또는 오염된 링크에서 R_RDY 유실

경험칙: enc_out, crc_err, loss_sync, pcs_err는 물리적 문제와 함께 증가하고, disc_c3, c3timeout, tim_txcrd_z는 혼잡 문제와 함께 증가하며, frjt/fbsy는 패브릭 문제와 함께 증가합니다. 카운터를 초기화한 뒤 기다렸다가 누적값이 아니라 증가율을 보십시오.

슬로우 드레인

크레딧을 천천히 반환하는 종단 장치(과부하 상태의 호스트, 고장 난 HBA, 경로상의 속도 불일치)는 프레임을 스위치 버퍼에 붙잡아 둡니다; 이 프레임들은 타임아웃되어 폐기되고, 혼잡은 ISL을 통해 거꾸로 퍼져 나가 무관한 장치에까지 영향을 미칩니다. 이는 SAN에서 가장 피해가 큰 문제이며, 처음에는 그저 임의의 성능 문제처럼 보입니다.

징후위치
F_Port에서 tim_txcrd_z 증가해당 포트의 장치가 크레딧 반환이 느림
같은 포트에서 disc_c3 / c3timeout tx해당 장치로 가는 프레임이 타임아웃됨
ISL과 다른 F_Port에서 disc_c3혼잡이 퍼짐
Bottleneck/MAPS “latency” 경고(Brocade), show logging onboard flow-control request-timeout, congestion-drop / slow-drain 감지(Cisco)플랫폼 도구

완화 방법: 느린 장치를 고치거나 격리합니다(포트 펜싱, 우선순위가 낮은 가상 채널로 격리), 엣지 포트의 congestion-drop 타임아웃을 단축합니다, 경로상의 속도 단차를 피합니다, ISL 오버서브스크립션을 적정 수준으로 유지합니다(SAN 설계). 옵틱스가 슬로우 드레인의 원인인 경우는 거의 없지만, R_RDY가 유실되는 한계 링크는 이를 흉내 낼 수 있으므로 먼저 enc_out/crc를 확인하십시오.

스위치에서 하는 SFP 점검

작업Brocade FOSCisco MDS / NX-OS
SFP 식별 정보와 DDMsfpshow <port>show interface fc1/1 transceiver details
포트 상태와 속도portshow <port>, switchshowshow interface fc1/1, show interface brief
오류 카운터porterrshow, portstatsshow <port>show interface fc1/1 counters [detailed]
카운터 초기화portstatsclear / statsclearclear counters interface fc1/1
링크 테스트portloopbacktest, D_Port 진단(portcfgdport, portdporttest)show interface fc1/1 transceiver details + 진단 도구를 통한 루프백
상태 정책MAPS(CRC, ITW, credit loss, SFP 파워/온도 임계값)port-monitor policies(RX/TX 파워, CRC, ITW, credit loss)

sfpshow와 transceiver details는 벤더, 부품 번호, 시리얼 번호, 속도, 임계값을 포함한 DDM 값을 보여줍니다 — CodingBox가 벤치에서 읽는 것과 같은 바이트입니다. 두 플랫폼 모두 지원되지 않는 옵틱스에 플래그를 표시합니다; 포트가 Mod_Inv, No_Module 또는 “unsupported transceiver” 상태에 머문다면 이는 고장이 아니라 정책에 의한 거부입니다(벤더 락, FC 옵틱스).

이상이 있는 FC 포트의 진단 순서

  1. porterrshow/카운터: 물리적 문제(enc_out, crc, sync) 대 혼잡 문제(disc_c3, credits) 대 패브릭 문제(rjt/bsy).
  2. SFP DDM: 등급 범위를 기준으로 양쪽 끝의 Rx 파워를 확인(표준값); 노화를 보려면 Tx 바이어스 추이를 확인.
  3. 커넥터를 세정하고 점검; 패치 코드를 교체; 카운터 증가율을 다시 확인.
  4. 속도: 협상된 속도를 낮은 세대로 강제 설정해 오류가 멈추는지 확인(한계에 가까운 32G 링크가 16G에서는 깨끗할 수 있음) — 속도와 레이트.
  5. D_Port/루프백 테스트로 스위치, SFP, 케이블 문제를 구분.
  6. 혼잡이라면: 문제를 호소하는 포트가 아니라 tim_txcrd_z를 기준으로 느린 장치를 찾을 것.

CodingBox에서는

스위치에서 뽑아낸 의심스러운 FC SFP는 벤치에서 읽을 수 있습니다: Check transceiverDDM에서 식별 정보, FC 속도/미디어 코드, 체크섬, 실시간 DDM을 확인합니다. 벤치에서는 정상인데 포트에서 오류가 난다면 의심은 케이블, 커넥터, 반대쪽 끝으로 옮겨갑니다.


이 문서에서 부정확한 내용이나 오류를 발견하면 해당 부분을 선택하고 Ctrl+Enter를 눌러 해 주세요.