CodingBox Документация

Инструменты и диагностика NIC: чтение модуля с сервера

У сервера нет show interface transceiver, но есть та же информация на уровень ниже: драйвер сетевой карты читает EEPROM модуля и отдаёт её через ethtool, вендорские утилиты, а в Windows и ESXi — через их собственные команды. Здесь перечислены инструменты по ОС и вендорам, что каждый показывает (идентификация, DDM, счётчики FEC, состояние линка, PCIe) и как читать вывод, когда линк лежит или копятся ошибки.

Linux: ethtool

КомандаПоказывает
ethtool eth0состояние линка, скорость, дуплекс, автосогласование, поддерживаемые/объявляемые режимы, тип порта (FIBRE/DA)
ethtool -m eth0 (--module-info)декодированный EEPROM: идентификатор, вендор, PN, SN, дата, соответствие, длина волны, длины; DDM (температура, Vcc, ток, мощности Tx/Rx, пороги, флаги аварий), если модуль его имеет
ethtool -m eth0 raw on hex onсырой дамп A0h (и A2h) для побайтного сравнения (Карта памяти)
ethtool -m eth0 page 0x11 … (новые)страницы CMIS на модулях 400G+
ethtool -i eth0драйвер, версия, версия прошивки/NVM, адрес на шине
ethtool -S eth0статистика, включая ошибки CRC, исправленные/неисправимые FEC у части драйверов
ethtool --show-fec eth0 / --set-fec eth0 encoding rsнастроенный и активный режим FEC
ethtool -s eth0 speed 25000 duplex full autoneg offпринудить скорость
ethtool -p eth0 5моргнуть светодиодом порта для идентификации
ethtool --show-priv-flags eth0флаги драйвера (например, link-down-on-close)

Другие источники в Linux: dmesg с фильтром по sfp, module и link (сообщения драйвера о квалификации модуля), lspci -vv -s <адрес> (ширина/скорость линка PCIe в LnkSta), ip -s link show eth0 (счётчики), /sys/class/net/eth0/ (carrier, speed).

Вендорские инструменты

ВендорИнструментОсновное применение
Nvidia / Mellanoxmlxlink -d <pci> -m -e -cсведения о модуле и DDM (-m), глаз/BER и FEC (-e, -c), партнёр по линку; mlxlink … --fec_override, --speeds
Nvidia / Mellanoxmlxconfig -d <pci> q / setтип порта (IB/ETH), тип линка, KEEP_ETH_LINK_UP, переопределение FEC, breakout
Nvidia / Mellanoxmst status, mlxfwmanagerсписок устройств, прошивка
Nvidia / Mellanoxibstat, ibportstate, iblinkinfoсостояние, ширина, скорость порта InfiniBand (Фабрика IB)
Intelethtool -mосновной; отдельного инструмента дампа модуля у Intel нет
Intelnvmupdate64e, epct64eобновление прошивки NVM; конфигурация портов (опции портов E810, например 2×100G или 4×25G)
Inteldmesgсообщения ixgbe/i40e/ice: unsupported module (Совместимость оптики)
Broadcombnxtnvm, niccliNVM, настройки портов, FEC/AN, сведения о трансивере
Marvellqedctl
AMD Solarflaresfupdate, sfbootпрошивка, режимы портов
Chelsiocxgbtool

Windows

КомандаПоказывает
Get-NetAdapterсостояние линка, скорость
Get-NetAdapterAdvancedProperty -Name "Ethernet 2"скорость/дуплекс, режим FEC, jumbo — задаётся Set-NetAdapterAdvancedProperty
Get-NetAdapterHardwareInfoслот PCIe, ширина/скорость линка
Get-NetAdapterStatisticsсчётчики
Intel PROSet: Get-IntelNetAdapter, Get-IntelNetAdapterSettingнастройки Intel; сведения о модуле в Диспетчере устройств → вкладка Link Speed
Nvidia WinOF-2: mlx5cmd -Stat, mlxlink (сборка для Windows)сведения о модуле и диагностика линка
Просмотр событий → Системасообщения драйвера о неподдерживаемых модулях

Драйверы Windows редко отдают DDM; используйте вендорские инструменты или читайте модуль на столе.

VMware ESXi

КомандаПоказывает
esxcli network nic list / get -n vmnic0линк, скорость, драйвер, прошивка
esxcli network nic stats get -n vmnic0счётчики
esxcli system module parameters list -m ixgben / set -m ixgben -p "…"параметры драйвера, где поддерживаются
esxcli intnet … (плагин Intel), esxcli mellanox … / mlxlink (плагин Nvidia)вендорская диагностика, включая сведения о модуле
vmkernel.log«unsupported module», флапы линка
esxcli hardware pci listсостояние линка PCIe

Чтение вывода

НаблюдениеСмыслДальше
ethtool -m: «Cannot get module EEPROM information: Operation not supported»драйвер не отдаёт, в порту нет модуля или I²C модуля не отвечаетсмотреть dmesg, переткнуть, попробовать другой порт (Ошибки чтения и записи)
Идентификация читается, Link detected: no, мощность Rx нормальнаянесовпадение скорости/FEC/ANethtool --show-fec, сравнить с коммутатором (FEC и AN)
Мощность Rx −40 дБм / «-inf»нет светаволокно, дальний конец, полярность (Нет линка)
Ток и мощность Tx в норме, Rx на гранигрязный разъём, длинный линкчистить, бюджет (Мощность Rx и бюджет)
Растут счётчики неисправимых FECлинк на краюуровни DDM, класс кабеля, температура (VDM и метрики FEC)
Температура > 70 °C в сервере 1Uобдувпереставить, слот OCP (Порты и PCIe)
LnkSta: Speed 8GT/s, Width x8 на карте 2×100Gузкое место PCIeслот/бифуркация
dmesg: unsupported moduleбелый список драйвераСовместимость оптики на NIC

Мониторинг с сервера

  • Вывод ethtool -m разбирается; задание cron или node exporter с коллектором ethtool отдаёт DDM в мониторинг в стиле Prometheus (Мониторинг).
  • JSON-вывод Nvidia mlxlink (--json) и счётчики FEC Intel из ethtool -S — хорошие сигналы до отказа (Надёжность линков и мониторинг).
  • Интервалов опроса 30–60 с достаточно; сам DDM обновляется в лучшем случае раз в секунду.

В CodingBox

ethtool -m raw on hex on и CodingBox читают одни и те же байты: когда модуль ведёт себя по-разному на NIC и на столе, сравните два дампа поле за полем — драйвер, который ничего не переписывает, покажет идентичные данные, а любое различие укажет на собственные динамические страницы модуля или на ошибку чтения (Check transceiver, Снятие DDM инструментами).