CodingBox Q&A Ask question

ConnectX-4 MCX456A-ECAT가 100GBASE-LR4로 Cisco NCS와 링크되지 않는데 양쪽 다 루프백은 통과함

Asked Active Viewed 43 AI translation from English
4

통신사향 Cisco NCS로 넘기는 랙 두 개를 운영하고 있는데, 구축 이후로 100G 서버 업링크 하나가 한 번도 올라온 적이 없습니다. 서버를 다른 패치 패널이 있는 다른 캐비닛으로 옮겨도 결과가 같아서, 이제는 일회성 문제로 취급하지 않고 있습니다.

  • Supermicro 서버, NVIDIA/Mellanox ConnectX-4 MCX456A-ECAT, 두 포트 다 비어 있음
  • 범용 100GBASE-LR4 QSFP28, 싱글모드, 10km 도달거리, 양쪽에 하나씩
  • 반대쪽에 Cisco NCS, 두 방 사이는 dark fiber

막히는 부분은 이겁니다. 모듈 각각은 자기 장비에서 루프백을 통과합니다. 광케이블을 같은 QSFP28에 바로 되꽂으면 NIC는 깨끗한 100G 링크를 보고하고, NCS도 자기 쪽에서 똑같이 그럽니다. 실제 구간을 사이에 넣으면 아무것도 없습니다.

# module looped back on the NIC itself
Speed: 100000Mb/s
Link detected: yes

# same module, real span to the NCS
Speed: Unknown!
Link detected: no

이미 시도한 것:

  • 같은 배치의 예비 모듈 두 개로 교체, 변화 없음
  • 서버를 옮기고 다른 패널로 재패치
  • NIC 벤더에 케이스를 열었는데, 답변은 펌웨어 릴리스 노트의 validated transceiver 목록을 가리키는 것뿐이었고 루프백이 왜 되는지는 설명이 없었음

ConnectX-4의 LR4에 로컬에서는 링크되는데 실제 구간에서는 절대 안 되게 만드는 뭔가가 있는 건가요, 아니면 제가 엉뚱한 쪽을 붙잡고 있는 건가요?

Comments 3

Accepted answer

이건 호환성 문제가 아니라 경로가 지저분한 것처럼 보입니다.

지금까지 교체하신 건 전부 이미 정상으로 확인된 쪽이라서 아무것도 안 바뀐 겁니다 - 아직 손대지 않은 유일한 게 구간 자체입니다. 그러니 경로를 점검하세요:

  • 양쪽 QSFP28 모듈, 양쪽 패치코드, 중간의 모든 bulkhead 단자면을 점검하고 청소한 다음 다시 꽂기
  • 청소 후 양쪽에서 Rx power를 다시 읽기. 구간이 연결된 상태에서 low warning 임계값 아래고 루프백에서는 정상이라면 경로에서 손실이 나고 있다는 신호
  • 그 김에 폴리시 타입도 확인하기 - UPC 전용 포트에 PC 폴리시 코드를 꽂으면 모듈이 예상하는 것보다 훨씬 큰 back reflection이 생김, 대략 -55dB 대비 -35dB 리턴로스

안내받은 validated transceiver 목록도 한번 볼 가치는 있지만, 루프백에서 깨끗하게 올라오는 모듈이라면 이미 NIC가 제대로 구동하고 있는 겁니다. 호환성 목록은 아예 거부당하는 모듈을 설명해 주는 것이지, 로컬에서는 링크되고 구간에서는 죽는 모듈을 설명해 주지는 않습니다.

청소로 안 된다면 다음 단계는 dark fiber에 광원과 파워미터를 대보는 것, 빌릴 수 있으면 OTDR을 쓰는 것입니다. NIC나 광모듈을 또 사기 전에요.

8 Egyptnethawk74EG Show original (English) AI translation

루프백은 포트 하나가 스스로를 들을 수 있다는 것만 증명합니다 - 레이저, 수신부, rate 설정이요. 두 방 사이의 유리 자체에 대해서는 아무것도 말해주지 않는데, 바로 그게 아직 테스트 안 한 유일한 부분입니다. 그러니 다시 NIC를 탓하기 전에, 실제 구간을 연결한 상태에서 양쪽 수치를 확인하세요. NCS 포트의 Rx power는 얼마고, NIC 쪽은 얼마인가요? 구간이 연결된 상태에서 Rx가 Low Warn 임계값 아래에 있다면, 로컬 포트보다는 반대쪽이나 경로를 가리키는 전형적인 신호입니다. Linux 쪽에서는 ethtool -m으로 같은 값을 볼 수 있을 텐데, Cannot get module EEPROM information: Input/output error가 나와도 모듈이 죽었다고 읽지 마세요. mlx5에서는 보통 펌웨어 쪽 모듈 접근 문제이고, mst start, mst cable add를 하고 나서 mlxcables를 쓰면 어쨌든 값을 얻을 수 있습니다.

4 United Statescoaxhawk46US Show original (English) AI translation

청소가 답이었습니다. 단자면에 스코프를 대봤더니 모듈 둘 다, 패치코드 둘 다 오염되어 있었습니다. 방 사이 패널을 지나가는 코드 쪽이 더 심했고요. 경로에 있는 걸 전부 청소하고 다시 꽂으니, NCS로 가는 100G 링크가 첫 시도에 올라왔고 그 후로 계속 유지되고 있습니다.

루프백 결과가 계속 모듈은 멀쩡하고 경로가 문제라고 말해주고 있었는데, 호환성 쪽에 그렇게 오래 매달렸다는 게 스스로 좀 짜증납니다. 나중에 여기 찾아오실 분들을 위해: 루프백은 포트를 증명하는 거지 광케이블을 증명하는 게 아닙니다.

4 GermanytxhubDE Show original (English) AI translation
Log in to comment. Log in