ConnectX-4 MCX456A-ECAT không link được với Cisco NCS trên 100GBASE-LR4 dù loopback qua ở cả hai đầu
Bọn mình vận hành một cặp rack đấu ra một Cisco NCS hướng carrier, và một trong các uplink server 100G chưa bao giờ lên kể từ lúc dựng. Kết quả y hệt sau khi chuyển server sang tủ khác với patch panel khác, nên mình không còn coi đây là chuyện ngẫu nhiên nữa.
- server Supermicro, NVIDIA/Mellanox ConnectX-4 MCX456A-ECAT, cả hai cổng còn trống
- QSFP28 100GBASE-LR4 loại thường, single mode, tầm xa 10 km, mỗi đầu một cái
- Cisco NCS ở đầu bên kia, sợi quang tối giữa hai phòng
Phần khiến mình bí: mỗi module qua được loopback trên chính thiết bị của nó. Khi khoanh sợi quang thẳng lại vào cùng một QSFP28, NIC báo một link 100G sạch sẽ, và NCS cũng vậy ở phía nó. Đặt đoạn span thật vào giữa thì chẳng có gì.
# 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
Những gì bọn mình đã thử:
- đổi cả hai module bằng hàng dự phòng cùng lô, không đổi gì
- chuyển server và đấu lại qua một panel khác
- mở case với vendor của NIC, và câu trả lời là chỉ tới validated transceiver list trong release note firmware, cái không giải thích được vì sao loopback lại chạy
Có điều gì đó về LR4 trên ConnectX-4 khiến nó link được tại chỗ nhưng không bao giờ qua được một span thật, hay mình đang đuổi theo sai đầu mối?
Comments 3
Đọc như một tuyến bẩn, không phải vấn đề tương thích.
Mọi thứ bạn đã thay cho tới giờ đều nằm ở phía đã test tốt sẵn rồi, đó là lý do không có gì đổi - bản thân đoạn span là thứ duy nhất chưa động tới. Nên hãy làm việc với tuyến cáp:
Validated transceiver list mà bạn được chỉ tới cũng đáng liếc qua, nhưng một module lên sạch sẽ trong loopback đã được NIC điều khiển đúng rồi. Danh sách tương thích giải thích các module bị từ chối thẳng thừng, không phải các module link được tại chỗ nhưng chết khi qua một span.
Nếu vệ sinh không giải quyết được, bước tiếp theo là một light source và power meter trên sợi quang tối, hoặc một OTDR nếu mượn được, trước khi bạn mua thêm một NIC khác hay một cặp optic khác.
Một loopback chỉ chứng minh một cổng có thể tự nghe được chính nó - laser, receiver, cấu hình tốc độ. Nó không nói gì về đoạn thủy tinh giữa hai phòng của bạn, và đó chính là mảnh duy nhất bạn chưa test. Nên trước khi đổ lỗi cho NIC lần nữa, hãy lấy số liệu ở cả hai đầu khi đã đấu span thật vào: Rx power trên cổng NCS là bao nhiêu, và trên NIC là bao nhiêu? Rx nằm dưới ngưỡng Low Warn khi có span thật là dấu hiệu kinh điển chỉ về đầu xa hoặc về tuyến cáp chứ không phải cổng cục bộ. Bên phía Linux,
ethtool -msẽ cho bạn số liệu tương tự, và nếu nó trả vềCannot get module EEPROM information: Input/output errorthì đừng đọc đó là module chết - trên mlx5 đó thường là chuyện truy cập module phía firmware, vàmst start,mst cable addrồimlxcablesvẫn sẽ lấy được số liệu cho bạn.Vệ sinh chính là câu trả lời. Bọn mình soi kính hiển vi lên các đầu mặt cắt và cả hai module lẫn cả hai dây patch đều bị bẩn; sợi chạy qua panel liên phòng là cái tệ hơn trong hai cái. Vệ sinh mọi thứ trên tuyến, cắm lại, và link 100G tới NCS lên ngay lần thử đầu tiên và giữ vững từ đó tới giờ.
Hơi bực mình với bản thân vì đã tốn ngần ấy thời gian vào góc độ tương thích trong khi kết quả loopback đã nói với mình suốt từ đầu rằng module ổn còn tuyến cáp thì không. Cho ai đó lạc vào đây sau này: loopback chứng minh cái cổng, không chứng minh sợi quang.