CodingBox ドキュメント

NIC のツールと診断:サーバー側からモジュールを読む

サーバーには show interface transceiver はありませんが、1つ下の層に同じ情報があります。NIC ドライバーがモジュールの EEPROM を読み取り、ethtool、ベンダー製ユーティリティ、そして Windows と ESXi では専用コマンドを通じて公開します。このページでは、OS とベンダーごとのツール、それぞれが示す内容(識別情報、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 …(新しいバージョン)400G 以上のモジュールにおける CMIS ページ
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ポートを識別するために LED を点滅させる
ethtool --show-priv-flags eth0ドライバー固有のフラグ(例:link-down-on-close)

その他の Linux 上の情報源:sfp、module、link で絞り込んだ dmesg(モジュールの認定に関するドライバーメッセージ)、lspci -vv -s <addr>LnkSta 配下の PCIe リンク幅/速度)、ip -s link show eth0(カウンター)、/sys/class/net/eth0/(キャリア、速度)。

ベンダーのツール

ベンダーツール主な用途
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 オーバーライド、ブレークアウト
Nvidia / Mellanoxmst statusmlxfwmanagerデバイス一覧、ファームウェア
Nvidia / MellanoxibstatibportstateiblinkinfoInfiniBand のポート状態、幅、速度(IB ファブリック
Intelethtool -m主要な手段;Intel には専用のモジュールダンプツールがない
Intelnvmupdate64eepct64eNVM ファームウェア更新;ポート構成(E810 のポートオプション、例:2×100G または 4×25G)
Inteldmesgixgbe/i40e/ice: unsupported module というメッセージ(光モジュールの互換性
BroadcombnxtnvmniccliNVM、ポート設定、FEC/AN、トランシーバー情報
Marvellqedctl
AMD Solarflaresfupdatesfbootファームウェア、ポートモード
Chelsiocxgbtool

Windows

コマンド内容
Get-NetAdapterリンク状態、速度
Get-NetAdapterAdvancedProperty -Name "Ethernet 2"速度/デュプレックス、FEC モード、ジャンボフレーム — Set-NetAdapterAdvancedProperty で設定可能
Get-NetAdapterHardwareInfoPCIe スロット、リンク幅/速度
Get-NetAdapterStatisticsカウンター
Intel PROSet:Get-IntelNetAdapterGet-IntelNetAdapterSettingIntel 固有の設定;デバイスマネージャーの Link Speed タブにあるモジュール情報
Nvidia WinOF-2:mlx5cmd -Statmlxlink(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 listPCIe リンクステータス

出力の読み方

観測結果意味次の対応
ethtool -m:「Cannot get module EEPROM information: Operation not supported」ドライバーが情報を公開していない、ポートにモジュールが挿入されていない、またはモジュールの I²C が応答していないdmesg を確認し、挿し直すか別のポートを試す(読み取り/書き込みエラー
識別情報は読み取れるが Link detected: no、Rx パワーは正常速度/FEC/AN の不一致ethtool --show-fec で確認し、スイッチ側と比較(FEC と AN
Rx パワーが −40 dBm または「-inf」光が届いていない光ファイバー、対向側、極性(リンクなし
バイアスと Tx パワーは正常、Rx が際どいコネクターの汚れ、長いリンク清掃、バジェット確認(Rx パワーとバジェット
FEC の訂正不能カウンターが増加しているリンクが限界に近いDDM の値、ケーブルクラス、温度(VDM と FEC の指標
1U サーバーで温度 > 70 °C気流配置変更、OCP スロット(ポートと PCIe
2×100G カードで LnkSta: Speed 8GT/s, Width x8PCIe のボトルネックスロット/ビフルケーション
dmesg:unsupported moduleドライバーのホワイトリストNIC における光モジュールの互換性

サーバー側からの監視

  • ethtool -m の出力はパース可能です。cron ジョブや ethtool コレクターを備えた node exporter を使えば、DDM を Prometheus 形式の監視系にエクスポートできます(監視)。
  • Nvidia mlxlink の JSON 出力(--json)と Intel ethtool -S の FEC カウンターは、故障予兆の信号として有効です(リンクの信頼性と監視)。
  • ポーリング間隔は 30–60 秒で十分です。DDM 自体もどれだけ速くても1秒ごとにしか更新されません。

CodingBox では

ethtool -m raw on hex on と CodingBox は同じバイトを読み取ります。モジュールが NIC 上とベンチ上で異なる挙動を示す場合は、2つのダンプをフィールドごとに比較してください。何も書き換えないドライバーであれば同じデータが表示されるはずで、差異があればモジュール自身の動的ページか読み取りエラーのどちらかが原因です(Check transceiverツールで DDM を読み取る)。


この記事に不正確な点や誤りを見つけた場合は、該当する箇所を選択して Ctrl+Enter を押すと、できます。