تسعى مجموعة الوثائق لهذا المنتج جاهدة لاستخدام لغة خالية من التحيز. لأغراض مجموعة الوثائق هذه، يتم تعريف "خالية من التحيز" على أنها لغة لا تعني التمييز على أساس العمر، والإعاقة، والجنس، والهوية العرقية، والهوية الإثنية، والتوجه الجنسي، والحالة الاجتماعية والاقتصادية، والتمييز متعدد الجوانب. قد تكون الاستثناءات موجودة في الوثائق بسبب اللغة التي يتم تشفيرها بشكل ثابت في واجهات المستخدم الخاصة ببرنامج المنتج، أو اللغة المستخدمة بناءً على وثائق RFP، أو اللغة التي يستخدمها منتج الجهة الخارجية المُشار إليه. تعرّف على المزيد حول كيفية استخدام Cisco للغة الشاملة.
ترجمت Cisco هذا المستند باستخدام مجموعة من التقنيات الآلية والبشرية لتقديم محتوى دعم للمستخدمين في جميع أنحاء العالم بلغتهم الخاصة. يُرجى ملاحظة أن أفضل ترجمة آلية لن تكون دقيقة كما هو الحال مع الترجمة الاحترافية التي يقدمها مترجم محترف. تخلي Cisco Systems مسئوليتها عن دقة هذه الترجمات وتُوصي بالرجوع دائمًا إلى المستند الإنجليزي الأصلي (الرابط متوفر).
يصف هذا المستند الخطوات المستخدمة لاستكشاف أخطاء تثبيت برامج تشغيل الأجهزة والبرامج وإصلاحها لبطاقات واجهة الشبكة ذات زمن الوصول المنخفض ل Nexus SmartNIC (المعروفة سابقا باسم ExaNIC).
توصيك Cisco بفهم إجراء تثبيت الأجهزة لبطاقات واجهة الشبكة ذات زمن الوصول المنخفض من Nexus SmartNIC. توصي Cisco أيضا بأن تمتلك فهم أساسي لواجهة سطر أوامر Linux.
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك مباشرة، فتأكد من فهمك للتأثير المحتمل لأي أمر.
تنطبق الإجراءات الواردة في هذا المستند على هذا الجهاز:
يغطي هذا القسم من المستند الخطوات المستخدمة لاستكشاف أخطاء تثبيت الأجهزة لبطاقة واجهة الشبكة ذات زمن الوصول المنخفض ل Nexus SmartNIC وإصلاحها. اتبع هذا القسم من المستند عندما لا يتعرف نظام التشغيل المضيف (عادة ما يكون برنامج لينوكس أو خادم Windows) على Nexus SmartNIC كجهاز طرفي PCI Express صالح.
يجب تثبيت بطاقات واجهة شبكة Nexus SmartNIC بشكل صحيح في فتحة PCI Express (PCIe) على اللوحة الأم أو قاعدة/البطاقة الفرعية للمضيف. للحصول على معلومات إضافية حول كيفية تثبيت بطاقة PCIe، راجع الدليل الخاص بمضيفك الذي توفره الشركة المصنعة.
للحصول على معلومات إضافية حول تثبيت بطاقة PCIe على خوادم Cisco UCS، ارجع إلى هذه الوثائق الداعمة:
يجب تثبيت جميع بطاقات واجهة شبكة Nexus SmartNIC في فتحة متوافقة مع PCIe 3.0. علاوة على ذلك، يجب إستخدام فتحة PCIe x8 كحد أدنى مع 49 سنا لتوصيل جميع بطاقات واجهة الشبكة Nexus SmartNIC. للحصول على معلومات إضافية حول ما إذا كانت فتحات PCIe تفي بهذه المواصفات، راجع الدليل الخاص بمضيفك الذي توفره الشركة المصنعة.
للحصول على معلومات إضافية حول مواصفات فتحة PCIe على خوادم Cisco UCS، ارجع إلى هذا الجدول والمستندات الداعمة:
نموذج خادم Cisco UCS | توافق فتحات PCIe | الوثائق الداعمة |
---|---|---|
Cisco UCS C220 M5 | كافة فتحات PCIe متوافقة | دليل خدمة وتثبيت خادم Cisco UCS C220 M5 |
Cisco UCS C240 M5 | كافة فتحات PCIe متوافقة | دليل خدمة وتثبيت خادم Cisco UCS C240 M5 |
يجب إدخال Nexus SmartNIC بشكل صحيح في فتحة PCI Express متصلة بوحدة معالجة مركزية (وحدة معالجة مركزية) نشطة ومثبتة. إذا كان المضيف مجهزا بمقابس متعددة لوحدة المعالجة المركزية (CPU) حيث لم يتم تثبيت وحدة المعالجة المركزية (والتي يطلق عليها أيضا "تكوين وحدة المعالجة المركزية الفردية") إلا أن جميع فتحات PCIe قد لا تكون نشطة وتعمل. للحصول على معلومات إضافية حول فتحات PCIe التي يتم تنشيطها في تهيئة وحدة معالجة مركزية واحدة، راجع الدليل الخاص بمضيفك الذي توفره الشركة المصنعة.
لمزيد من المعلومات حول فتحات PCIe النشطة على خوادم Cisco UCS في تكوين وحدة معالجة مركزية واحدة، ارجع إلى هذا الجدول والمستندات الداعمة:
نموذج خادم Cisco UCS | فتحات PCIe نشطة | الوثائق الداعمة |
---|---|---|
Cisco UCS C220 M5 | قاعدة بطاقة PCIe 1، فتحة 1 | دليل خدمة وتثبيت خادم Cisco UCS C220 M5 |
Cisco UCS C240 M5 | قاعدة بطاقة PCIe 1، فتحة 1 قاعدة بطاقة PCIe 1 وفتحة 2 قاعدة بطاقة PCIe 1B وفتحة 1 قاعدة بطاقة PCIe 1B، فتحة 2 قاعدة بطاقة PCIe 1B، فتحة 3 |
دليل خدمة وتثبيت خادم Cisco UCS C240 M5 |
تحتوي كل بطاقة واجهة شبكة Nexus SmartNIC على عدد من مصابيح LED (وحدات ثنائية باعثة للضوء) موجودة على قوس PCIe. تكون مصابيح LED هذه مرئية عادة من خارج المضيف. يحتوي كل منفذ +SFP ومنفذ QSFP على بطاقة واجهة الشبكة على مؤشر LED واحد أكبر حجما مرتبط به. ويشار إلى مصابيح LED هذه بشكل جماعي باسم مصابيح LED للموانئ.
في بطاقات واجهة الشبكة التي لا تحتوي إلا على منافذ +SFP، يتوفر مؤشر LED أحمر أصغر حجما يتم اقترانه بموصل PPS (باستثناء Nexus SmartNIC X10-GM، حيث يرتبط مؤشر LED الأحمر الصغير بحالة ساعة المدير الكبير). ويشار إلى مؤشر LED هذا باسم مؤشر PPS LED.
ملاحظة: لا تحتوي بطاقات واجهة شبكة Nexus SmartNIC المزودة بمنافذ QSFP على مؤشر LED لمنافذ PPS.
وباختصار، ارجع إلى الجدول هنا:
نموذج Nexus SmartNIC | مصابيح LED للمنفذ | مؤشر LED الخاص ببروتوكول PPS |
---|---|---|
الطراز X10 | نعم | نعم |
X10-HPT | نعم | نعم |
X10-GM | نعم | نعم (GPS) |
X25 | نعم | نعم |
الطراز X40 | نعم | لا |
الطراز X100 | نعم | لا |
V5P | نعم | لا |
V9P | نعم | لا |
عندما يتم تشغيل بطاقة واجهة شبكة Nexus SmartNIC لأول مرة بجانب المضيف، يجب أن تظهر جميع مصابيح LED على بطاقة واجهة الشبكة بسرعة flash في لحظات. إذا لم تكن هناك مصابيح LED تبعث ضوءا في أي وقت بعد تشغيل المضيف، فإن هذا يشير إلى أن بطاقة واجهة شبكة Nexus SmartNIC لا تتلقى الطاقة بشكل صحيح من الناقل PCIe. تحريت هذا إصدار بعد ذلك مع هذا إجراء:
إذا فشلت بطاقة واجهة شبكة Nexus SmartNIC في الحصول على الطاقة بغض النظر عن فتحة PCIe والمضيف المستخدم، فاتصل ب TAC من Cisco للحصول على مزيد من أستكشاف الأخطاء وإصلاحها.
وكما تمت الإشارة إليه مسبقا في الخطوة 4، يحتمل أن يكون لكل بطاقة واجهة شبكة Nexus SmartNIC نوعان من مصابيح LED:
عندما لا يتم إدراج وحدات SFP+/QSFP النمطية في المنافذ الخاصة ببطاقة واجهة الشبكة، يجب أن تظل مصابيح LED هذه قيد الإيقاف بعد الذاكرة المؤقتة المؤقتة الموضحة في الخطوة 4 عند تشغيل بطاقة واجهة الشبكة في البداية.
هناك ثلاثة سيناريوهات شائعة حيث لا يكون هذا هو الحال نتيجة لتلف أو فقد البرامج الثابتة:
إذا بقيت مصباح LED لكل من المنفذ و PPS مضاءة بعد الفلاش المؤقت عندما لا يتم إدراج وحدات SFP+/QSFP ولم يتعرف نظام التشغيل المضيف على بطاقة واجهة الشبكة كجهاز طرفي PCIe صالح (مثل من خلال الأمر lspci)، فقد يلزم إسترداد البرامج الثابتة لبطاقة واجهة الشبكة Nexus SmartNIC. اتبع عملية إسترداد البرنامج الثابت Nexus SmartNIC وتحميل إصدار جديد من البرنامج الثابت على Nexus SmartNIC. إن لا يحل هذا إصدار، اتصل ب cisco TAC ل إضافي يتحرى.
في حالة تزويد بطاقة واجهة شبكة Nexus SmartNIC بمؤشر LED يضيء بمؤشر PPS باستمرار، فإن البرامج الثابتة الموجودة المحملة على البطاقة تكون تالفة وقد دخلت البطاقة في وضع إسترداد البرامج الثابتة. يجب عليك اتباع عملية تحديث البرنامج الثابت Nexus SmartNIC لاستخدام بطاقة واجهة الشبكة بشكل طبيعي. إن لا يحل هذا إصدار، اتصل ب cisco TAC ل إضافي يتحرى.
إذا لم تكن بطاقة واجهة شبكة Nexus SmartNIC مزودة بمصباح PPS وكانت مصابيح LED الخاصة بالمنفذ تتغير باستمرار بين وضع إيقاف التشغيل والكهرمان، فإن البرامج الثابتة الموجودة المحملة على البطاقة تكون تالفة وقد دخلت البطاقة في وضع إسترداد البرامج الثابتة. يجب عليك اتباع عملية تحديث البرنامج الثابت Nexus SmartNIC لاستخدام بطاقة واجهة الشبكة بشكل طبيعي. إن لا يحل هذا إصدار، اتصل ب cisco TAC ل إضافي يتحرى.
يمكنك تأكيد أن نظام التشغيل المضيف يمكنه اكتشاف بطاقة واجهة شبكة Nexus SmartNIC بنجاح من خلال ناقل PCIe باستخدام الأمر lspci. معرف مورد PCI (VID) 16 بت الخاص ب Exablaze هو 0x1ce4، والذي يمكن إستخدامه للتحقق من أجهزة PCIe الخاصة ب Nexus SmartNIC للحصول على معلومات. وهذا موضح في المثال التالي:
[root@host ~]# lspci -d 1ce4:
01:00.0 Ethernet controller: Exablaze ExaNIC X10
يمكن عرض معلومات أكثر تفصيلا حول بطاقة PCIe من خلال إضافة علامة-v المطوية إلى الأمر lspci. وهذا موضح في المثال التالي:
[root@host ~]# lspci -d 1ce4: -v
01:00.0 Ethernet controller: Exablaze ExaNIC X10
Subsystem: Exablaze ExaNIC X10
Flags: bus master, fast devsel, latency 0, IRQ 30
Memory at 92000000 (32-bit, non-prefetchable) [size=8M]
Memory at 92800000 (64-bit, non-prefetchable) [size=4M]
Capabilities: [80] Power Management version 3
Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [c0] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [1b8] Latency Tolerance Reporting
Capabilities: [300] #19
Capabilities: [340] Vendor Specific Information: ID=0001 Rev=0 Len=02c <?>
Kernel modules: exanic
يمكن عرض معلومات أكثر تفصيلا بإضافة علامة-VV المطبعية إلى الأمر lspci. وهذا موضح في المثال التالي:
[root@host ~]# lspci -d 1ce4: -vv 01:00.0 Ethernet controller: Exablaze ExaNIC X10 Subsystem: Exablaze ExaNIC X10 Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 Interrupt: pin A routed to IRQ 30 Region 0: Memory at 92000000 (32-bit, non-prefetchable) [size=8M] Region 2: Memory at 92800000 (64-bit, non-prefetchable) [size=4M] Capabilities: [80] Power Management version 3 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME- Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit+ Address: 00000000fee003b8 Data: 0000 Capabilities: [c0] Express (v2) Endpoint, MSI 00 DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 75.000W DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ MaxPayload 128 bytes, MaxReadReq 512 bytes DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend- LnkCap: Port #0, Speed 8GT/s, Width x8, ASPM not supported, Exit Latency L0s unlimited, L1 unlimited ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+ LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+ ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta: Speed 8GT/s, Width x8, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- DevCap2: Completion Timeout: Range B, TimeoutDis+, LTR+, OBFF Not Supported DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis- Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS- Compliance De-emphasis: -6dB LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete+, EqualizationPhase1+ EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest- Capabilities: [100 v2] Advanced Error Reporting UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol- UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol- UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol- CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr- CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+ AERCap: First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn- Capabilities: [1b8 v1] Latency Tolerance Reporting Max snoop latency: 0ns Max no snoop latency: 0ns Capabilities: [300 v1] #19 Capabilities: [340 v1] Vendor Specific Information: ID=0001 Rev=0 Len=02c <?> Kernel modules: exanic
إذا كان الأمر lspci يعرض معلومات حول بطاقة واجهة الشبكة Nexus SmartNIC، فإن هذا يشير إلى أن نظام التشغيل المضيف قد اكتشف بطاقة واجهة شبكة Nexus SmartNIC بنجاح من خلال ناقل PCIe. وبالانتقال إلى الأمام، يمكن تثبيت برامج تشغيل Nexus SmartNIC وبدء إستخدام البطاقة.
يغطي هذا القسم من المستند الخطوات المستخدمة لاستكشاف أخطاء تثبيت برنامج تشغيل بطاقة واجهة الشبكة ذات زمن الوصول المنخفض ل Nexus SmartNIC وإصلاحها. اتبع هذا القسم من المستند عندما يتعرف نظام التشغيل المضيف (عادة ما يكون برنامج لينوكس أو خادم Windows) على بطاقة واجهة Nexus SmartNIC كجهاز طرفي PCI Express صالح، ولكن نظام التشغيل المضيف لا يتعرف على منافذ Nexus SmartNIC كواجهة شبكة صالحة. ويتم توضيح مثال على ذلك في الإخراج هنا:
[root@host ~]# ls /dev/exanic* ls: cannot access /dev/exanic*: No such file or directory
يفترض هذا القسم من المستند أن واحدا قد واجه خطأ أثناء محاولة تثبيت برامج تشغيل Nexus SmartNIC كما هو موضح في دليل تثبيت برامج Nexus SmartNIC.
يتم تنفيذ جميع الأوامر في هذا الإجراء من حساب Linux الجذر. إذا لم تكن تستخدم حساب Linux الجذر لتطبيق هذا الإجراء، فقد تحتاج إلى إستخدام الأمر sudo لرفع امتيازات أمان حسابك إلى امتيازات المستخدم المتميز.
إذا قام نواة نظام التشغيل المضيف بتحميل برنامج تشغيل لبطاقة واجهة شبكة Nexus SmartNIC، فإن الأمر lspci مع علامة -v المطوية سيعرض برنامج التشغيل المستخدم. يمكن للمرء الاستعلام عن الأجهزة التي تستخدم معرف مورد PCI (0x1ce4) الخاص ب Exablaze لعرض المعلومات الخاصة بأجهزة PCIe الخاصة ب Nexus SmartNIC. ويتم توضيح مثال على ذلك في الإخراج هنا:
[root@host ~]# lspci -d 1ce4: -v | egrep Kernel.driver Kernel driver in use: exanic
إذا لم يقوم نواة نظام التشغيل المضيف بتحميل برنامج التشغيل، فسيتم حذف سطر "برنامج تشغيل kernel قيد الاستخدام" هذا من مخرجات الأمر lspci -d 1ce4: -v.
كما هو موضح في دليل تثبيت برامج Nexus SmartNIC، يمكن تثبيت برامج تشغيل برنامج Nexus SmartNIC من خلال مدير الحزم (مثل APT أو YUM أو مباشرة من خلال RPM). إذا قمت بتثبيت برامج تشغيل ExaNIC باستخدام هذه الطريقة، فيمكنك التحقق من تثبيت جميع الملفات بشكل صحيح كما هو موضح أدناه.
اعتمادا على بنية وحدة المعالجة المركزية (CPU) الخاصة بمضيفك، قد يكون ملف libexanic.a library في /usr/lib/ أو في /usr/lib64/. وفيما يلي مثال على بنية وحدة معالجة مركزية (CPU) بسرعة x86 (32 بت):
[root@host ~]# ls /usr/lib/ | grep exanic libexanic.a
وفيما يلي مثال على بنية وحدة معالجة مركزية (CPU) بسرعة x86_64 (64 بت):
[root@host ~]# ls /usr/lib64/ | grep exanic libexanic.a
تأكد من وجود ملفات رؤوس مكتبة Nexus SmartNIC في دليل /usr/include/exanic/. وهذا موضح في المثال التالي:
[root@host ~]# ls /usr/include/exanic/ -1 config.h const.h exanic.h fifo_if.h fifo_rx.h fifo_tx.h filter.h firewall.h hw_info.h ioctl.h pcie_if.h port.h register.h time.h util.h
تأكد من وجود أدوات Nexus SmartNIC Binary Utilities في الدليل /usr/bin/. وهذا موضح في المثال التالي:
[root@host ~]# ls /usr/bin/ -1 | grep exanic- exanic-capture exanic-clock-check exanic-clock-sync exanic-config exanic-fwupdate
أخيرا، تأكد من أن ملف الوحدة النمطية exanic.ko.xz موجود في دليل /lib/modules/'uname -r/extra/extra. لاحظ أن الأمر المضمن 'uname -r' يقوم تلقائيا بإدراج إصدار kernel الحالي في الدليل. هذا الأمر محاط بعلامات تمييز خطيرة (')، وليس بعلامات اقتباس مفردة. وهذا موضح في المثال التالي:
[root@host ~]# ls /lib/modules/\`uname -r\`/extra/ | grep exanic exanic.ko.xz
كما هو موضح في دليل تثبيت برامج Nexus SmartNIC، يمكن إنشاء برامج تشغيل Nexus SmartNIC وتثبيتها من رمز المصدر. إذا قمت بتثبيت برامج تشغيل Nexus SmartNIC باستخدام هذه الطريقة، فيمكنك التحقق من تثبيت جميع الملفات بشكل صحيح كما هو موضح في الأمثلة الواردة هنا.
تأكد من أن ملف مكتبة libexanic.a موجود في الدليل /usr/local/lib/. وهذا موضح في المثال التالي:
[root@host ~]# ls /usr/local/lib/ | grep exanic libexanic.a
تأكد من وجود ملفات رؤوس مكتبة Nexus SmartNIC في دليل /usr/local/include/exexexexanic/. وهذا موضح في المثال التالي:
[root@host ~]# ls /usr/local/include/exanic/ -1 config.h const.h exanic.h fifo_if.h fifo_rx.h fifo_tx.h filter.h firewall.h hw_info.h ioctl.h pcie_if.h port.h register.h time.h util.h
تأكد من أن أدوات Nexus SmartNIC الثنائية موجودة في دليل /usr/local/bin/. وهذا موضح في المثال التالي:
[root@host ~]# ls /usr/local/bin -1 | grep exanic- exanic-capture exanic-clock-check exanic-clock-sync exanic-config exanic-fwupdate
وأخيرا، تأكد من أن ملف الوحدة النمطية exanic.ko موجود في دليل /lib/modules/'uname -r'/extra/. لاحظ أن الأمر المضمن 'uname -r' يقوم تلقائيا بإدراج إصدار kernel الحالي في الدليل. هذا الأمر محاط بعلامات تمييز خطيرة (')، وليس بعلامات اقتباس مفردة. وهذا موضح في المثال التالي:
[root@host ~]# ls /lib/modules/`uname -r`/extra | grep exanic exanic.ko
يمكن تحميل برنامج تشغيل برنامج Nexus SmartNIC يدويا باستخدام الأمر modeProbe exanic.
إذا تم تحميل برامج تشغيل Nexus SmartNIC، فإن نواة Linux ستتعرف عليه كجهاز. يمكنك التحقق من ذلك باستخدام الأمر ls /dev/exanic*، الذي سيظهر جميع أجهزة Nexus SmartNIC المعروفة. وهذا موضح في المثال التالي:
[root@host ~]# ls /dev/exanic* /dev/exanic0
إذا لم يتم تحميل برامج تشغيل Nexus SmartNIC بنجاح، فقد يرجع الأمر modeProbe exanic خطأ أو قد لا يرجع خطأ. توضح الأقسام الفرعية أدناه كيفية أستكشاف الأخطاء وإصلاحها التي تم إرجاعها بواسطة هذا الأمر.
من المحتمل أن تحدث رسالة الخطأ هذه بسبب مشكلتين مختلفتين تم وصفهما في الأقسام الفرعية أدناه.
يتعذر على نظام التشغيل المضيف تحديد موقع الوحدة التي تم إنشاؤها ل kernel الجاري تشغيله حاليا. ونتيجة لذلك، يتعذر على نظام التشغيل المضيف تحميل الوحدة النمطية في النظام باستخدام الأمر modeProbe. يمكن حل هذا الأمر باستخدام الأمر depmod -a، والذي سيقوم بإنشاء خريطة لتبعيات وحدات kernel النمطية. بعد ذلك يمكن تحميل وحدة kernel باستخدام الأمر modeProbe exanic.
يسمح DKMS (دعم وحدة Kernel الديناميكية) بإعادة إنشاء وحدات Kernel تلقائيا عند تثبيت نواة نظام تشغيل جديدة. إذا لم تقم DKMS ببناء وحدة Nexus SmartNIC Kernel النمطية، فمن الممكن أن تكون وحدة Nexus SmartNIC kernel قد تم تجميعها مسبقا للحصول على إصدار kernel مختلف لنظام التشغيل.
لكي يعمل نظام إدارة المفاتيح والفيديو والماوس كما هو متوقع، يجب تثبيت حزم Kernel-devel و kernel-head باستخدام مدير حزمة نظام التشغيل المضيف. يتم عرض مثال حول كيفية تأكيد ما إذا كانت هذه الحزمة مثبتة باستخدام أمر قائمة yum في الإخراج هنا:
[root@host ~]$ yum list kernel-devel Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.internode.on.net * epel: ucmirror.canterbury.ac.nz * extras: mirror.internode.on.net * updates: centos.mirror.serversaustralia.com.au Installed Packages kernel-devel.x86_64 3.10.0-1062.el7 @base kernel-devel.x86_64 3.10.0-1062.12.1.el7 @updates [root@host ~]$ yum list kernel-headers Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.internode.on.net * epel: ucmirror.canterbury.ac.nz * extras: mirror.internode.on.net * updates: centos.mirror.serversaustralia.com.au Installed Packages kernel-headers.x86_64 3.10.0-1062.12.1.el7 @updates
ارجع إلى دليل مدير حزمة نظام التشغيل المضيف للتحقق من كيفية تحديد ما إذا تم تثبيت حزمة معينة أم لا.
يمكنك تأكيد ما إذا كانت وحدة Nexus SmartNIC kernel النمطية التي تمت إضافتها وإنشاؤها وتثبيتها بنجاح بواسطة DKMS باستخدام الأمر dkms status. يتم عرض مثال على إخراج هذا الأمر في حالة العمل، المتوقعة هنا:
[root@host ~]# dkms status exanic, 2.4.1-1.el8, 3.10.0-957.27.2.el7.x86_64, x86_64: installed
إذا أظهر هذا الإخراج أن وحدة نواة Nexus SmartNIC في حالة غير "المثبتة"، فسيحتاج المرء إما إلى إنشاء وحدة نواة Nexus SmartNIC أو تثبيتها باستخدام DKMS.
إذا تمت إضافة وحدة Nexus SmartNIC Kernel ولكن لم يتم إنشاؤها، فاستخدم الأمر dkms build -m exanic -v {version} لإنشاء وحدة Nexus SmartNIC kernel. يتم عرض مثال على هذا الأمر هنا مع إصدار البرنامج 2.4.1-1.el7:
[root@host ~]$ dkms build -m exanic -v 2.4.1-1.el7 Kernel preparation unnecessary for this kernel. Skipping... Building module: cleaning build area... make -j16 KERNELRELEASE=3.10.0-1062.el7.x86_64 -C modules KDIR=/lib/modules/3.10.0-1062.el7.x86_64/build... cleaning build area... DKMS: build completed.
إذا تم إنشاء وحدة Nexus SmartNIC Kernel ولم يتم تثبيتها، أستخدم الأمر dkms install -m exanic -v {version} لتثبيت وحدة Nexus SmartNIC kernel النمطية. يتم عرض مثال على هذا الأمر هنا مع إصدار البرنامج 2.4.1-1.el7:
[root@host ~]$ dkms install -m exanic -v 2.4.1-1.el7 exanic.ko.xz: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/3.10.0-1062.el7.x86_64/extra/ exasock.ko.xz: Running module version sanity check. - Original module - No original module exists within this kernel - Installation - Installing to /lib/modules/3.10.0-1062.el7.x86_64/extra/ Adding any weak-modules depmod... DKMS: install completed.
بعد إنشاء وحدة Nexus SmartNIC Kernel وتثبيتها مع DKMS، يمكن تحميل وحدة Nexus SmartNIC Kernel بواسطة الأمر modeProbe.
يمكن ملاحظة رسالة الخطأ هذه على الأجهزة المضيفة المزودة ببرامج ثابتة UEFI (واجهة البرامج الثابتة الموحدة القابلة للامتداد) التي تم تمكين بروتوكول التمهيد الآمن عليها. يمنع "التمهيد الآمن" برامج تشغيل kernel التي لم يتم توقيعها بتوقيع رقمي مقبول من التحميل. ونتيجة لذلك، عند محاولة تحميل برنامج تشغيل نواة Nexus SmartNIC باستخدام الأمر modeProbe exanic، يمنع بروتوكول التمهيد الآمن برنامج تشغيل kernel من التحميل.
لحل هذه المشكلة، يلزم تعطيل بروتوكول التمهيد الآمن داخل UEFI الخاص بالمضيف. للحصول على معلومات إضافية حول كيفية تعطيل بروتوكول التمهيد الآمن داخل UEFI الخاص بمضيفك، راجع الدليل الخاص بمضيفك الذي توفره الشركة المصنعة.
يمكن إستخدام الأمر exanic-config الذي لا يحتوي على وسيطات لعرض المعلومات الأساسية حول بطاقات واجهة شبكة Nexus SmartNIC المثبتة على الجهاز المضيف بعد تحميل برامج تشغيل نواة Nexus SmartNIC في نظام التشغيل. هنا مثال على هذا المخرج:
[root@host ~]$ exanic-config
Device exanic1:
Hardware type: ExaNIC X10
Temperature: 38.8 C VCCint: 0.95 V VCCaux: 1.83 V
Function: network interface
Firmware date: 20180409 (Mon Apr 9 23:27:40 2018)
PPS port: input, termination disabled
Port 0:
Interface: enp175s0
Port speed: 10000 Mbps
Port status: enabled, SFP present, signal detected, link active
MAC address: 64:3f:5f:xx:xx:xx
RX packets: 11778 ignored: 0 error: 0 dropped: 0
TX packets: 11836
Port 1:
Interface: enp175s0d1
Port speed: 10000 Mbps
Port status: enabled, SFP present, signal detected, link active
MAC address: 64:3f:5f:xx:xx:xx
RX packets: 11836 ignored: 0 error: 0 dropped: 0
TX packets: 11778
إذا كان الأمر/الأداة المساعدة exanic-config ترجع بالمعلومات ذات الصلة حول بطاقات واجهة شبكة Nexus SmartNIC المثبتة، فإن تثبيت أجهزة Nexus SmartNIC وبرامج تشغيل البرامج كان ناجحا.