Narzędzia i diagnostyka NIC: odczyt modułu z serwera
Serwer nie ma polecenia show interface transceiver, ale ma te same dane o warstwę niżej: sterownik NIC odczytuje EEPROM modułu i udostępnia je przez ethtool, narzędzia producentów, a w Windows i ESXi — przez własne polecenia. Ta strona zestawia narzędzia według systemu operacyjnego i producenta, to, co pokazuje każde z nich (dane identyfikacyjne, DDM, liczniki FEC, stan łącza, PCIe), oraz sposób interpretacji wyniku, gdy łącze nie działa albo narastają błędy.
| Polecenie | Pokazuje |
|---|
ethtool eth0 | stan łącza, prędkość, dupleks, autonegocjacja, obsługiwane/zgłaszane tryby, typ portu (FIBRE/DA) |
ethtool -m eth0 (--module-info) | zdekodowany EEPROM: identyfikator, producent, PN, SN, data, zgodność, długość fali, długości; DDM (temperatura, Vcc, prąd polaryzacji, moc Tx/Rx, progi, flagi alarmów), jeśli moduł go obsługuje |
ethtool -m eth0 raw on hex on | surowy zrzut A0h (i A2h) do porównania bajt po bajcie (Mapa pamięci) |
ethtool -m eth0 page 0x11 … (nowsze) | strony CMIS w modułach 400G i wyższych |
ethtool -i eth0 | sterownik, wersja, wersja firmware/NVM, adres magistrali |
ethtool -S eth0 | statystyki, w tym błędy CRC, FEC skorygowane/nieskorygowane w niektórych sterownikach |
ethtool --show-fec eth0 / --set-fec eth0 encoding rs | skonfigurowany i aktywny tryb FEC |
ethtool -s eth0 speed 25000 duplex full autoneg off | wymuszenie prędkości |
ethtool -p eth0 5 | miganie diodą LED portu w celu jego identyfikacji |
ethtool --show-priv-flags eth0 | flagi specyficzne dla sterownika (np. link-down-on-close) |
Inne źródła w Linuksie: dmesg przefiltrowany pod kątem sfp, module i link (komunikaty sterownika o kwalifikacji modułu), lspci -vv -s <addr> (szerokość/prędkość łącza PCIe pod LnkSta), ip -s link show eth0 (liczniki), /sys/class/net/eth0/ (nośna, prędkość).
Narzędzia producentów
| Producent | Narzędzie | Główne zastosowania |
|---|
| Nvidia / Mellanox | mlxlink -d <pci> -m -e -c | informacje o module i DDM (-m), diagram oka/BER i FEC (-e, -c), partner łącza; mlxlink … --fec_override, --speeds |
| Nvidia / Mellanox | mlxconfig -d <pci> q / set | typ portu (IB/ETH), typ łącza, KEEP_ETH_LINK_UP, wymuszenie FEC, breakout |
| Nvidia / Mellanox | mst status, mlxfwmanager | lista urządzeń, firmware |
| Nvidia / Mellanox | ibstat, ibportstate, iblinkinfo | stan portu InfiniBand, szerokość, prędkość (Fabric IB) |
| Intel | ethtool -m | podstawowe; Intel nie ma dedykowanego narzędzia do zrzutu modułu |
| Intel | nvmupdate64e, epct64e | aktualizacja firmware NVM; konfiguracja portu (opcje portu E810, np. 2×100G kontra 4×25G) |
| Intel | dmesg | komunikaty ixgbe/i40e/ice: unsupported module (Kompatybilność optyki) |
| Broadcom | bnxtnvm, niccli | NVM, ustawienia portu, FEC/AN, informacje o transceiverze |
| Marvell | qedctl | — |
| AMD Solarflare | sfupdate, sfboot | firmware, tryby portu |
| Chelsio | cxgbtool | — |
Windows
| Polecenie | Pokazuje |
|---|
Get-NetAdapter | stan łącza, prędkość |
Get-NetAdapterAdvancedProperty -Name "Ethernet 2" | prędkość/dupleks, tryb FEC, jumbo — ustawiane za pomocą Set-NetAdapterAdvancedProperty |
Get-NetAdapterHardwareInfo | gniazdo PCIe, szerokość/prędkość łącza |
Get-NetAdapterStatistics | liczniki |
Intel PROSet: Get-IntelNetAdapter, Get-IntelNetAdapterSetting | ustawienia specyficzne dla Intela; informacje o module w Menedżerze urządzeń → karta Link Speed |
Nvidia WinOF-2: mlx5cmd -Stat, mlxlink (kompilacja dla Windows) | informacje o module i diagnostyka łącza |
| Podgląd zdarzeń → System | komunikaty sterownika o niewspieranych modułach |
Sterowniki Windows rzadko udostępniają DDM; użyj narzędzi producenta albo odczytaj moduł na stanowisku.
VMware ESXi
| Polecenie | Pokazuje |
|---|
esxcli network nic list / get -n vmnic0 | łącze, prędkość, sterownik, firmware |
esxcli network nic stats get -n vmnic0 | liczniki |
esxcli system module parameters list -m ixgben / set -m ixgben -p "…" | parametry sterownika tam, gdzie są obsługiwane |
esxcli intnet … (wtyczka Intel), esxcli mellanox … / mlxlink (wtyczka Nvidia) | diagnostyka producenta, w tym informacje o module |
vmkernel.log | „unsupported module”, migotanie łącza |
esxcli hardware pci list | stan łącza PCIe |
Interpretacja wyniku
| Obserwacja | Znaczenie | Dalej |
|---|
ethtool -m: „Cannot get module EEPROM information: Operation not supported” | sterownik go nie udostępnia, port nie ma modułu, albo I²C modułu nie odpowiada | sprawdź dmesg, osadź ponownie, spróbuj innego portu (Błędy odczytu i zapisu) |
Dane identyfikacyjne czytelne, Link detected: no, moc Rx w normie | niezgodność prędkości/FEC/AN | ethtool --show-fec, porównaj z przełącznikiem (FEC i AN) |
| Moc Rx −40 dBm / „-inf” | brak światła | światłowód, daleki koniec, polaryzacja (Brak łącza) |
| Bias i moc Tx w porządku, Rx na granicy | brudne złącze, długie łącze | wyczyść, budżet mocy (Moc Rx i budżet łącza) |
| Rosnące liczniki błędów nieskorygowanych FEC | łącze na granicy | poziomy DDM, klasa kabla, temperatura (Metryki VDM i FEC) |
| Temperatura > 70 °C w serwerze 1U | przepływ powietrza | zmień pozycję, gniazdo OCP (Porty i PCIe) |
LnkSta: Speed 8GT/s, Width x8 na karcie 2×100G | wąskie gardło PCIe | gniazdo/bifurkacja |
dmesg: unsupported module | biała lista sterownika | Kompatybilność optyki w NIC |
Monitorowanie z poziomu serwera
- Wynik
ethtool -m da się sparsować; zadanie cron albo node exporter z kolektorem ethtool eksportuje DDM do monitoringu w stylu Prometheusa (Monitoring). - Wynik JSON
mlxlink od Nvidii (--json) i liczniki FEC ethtool -S od Intela to dobre sygnały ostrzegające przed awarią (Niezawodność łącza i monitorowanie). - Interwały odpytywania 30–60 s wystarczą; sam DDM aktualizuje się najwyżej raz na sekundę.
W CodingBox
ethtool -m raw on hex on i CodingBox odczytują te same bajty: gdy moduł zachowuje się inaczej na NIC i na stanowisku, porównaj oba zrzuty pole po polu — sterownik, który niczego nie przepisuje, pokaże identyczne dane, a każda różnica wskazuje na własne strony dynamiczne modułu albo na błąd odczytu (Check transceiver, Odczyt DDM za pomocą narzędzi).