Диагностика и перепрошивка оптических трансиверов
Серверное сетевое оборудование всегда проектируется с расчетом на длительную и бесперебойную работу. Трансиверы, позволяющие передавать данные с высокими скоростями по оптическому волокну, не исключение. Тем не менее, как и любое другое оборудование, трансиверы могут начать сбоить или работать некорректно.
Сегодня мы расскажем о диагностике оптических трансиверов в случае фиксирования каких-либо проблем или перед сдачей в эксплуатацию mission-critical сервисов.
Для начала стоит понимать, что оптический трансивер — достаточно сложное устройство с EEPROM-памятью, собственным процессором, лазерным диодом для передачи и фотодетектором для приема. Разумеется, полное внутреннее устройство значительно более сложное, но мы не станем его рассматривать в рамках этой статьи. Важно лишь понимать, что у любого оптического трансивера есть несколько потенциальных точек отказа, связанных как с «физикой», так и с программным обеспечением.
Выход из строя оптического трансивера чаще всего не происходит мгновенно. Самой уязвимой частью является лазерный диод, который требует соблюдения очень точных параметров электропитания и может сильно нагреваться во время работы. Чтобы отслеживать эти показатели, в трансиверы встраивают механизм самодиагностики DDM (Digital Diagnostics Monitoring). Некоторые вендоры используют собственные обозначения, например, в трансиверах Cisco этот механизм называется DOM (Digital Optical Monitoring), а у трансиверов Zyxel — DDMI (Digital Diagnostic Monitoring Interface).
Интересно, что в целом можно провести параллель между DDM и S.M. A.R.T. Обе эти технологии обеспечивают считывание показателей и могут выдавать сигнал тревоги в случае превышения определенных пороговых значений. На уровне программного обеспечения это выглядит как зарезервированные 256 байт памяти в EEPROM, доступные по адресу 1010000X (0xA0). Сам же интерфейс находится по адресу 1010001X (0xA2).
DDM позволяет в реальном времени получить доступ к следующим значениям:
- температура модуля,
- напряжение,
- ток смещения передатчика,
- выходная мощность,
- принимаемая мощность.
Разумеется, этим список значений не ограничивается, но даже этих данных в большинстве случаев достаточно, чтобы сделать вывод о работоспособности трансивера. Основная сложность здесь в интерпретации значений.
Hot N Cold
Чем ярче факел горит, тем быстрей выгорает.
Витело (1220–1280) — средневековый ученый
Вот как вы думаете, температура под нагрузкой в 82°C — это много или в порядке вещей? Если, к примеру, мы такие показатели увидим у какого-нибудь Zyxel SFP10G-LR, то это вполне нормально, хотя и очень близко к верхней границе эксплуатационной температуры. В то же время 82°C у модуля Juniper Networks EX-SFP-10GE-SR, однозначно, будет свидетельствовать о перегреве, поскольку для него 70°C — заявленный предел. Важно не делать поспешных выводов и всегда сверяться с ТТХ конкретной модели трансивера.
Деградация лазерных диодов и прогнозирование их срока службы — крайне обширная тема, ставшая ключевой для десятков (если не сотен) кандидатских и докторских диссертаций. В целом, все исследователи отмечают то, что повышенная температура и ток накачки приводят к ускоренной деградации лазерных диодов. Выражается она в понижении генерируемой мощности излучения. Каких-либо единых критериев или стандартов на текущий момент не выработано, но если генерируемая мощность уменьшилась на 20–30%, то это вполне можно расценивать как отказ лазерного диода.
Чтобы обеспечивать стабильную оптическую мощность, драйвер лазерного модуля варьирует подаваемый ток, тем самым компенсируя снижение мощности в результате деградации. Если в какой-либо момент подаваемый ток превысит пороговое значение, то это вызовет внезапную (катастрофическую) деградацию с повреждением базовой гетероструктуры лазерного диода и он полностью выйдет из строя. Так что эксплуатация оптических трансиверов с превышением их рабочей температуры недопустима.
Особенно остро эта проблема может возникать в коммутаторах повышенной плотности, где на 1U-устройстве работает более 48 портов с оптическими трансиверами. Крайне важно уделить кабель-менеджменту особое внимание, чтобы обеспечить достаточное охлаждение этим чувствительным элементам инфраструктуры.
Считать данные конкретного оптического трансивера для коммутаторов производства следующих вендоров:
Juniper
show interfaces diagnostics optics
Huawei
display interface transceiver brief
Brocade
show media interface
Arista
show interfaces transceiver
К сожалению, это работает не всегда. На некоторых моделях трансиверов функция самодиагностики не поддерживается, а определенные модели коммутаторов в обязательном порядке требуют наличия лицензий для выполнения подобных команд.
Теперь можно посмотреть на интересующем нас порту количество общих ошибок и ошибок проверки контрольной суммы CRC. Для Juniper эти команды выглядят следующим образом:
show interfaces extensive | match errors
show interfaces extensive | match CRC
Рост количества CRC-ошибок в большинстве случаев вызвано аппаратными, а не программными причинами. Чаще всего причиной их появления служит неплотно вставленный оптический кабель или не до конца вставленный в слот трансивер. Еще одной возможной причиной может быть загрязненная линза оптического порта.
В нашем блоге много статей по сетям. Возможно, вам понравятся следующие посты:
Косвенно можно продиагностировать наличие загрязнения по аномально низкому уровню мощности оптического сигнала. Очистку линзы проводят либо специальными очищающими палочками, либо специальной ручкой-очистителем.
Такое устройство на кончике имеет держатель нити из нетканого материала. Когда вы вставляете его в порт, нить прокручивается и уносит с собой частицы грязи, осевшие на линзе лазерного диода.
Иногда ошибки начинают «вылезать» исключительно под нагрузкой. Так что хороший способ проверить трансивер — взять пару пустых коммутаторов, заведо рабочий трансивер, соответствующий кабель и пару ноутбуков. Соединяем оптикой коммутаторы, включаем ноутбуки в медные разъемы и начинаем генерировать загрузку с помощью популярной утилиты iperf3.
Первый ноутбук будет выполнять роль сервера, так что на нем выполняем команду:
iperf3 -s
Второй ноутбук будет клиентом, на нем запускаем:
iperf3 -c -t 600 -i 10
10 минут такой нагрузки вполне достаточно, чтобы определить работоспособность трансивера. Если при проведении теста ошибок и ретрансмитов нет, а температура остается в рамках штатной, то трансивер точно рабочий и может использоваться дальше в сетевом оборудовании или выделенных серверах.
Тот или не тот свет
Трансиверы выходят из строя не только из-за перегрева. Частой причиной сбоя могут стать действия по восстановлению связи. К примеру, произошла авария, связанная с обрывом оптического кабеля. Монтажники со сварочным аппаратом для оптических волокон приехали на место и спустя некоторое время доложили, что поврежденные волокна сварены и должны работать. Казалось бы, что могло пойти не так в этой ситуации?
Когда стали проверять соединение, оказалось, что из-за яркой вспышки, которой сопровождается сварка волокон, вышел из строя фотодетектор трансивера. Хороший пример того, что при проведении подобных работ стоит отключать оптический кабель от трансиверов. Точно такой же эффект может дать обычный рефлектометр. Его излучения с лихвой хватит, чтобы вывести из строя чувствительный фотодетектор.
Достаточно любопытный факт: при диагностике проблем с оптическими кабелями и трансиверами на инженеров иногда начинают действовать некоторые когнитивные искажения. Мы все привыкли думать, что высокий уровень сигнала — это хорошо. Наш ложный вывод основан на привычных для нас закономерностях, к примеру, если уровень сигнала у мобильного телефона низкий, то связь будет плохая, а наоборот — хорошая. Вот только в реальности высокий уровень сигнала может быть не менее «вредным», чем низкий.
Аттенюаторы, снижающие интенсивность сигнала
Главной ошибкой в этом случае будет использование трансиверов разной или несоответствующей текущей трассе дальности. Если внутри дата-центра, где расстояние составит условные 100 метров, мы возьмем трансиверы, предназначенные для передачи сигнала на 40 км, то вероятнее всего столкнемся с выходом из строя фотодетекторов.
Это объясняется их значительно более высокой чувствительностью по сравнению с трансиверами, рассчитанными на меньшие расстояния. Так что если все же возникла острая необходимость использования таких трансиверов на коротких расстояниях, то это допустимо только с использованием аттенюаторов, понижающих интенсивность светового сигнала.
В инженерку замели, трансивер шьют
Зачем вообще нужно перепрошивать трансиверы, неужели часто возникает такая потребность? Скажем так, иногда приходится это делать по разным причинам. Наиболее часто трансиверы перешиваются, если при попытке использования в другой модели коммутатора трансивер корректно не определяется. Каждый вендор сетевого оборудования в той или иной степени старается не допускать использования модулей компаний-конкурентов.
Так что если трансивер в коммутаторе одного вендора работает нормально, а в коммутаторе другого вендора не определяется с ошибкой «unsupported transceiver», то скорее всего проблему можно решить перепрошивкой трансивера под «требования» конкретного вендора.
Для перепрошивки трансиверов используются программаторы, широко выпускаемые в Поднебесной. Чаще всего эти программаторы выглядят как печатная плата с разъемами SFP/XFP/GBIC/QSFP и не имеют корпуса. Есть и более красиво выглядящие промышленные решения, но по значительно более высокой цене. Хотя с нынешним распространением хоббийных FDM-принтеров отсутствие корпуса решается простым созданием модели в каком-нибудь TinkerCAD и последующей печатью.
Задача такого программатора проста и понятна. Очистить каждую из доступных для записи областей памяти EEPROM и поместить туда новые данные. Но не со всеми типами трансивера это проходит легко и непринужденно.
В некоторых случаях для перепрошивки потребуется 4-х байтный пароль для снятия защиты, что предусмотрено стандартом. В целом эти пароли давно не «Le secret de Polichinelle» и регулярно выкладываются в сеть. Например, на профильных форумах. Там же можно найти и прошивки. Есть ресурсы, которые содержат базы готовых прошивок и генераторы-конструкторы, позволяющие собрать прошивку, исходя из детальных параметров и характеристик конкретного модуля. Кстати, поиск в сети — далеко не единственный способ получения желаемого бинарника. В некоторых случаях прошивку можно попросить напрямую у производителя.
Универсального софта для перепрошивки не существует. Каждый производитель подобных программаторов создает свое собственное программное обеспечение, которое будет работать только с родным железом. Но прошивка сохраняется в EEPROM-памяти, и, зная границы блоков адресов (и, разумеется, метод защиты от записи / защиты от случайного стирания), можно спокойно перешить модуль любого вендора.
Процедуру перепрошивки следует проделывать с осторожностью. Желательно использовать антистатический браслет и проверить, не ошиблись ли вы при выборе бинарника. Некоторые трансиверы стоят весьма приличных денег, а риск «окирпичить» это нежное устройство далеко не нулевой.
Подводя итоги
В общем и целом проблемы с трансиверами не редкость, хотя и встречаются не каждый день. Большинство из них носит чисто механический характер, так что если линк вдруг стал нестабильным, то стоит провести несколько простых действий:
- Проверить само соединение, защелкнуты ли фиксаторы.
- Вытащить трансивер, протереть медные контакты спиртом и поставить обратно.
- Вытащить кабель из трансивера, почистить контактное окно ручкой для чистки, а волокно специальным нетканым материалом со спиртом.
- Если по-прежнему возникают ошибки, то трансивер поменять на новый, а текущий детально продиагностировать, считав данные из DDM. Вероятно, стоит его перепрошить, особенно если трансивер не входит в список совместимых с конкректным сетевым устройством.
- Если ничего не помогает, то списать, поскольку решить вопрос с необратимой деградацией лазерного диода в принципе невозможно.