CodingBox दस्तावेज़

NIC टूल और डायग्नोस्टिक्स: सर्वर से मॉड्यूल पढ़ना

सर्वर में show interface transceiver नहीं होता, लेकिन उसमें एक परत नीचे वही जानकारी मौजूद होती है: 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), eye/BER और FEC (-e, -c), लिंक पार्टनर; mlxlink … --fec_override, --speeds
Nvidia / Mellanoxmlxconfig -d <pci> q / setपोर्ट प्रकार (IB/ETH), लिंक प्रकार, KEEP_ETH_LINK_UP, FEC ओवरराइड, ब्रेकआउट
Nvidia / Mellanoxmst status, mlxfwmanagerडिवाइस सूची, फ़र्मवेयर
Nvidia / Mellanoxibstat, ibportstate, iblinkinfoInfiniBand पोर्ट की स्थिति, चौड़ाई, स्पीड (IB फ़ैब्रिक)
Intelethtool -mमुख्य टूल; Intel के पास मॉड्यूल डंप के लिए अलग से कोई टूल नहीं है
Intelnvmupdate64e, epct64eNVM फ़र्मवेयर अपडेट; पोर्ट कॉन्फ़िगरेशन (E810 पोर्ट विकल्प, जैसे 2×100G बनाम 4×25G)
Inteldmesgixgbe/i40e/ice: unsupported module संदेश (ऑप्टिक्स संगतता)
Broadcombnxtnvm, niccliNVM, पोर्ट सेटिंग, FEC/AN, ट्रांसीवर जानकारी
Marvellqedctl
AMD Solarflaresfupdate, sfbootफ़र्मवेयर, पोर्ट मोड
Chelsiocxgbtool

Windows

कमांडदिखाता है
Get-NetAdapterलिंक की स्थिति, स्पीड
Get-NetAdapterAdvancedProperty -Name "Ethernet 2"स्पीड/ड्यूप्लेक्स, FEC मोड, जंबो; Set-NetAdapterAdvancedProperty से सेट करने योग्य
Get-NetAdapterHardwareInfoPCIe स्लॉट, लिंक चौड़ाई/स्पीड
Get-NetAdapterStatisticsकाउंटर
Intel PROSet: Get-IntelNetAdapter, Get-IntelNetAdapterSettingIntel-विशिष्ट सेटिंग; 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 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: असमर्थित मॉड्यूलड्राइवर की व्हाइटलिस्ट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 पढ़ना)।


अगर आपको इस सामग्री में कोई अशुद्धि या त्रुटि दिखे, तो संबंधित अंश चुनें और Ctrl+Enter दबाकर