أدوات NIC والتشخيص: قراءة الوحدة من الخادم
لا يملك الخادم أمر show interface transceiver، لكنه يملك المعلومة نفسها في طبقة أدنى: يقرأ برنامج تشغيل NIC ذاكرة EEPROM الخاصة بالوحدة ويعرضها عبر ethtool، وأدوات المورّدين، وعلى Windows وESXi عبر أوامرهما الخاصة. تسرد هذه الصفحة الأدوات بحسب نظام التشغيل والمورّد، وما تعرضه كل أداة (بيانات التعريف، و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 … (في الإصدارات الأحدث) | صفحات 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 | وميض مصباح LED الخاص بالمنفذ لتحديده |
ethtool --show-priv-flags eth0 | أعلام خاصة ببرنامج التشغيل (مثل link-down-on-close) |
مصادر Linux الأخرى: dmesg مُصفّاة على sfp وmodule وlink (رسائل برنامج التشغيل عن تأهيل الوحدة)، وlspci -vv -s <addr> (عرض مسار PCIe وسرعته ضمن LnkSta)، وip -s link show eth0 (العدّادات)، و/sys/class/net/eth0/ (حالة الحامل (carrier) والسرعة).
أدوات المورّدين
| المورّد | الأداة | الاستخدامات الرئيسية |
|---|
| Nvidia / Mellanox | mlxlink -d <pci> -m -e -c | معلومات الوحدة وDDM (-m)، ومخطط العين وBER، وFEC (-e، -c)، وشريك الوصلة؛ وmlxlink … --fec_override، و--speeds |
| Nvidia / Mellanox | mlxconfig -d <pci> q / set | نوع المنفذ (IB/ETH)، ونوع الوصلة، وKEEP_ETH_LINK_UP، وتجاوز FEC، والتفريع (breakout) |
| 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، والإطارات الضخمة (jumbo) — قابلة للضبط عبر 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»، وتذبذبات الوصلة (flap) |
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) |
| درجة الحرارة > 70 °C في خادم 1U | سريان الهواء | غيّر الموضع، أو استخدم فتحة OCP (المنافذ وPCIe) |
LnkSta: Speed 8GT/s, Width x8 على بطاقة 2×100G | اختناق PCIe | الفتحة/تقسيم المسارات (bifurcation) |
dmesg: unsupported module | القائمة البيضاء لبرنامج التشغيل | توافق البصريات على بطاقات NIC |
المراقبة من الخادم
- مخرجات
ethtool -m قابلة للتحليل الآلي؛ وتصدّر مهمة cron أو node exporter مزوَّد بمُجمِّع ethtool بيانات DDM إلى مراقبة على طراز Prometheus (المراقبة). - مخرجات JSON من Nvidia
mlxlink (--json) وعدّادات FEC من Intel ethtool -S تشكّل إشارات جيدة لما قبل العطل (موثوقية الوصلات والمراقبة). - فترات استقصاء من 30–60 s كافية؛ إذ تتحدّث DDM نفسها كل ثانية على أفضل تقدير.
في CodingBox
ethtool -m raw on hex on وCodingBox يقرآن البايتات نفسها: عندما تتصرف الوحدة بشكل مختلف على NIC وعلى منصة الاختبار، قارن التفريغين حقلاً حقلاً؛ فبرنامج تشغيل لا يعيد كتابة أي شيء يُظهر بيانات متطابقة، وأي فرق يشير إلى صفحات الوحدة الديناميكية الخاصة بها أو إلى خطأ قراءة (Check transceiver، قراءة DDM بالأدوات).