NIC टूल और डायग्नोस्टिक्स: सर्वर से मॉड्यूल पढ़ना
सर्वर में show interface transceiver नहीं होता, लेकिन उसमें एक परत नीचे वही जानकारी मौजूद होती है: NIC ड्राइवर मॉड्यूल के EEPROM को पढ़ता है और उसे ethtool, विक्रेता की यूटिलिटी से, तथा Windows और ESXi पर अपने ही कमांड से दिखाता है। यह पेज हर OS और विक्रेता के लिए टूल की सूची देता है, हर टूल क्या दिखाता है (पहचान जानकारी, DDM, FEC काउंटर, लिंक की स्थिति, PCIe), और लिंक डाउन होने या त्रुटियाँ जमा होने पर आउटपुट को कैसे समझा जाए, यह भी बताता है।
| कमांड | दिखाता है |
|---|
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 / Mellanox | mlxlink -d <pci> -m -e -c | मॉड्यूल जानकारी और DDM (-m), eye/BER और FEC (-e, -c), लिंक पार्टनर; mlxlink … --fec_override, --speeds |
| Nvidia / Mellanox | mlxconfig -d <pci> q / set | पोर्ट प्रकार (IB/ETH), लिंक प्रकार, KEEP_ETH_LINK_UP, FEC ओवरराइड, ब्रेकआउट |
| Nvidia / Mellanox | mst status, mlxfwmanager | डिवाइस सूची, फ़र्मवेयर |
| Nvidia / Mellanox | ibstat, ibportstate, iblinkinfo | InfiniBand पोर्ट की स्थिति, चौड़ाई, स्पीड (IB फ़ैब्रिक) |
| Intel | ethtool -m | मुख्य टूल; Intel के पास मॉड्यूल डंप के लिए अलग से कोई टूल नहीं है |
| Intel | nvmupdate64e, epct64e | NVM फ़र्मवेयर अपडेट; पोर्ट कॉन्फ़िगरेशन (E810 पोर्ट विकल्प, जैसे 2×100G बनाम 4×25G) |
| Intel | dmesg | ixgbe/i40e/ice: unsupported module संदेश (ऑप्टिक्स संगतता) |
| Broadcom | bnxtnvm, niccli | NVM, पोर्ट सेटिंग, FEC/AN, ट्रांसीवर जानकारी |
| Marvell | qedctl | — |
| AMD Solarflare | sfupdate, sfboot | फ़र्मवेयर, पोर्ट मोड |
| Chelsio | cxgbtool | — |
Windows
| कमांड | दिखाता है |
|---|
Get-NetAdapter | लिंक की स्थिति, स्पीड |
Get-NetAdapterAdvancedProperty -Name "Ethernet 2" | स्पीड/ड्यूप्लेक्स, FEC मोड, जंबो; Set-NetAdapterAdvancedProperty से सेट करने योग्य |
Get-NetAdapterHardwareInfo | PCIe स्लॉट, लिंक चौड़ाई/स्पीड |
Get-NetAdapterStatistics | काउंटर |
Intel PROSet: Get-IntelNetAdapter, Get-IntelNetAdapterSetting | Intel-विशिष्ट सेटिंग; Device Manager → Link Speed टैब में मॉड्यूल जानकारी |
Nvidia WinOF-2: mlx5cmd -Stat, mlxlink (Windows बिल्ड) | मॉड्यूल जानकारी और लिंक डायग्नोस्टिक्स |
| Event Viewer → System | असमर्थित मॉड्यूल के बारे में ड्राइवर के संदेश |
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/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 x8 | PCIe बॉटलनेक | स्लॉट/बाइफ़र्केशन |
dmesg: असमर्थित मॉड्यूल | ड्राइवर की व्हाइटलिस्ट | NIC पर ऑप्टिक्स संगतता |
सर्वर से निगरानी
ethtool -m का आउटपुट पार्स किया जा सकता है; cron जॉब या ethtool कलेक्टर वाला node exporter DDM को Prometheus-स्टाइल मॉनिटरिंग में एक्सपोर्ट करता है (मॉनिटरिंग)।- Nvidia के
mlxlink का JSON आउटपुट (--json) और Intel के ethtool -S के FEC काउंटर विफलता से पहले के अच्छे संकेत देते हैं (लिंक विश्वसनीयता और मॉनिटरिंग)। - 30–60 s के पोल इंटरवल पर्याप्त हैं; DDM स्वयं ज़्यादा से ज़्यादा हर सेकंड अपडेट होता है।
CodingBox में
ethtool -m raw on hex on और CodingBox एक ही बाइट पढ़ते हैं: जब कोई मॉड्यूल NIC पर और बेंच पर अलग व्यवहार करे, तो दोनों डंप की फ़ील्ड-दर-फ़ील्ड तुलना करें। जो ड्राइवर कुछ भी दोबारा नहीं लिखता वह एक जैसा डेटा दिखाएगा, और कोई भी अंतर मॉड्यूल के अपने डायनामिक पेजों या पढ़ने की त्रुटि की ओर इशारा करता है (Check transceiver, टूल से DDM पढ़ना)।