CodingBox الوثائق

أدوات NIC والتشخيص: قراءة الوحدة من الخادم

لا يملك الخادم أمر show interface transceiver، لكنه يملك المعلومة نفسها في طبقة أدنى: يقرأ برنامج تشغيل NIC ذاكرة EEPROM الخاصة بالوحدة ويعرضها عبر ethtool، وأدوات المورّدين، وعلى Windows وESXi عبر أوامرهما الخاصة. تسرد هذه الصفحة الأدوات بحسب نظام التشغيل والمورّد، وما تعرضه كل أداة (بيانات التعريف، و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تفريغ A0hA2h) الخام للمقارنة على مستوى البايت (خريطة الذاكرة)
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 / 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، والتفريع (breakout)
Nvidia / Mellanoxmst status، وmlxfwmanagerقائمة الأجهزة، والبرنامج الثابت
Nvidia / Mellanoxibstat، وibportstate، وiblinkinfoحالة منفذ InfiniBand، وعرضه، وسرعته (نسيج IB)
Intelethtool -mالأداة الأساسية؛ لا تملك Intel أداة مخصَّصة لتفريغ الوحدة
Intelnvmupdate64e، وepct64eتحديث البرنامج الثابت لـNVM؛ وضبط المنافذ (خيارات منافذ E810، مثل 2×100G مقابل 4×25G)
Inteldmesgرسائل ixgbe/i40e/ice: unsupported module (توافق البصريات)
Broadcombnxtnvm، وniccliNVM، وإعدادات المنافذ، وFEC/AN، ومعلومات وحدة الإرسال والاستقبال
Marvellqedctl
AMD Solarflaresfupdate، وsfbootالبرنامج الثابت، وأنماط المنافذ
Chelsiocxgbtool

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/ANethtool --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 بالأدوات).


إذا وجدت معلومة غير دقيقة أو خطأً في هذه المادة، فحدِّد المقطع المعني واضغط Ctrl+Enter .