CodingBox Q&A Ask question

Proxmox와 FreeNAS 사이 Brocade 200e: 모든 포트가 online인데 Buffer I/O error와 isp0: Receive Error

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

소규모 가상화 환경을 운영하고 있습니다. Proxmox 6 노드 두 대와 FreeNAS 11.2 타겟이요. HBA가 타겟에 직결돼 있는 동안은 몇 달 동안 에러 하나 없이 잘 돌아갔습니다. 케이블을 대각선으로 안 끌려고 그 사이에 중고 Brocade 200e를 넣었더니 문제가 시작됐습니다.

  • Proxmox 6 노드 두 대, HBA QLogic QLE2462와 QLE2432
  • FreeNAS 11.2 타겟
  • Brocade 200e 스위치, Fabric OS 6.1.0a
  • 옛날 재고에서 나온 표시 없는 SFP와 LC 패치코드

노드 쪽 로그에는:

Buffer I/O error on dev dm-5

그다음 장치가 계속 리셋됩니다. 타겟 쪽에서는 명령어(CTIO7)에서 펌웨어 타임아웃이 나고, 대략 1분에 한 번씩:

isp0: Receive Error

그 뒤엔 타겟이 두 이니시에이터 양쪽에서 바로 떨어져 나가고, 노드를 재부팅해야만 고쳐집니다.

이미 해본 것:

  • 직결로 되돌림, 에러가 아예 없음, 그러니까 HBA도 디스크도 타겟 자체도 문제가 아님
  • switchshow는 세 포트 다 online으로 보여줌, 조닝은 최소한, 존 하나
  • 패치코드를 이리저리 다시 꽂음, 스위치 재부팅

스위치 자체에서는 어딜 봐야 할까요? switchshow의 online이 분명히 저를 속이고 있는 것 같은데, 그걸 어떻게 확인해야 할지는 아직 모르겠습니다.

Comments 4

Accepted answer

이미 다 찾으셨네요. crc_err랑 enc_out이 늘어나는 건 라인에서 프레임이 망가지는 거고, 스택을 타고 내려가면서 펌웨어 타임아웃, 장치 리셋, isp0: Receive Error로 바뀌는 겁니다. 노드의 커널도 타겟도 여기서는 죄가 없고, 둘 다 자기한테 날아온 걸 정직하게 알려주고 있는 것뿐입니다.

이미 확인하신 건 이렇게 읽힙니다.

  • 카운터를 초기화하고 부하 상태에서 보셨으니, 스위치 켠 이후 누적 합계가 아니라 증가 속도를 보신 거고요. 그리고 그 튐이 노드의 Buffer I/O error랑 겹쳤다는 게 바로 패브릭 에러를 디스크가 보는 것에 연결시켜주는 겁니다
  • 길이가 같은 코드인데 같은 두 포트에서 sfpshow의 수신 레벨이 처져 있다는 건, 머릿속 기준치가 아니라 대칭인 링크들끼리 서로 비교한 거고요. 세 번째, 깨끗한 포트가 기준점 역할을 해주고 있고요

남은 건 별로 없습니다. fabriclog -s를 돌려보세요. switchshow가 그 순간 online이라고 그려도 포트가 흔들리는 게 거기서는 보입니다. 그리고 의심되는 포트에서는 SFP랑 LC 패치코드를 따로가 아니라 같이 교체하세요. 저도 비슷한 사연이 있었는데 정확히 그걸로 끝났습니다. 문제 있는 포트 두 개에서 모듈이랑 코드를 같이 교체했더니, 그 뒤로 부하 상태에서 하루 동안 porterrshow가 0으로 남았고 패브릭도 더 이상 무너지지 않았습니다.

논리는 단순합니다. 직결이면 구간에 커넥터가 두 개, 스위치를 거치면 네 개에 모듈 두 개가 추가됩니다. 직결에서는 버텨주던 전력 여유가 아슬아슬한 SFP나 먼지 낀 코드는 그런 구간을 더는 못 버팁니다. 그러니까 switchshow의 online은 진단이 아니라 그냥 로그인 여부일 뿐입니다.

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

switchshow는 딱 한 가지만 말합니다. 포트가 빛을 봤고 패브릭에 로그인했다는 것. 신호 품질에 대해서는 아무것도 모르고, 그러니 이 상황에서 그걸 믿는 건 의미가 없습니다.

세 포트 전부에서 portstatsclear를 하고, 부하를 돌린 다음 porterrshow를 보세요. crc_err랑 enc_out이 늘어나는지, 정확히 어느 포트에서 늘어나는지가 궁금한 부분입니다. 겸사겸사 포트마다 sfpshow도요. 수신 파워랑 전압을요, 포트끼리 비교해보면 유용합니다. 그리고 타겟이 떨어져 나가는 순간 FreeNAS 쪽 sysctl dev.isp.0이 뭘 내놓는지도 보여주세요.

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

카운터 초기화하고, 부하 주고, 봤습니다. 그림은 이렇습니다. 포트 두 개에서 crc_err랑 enc_out이 뭉텅이로 늘어나는데, 정확히 노드에서 Buffer I/O error가 쏟아지는 순간이랑 일치하고, 세 번째 포트는 0입니다.

같은 길이의 코드인데 그 두 포트에서 sfpshow가 이웃 포트보다 눈에 띄게 낮은 수신 레벨을 보여줍니다. 떨어져 나가는 동안 sysctl dev.isp.0을 보면 HBA가 재초기화되는데, 그러니까 이건 끊김을 만드는 게 아니라 끊김에 반응하고 있는 거네요. 이건 Proxmox도 타겟도 아니라 물리적인 문제 같습니다.

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

비슷한 함정이 FC가 아닌 데서도 있으니, 어차피 카운터는 봐두는 게 맞습니다. Intel X520-2에 850nm 10Gtek SR 모듈, 그리고 FCX-2XG 모듈과 Brocade제 XFP를 쓰는 Brocade FastIron CX 648S-PoE, 그 사이 광케이블 5m짜리 조합이 있었습니다.

서버는 10GbE를 멀쩡히 올리고 송신도 했는데, 수신은 아예 없었고, 스위치 쪽 포트는 속도 None인 채로 Up에 걸려 있었습니다. show media를 봤고, 양쪽 파장이랑 거리를 대조했고, 포트의 트렁크 negotiation을 꺼봤는데 아무것도 안 끝났습니다. XFP에서는 속도를 고정할 수도 없었고요. 같은 광케이블이 SFP+ 포트에서는 기가비트로 멀쩡히 돌았습니다. 교훈은 님이랑 정확히 똑같습니다. 포트의 Up이 프레임이 도착한다는 뜻은 아니라는 것.

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