المقدمة
يصف هذا المستند معلومات حول كيفية تكوين LACP باستخدام NetPlan على خادم C885A-M8.
معلومات أساسية
من وحدة التحكم في إدارة اللوحة الأساسية (BMC)، لا يمكن إجراء أي تعديل على جانب الشبكة، يلزم إجراء جميع التغييرات من ضيف نظام التشغيل.
المتطلبات الأساسية
المكونات المستخدمة
خادم UCS C885a M8 المثبت على حامل
معرف العملية: UCSC-885A-M8-H11
إصدار البرامج الثابتة: 1.0.28
المحولات Nexus 9k
Ubuntu 22.04.5 LTS
بطاقات الشبكة المستخدمة
محرك أقراص ثابتة BlueField-3 P-Series DPU بسرعة 400 جيجابت إيثرنت/بطاقة واجهة الشبكة (NDR) ثنائي المنافذ
بطاقة الواجهة BlueField-3 E-Series SuperNIC 400GbE/NDR أحادية المنفذ
مهايئ شبكة الإيثرنت Intel(R) Ethernet Network Adapter X710-T2L ل OCP 3.0
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
التحقق من أن NIC ليس في وضع DPU
لضمان الوظائف المناسبة، تحقق من أن بطاقة واجهة الشبكة (NIC) ليست في وضع DPU. بروتوكول التحكم في تجميع الارتباطات (LACP) غير مدعوم عندما تكون بطاقة واجهة الشبكة (NIC) في وضع DPU. إن أمكن، قم بتحويلها إلى صيغة NIC.
الخطوة 1: تحديد عناوين PCIe
قم بتشغيل الأمر لسرد عناوين PCIe للمنافذ المطلوبة:
cisco-tac@C885A-M8:~$ sudo mst start
Starting MST (Mellanox Software Tools) driver set
Loading MST PCI module - Success
Loading MST PCI configuration module - Success
Create devices
Unloading MST PCI module (unused) - Success
ملاحظة: هذا غير مطلوب ولكن يمكن أن يساعد في تعيين الجهاز الصحيح عند إجراء التغييرات باستخدام mlxconfig
cisco-tac@C885A-M8:~$ sudo mst status -v
MST modules:
------------
MST PCI module is not loaded
MST PCI configuration module loaded
PCI devices:
------------
DEVICE_TYPE MST PCI RDMA NET NUMA
BlueField3(rev:1) /dev/mst/mt41692_pciconf9 f1:00.0 mlx5_6 net-ens205f0 1
BlueField3(rev:1) /dev/mst/mt41692_pciconf8 c5:00.0 mlx5_7 net-ens206f0 1
BlueField3(rev:1) /dev/mst/mt41692_pciconf7 a4:00.0 mlx5_11 net-ens208f0 1
BlueField3(rev:1) /dev/mst/mt41692_pciconf6 97:00.0 mlx5_10 net-ens207f0 1
BlueField3(rev:1) /dev/mst/mt41692_pciconf5.1 91:00.1 mlx5_9 net-ens214f1np1 1
BlueField3(rev:1) /dev/mst/mt41692_pciconf5 91:00.0 mlx5_8 net-ens214f0np0 1
BlueField3(rev:1) /dev/mst/mt41692_pciconf4 69:00.0 mlx5_0 net-ens202f0 0
BlueField3(rev:1) /dev/mst/mt41692_pciconf3 4b:00.0 mlx5_3 net-ens201f0 0
BlueField3(rev:1) /dev/mst/mt41692_pciconf2.1 45:00.1 mlx5_2 net-ens214f1np1 0
BlueField3(rev:1) /dev/mst/mt41692_pciconf2 45:00.0 mlx5_1 net-ens211f0np0 0
BlueField3(rev:1) /dev/mst/mt41692_pciconf1 2b:00.0 mlx5_5 net-ens203f0 0
BlueField3(rev:1) /dev/mst/mt41692_pciconf0 09:00.0 mlx5_4 net-ens204f0 0
يوفر هذا الأمر قائمة مفصلة بالأجهزة، مما يتيح لك التعرف على معرفات MST و PCI المناسبة.
في هذا السيناريو، يتم إستخدام NET net-ens214f1np1 و NET net-ens211f0np0.
الخطوة 2: تدقيق تشكيل nic
باستخدام MST أو معرف PCI المحدد، تحقق من تكوين NIC الحالي باستخدام أحد الأوامر:
sudo mlxconfig -d 0000:<PCI_ID> -e q | grep 'INTERNAL_CPU_MODEL\|EXP_ROM_UEFI_ARM_ENABLE\|INTERNAL_CPU_OFFLOAD_ENGINE'
أو
sudo mlxconfig -d /dev/<MST_DEVICE> -e q | grep 'INTERNAL_CPU_MODEL\|EXP_ROM_UEFI_ARM_ENABLE\|INTERNAL_CPU_OFFLOAD_ENGINE'
cisco-tac@C885A-M8:~$ sudo sudo mlxconfig -d dev/mst/mt41692_pciconf1 -e q | grep \ 'INTERNAL_CPU_MODEL\|EXP_ROM_UEFI_ARM_ENABLE\|INTERNAL_CPU_OFFLOAD_ENGINE'
Configurations: Default Current Next Boot
INTERNAL_CPU_MODEL EMBEDDED_CPU(1) EMBEDDED_CPU(1) EMBEDDED_CPU(1)
INTERNAL_CPU_OFFLOAD_ENGINE ENABLED(0) ENABLED(0) ENABLED(0)
EXP_ROM_UEFI_ARM_ENABLE True(1) True(1) True(1)
ملاحظة: يؤكد لنا نموذج وحدة المعالجة المركزية (CPU) ومعيار ARM UEFI لمتغيرات التمكين أن البطاقة قادرة على وضع DPU
في المثال أعلاه:
تم تعيين Internal_CPU_SHUTDOWN_ENGINE إلى Enabled\(0\) لتكوينات التمهيد الحالية والتالية.
وهذا يشير إلى أن بطاقة واجهة الشبكة (NIC) قيد التشغيل حاليا في وضع DPU ويلزم تحويلها إلى وضع بطاقة واجهة الشبكة (NIC) لمتابعة تكوين LACP.
الخطوة 3: تحويل إلى صيغة NIC
لتحويل NIC إلى صيغة NIC، قم بإصدار الأمر:
sudo mlxconfig -d 0000:<PCI_ID> s INTERNAL_CPU_OFFLOAD_ENGINE=0
cisco-tac@C885A-M8:~$ sudo mlxconfig -d 0000:45:00.0 s INTERNAL_CPU_OFFLOAD_ENGINE=0
Device #1:
----------
Device type: BlueField3
Name: 900-9D3B6-00SN-A_Ax
Description: NVIDIA BlueField-3 B3240 P-Series Dual-slot FHHL DPU; 400GbE / NDR IB (default mode); Dual-port QSFP112; PCIe Gen5.0 x16 with x16 PCIe extension option; 16 Arm cores; 32GB on-board DDR; integrated BMC; Crypto Disabled
Device: 0000:45:00.0
Configurations: Next Boot New
INTERNAL_CPU_OFFLOAD_ENGINE ENABLED(0) DISABLED(1)
Apply new Configuration? (y/n) [n] : y
Applying... Done!
-I- Please reboot machine to load new configurations.
cisco-tac@C885A-M8:~$ sudo init 0
ملاحظة: باستخدام Sudo init 0، قم بإيقاف تشغيل المضيف لضمان تحميل التكوين بشكل صحيح.
الخطوة 4: إعادة التمهيد والتحقق من التكوين
بعد تنفيذ أمر Sudo init 0، سيقوم النظام المضيف بإيقاف التشغيل. أستخدم وحدة التحكم في إدارة اللوحة الأساسية (BMC) لإعادة تشغيل نظام تشغيل المضيف.
بمجرد عودة النظام إلى الاتصال، تحقق من تطبيق تغييرات التكوين بنجاح من خلال تشغيل نفس أوامر التحقق من الصحة كما هو موضح مسبقا:
sudo mlxconfig -d 0000:<PCI_ID> -e q | grep 'INTERNAL_CPU_MODEL\|EXP_ROM_UEFI_ARM_ENABLE\|INTERNAL_CPU_OFFLOAD_ENGINE'
أو
sudo mlxconfig -d /dev/<MST_DEVICE> -e q | grep 'INTERNAL_CPU_MODEL\|EXP_ROM_UEFI_ARM_ENABLE\|INTERNAL_CPU_OFFLOAD_ENGINE'
إذا تم تطبيق التكوين بنجاح، يمكنك المتابعة بإنشاء تكوين قناة المنفذ، أو السند، أو مجموعة تجميع الارتباطات (LAG) المطلوب.
تكوين LACP
الخطوة 1: إنشاء ملف تكوين NetPlan جديد
إن المعيار الحالي لتكوين الواجهات على Ubuntu هو NetPlan. للبدء، تحقق من ملفات تكوين NetPlan YAML الموجودة عن طريق التشغيل:
ls /etc/netplan/
بشكل افتراضي، يكون هناك ملف YAML واحد فقط في الدليل /etc/netplan/. تستخدم ملفات تكوين NetPlan اصطلاح التسمية ##-<related name>.yaml، حيث يكون ## رقما بين 01 و 99. ضع في الاعتبار أن ملفات التكوين ذات الأرقام المنخفضة يتم الكتابة فوقها بملفات ذات أرقام أعلى إذا كان هناك تعارضات.
للتأكد من أن التغييرات التي قمت بها مستمرة ومنظمة، يوصى بإنشاء ملف YAML جديد بدلا من تحرير الملف الافتراضي. إذا قمت بتعديل الملف الافتراضي، فسيكون هناك خطر من أن التغييرات لا تستمر بعد إعادة التشغيل. لهذا الدليل، سنقوم بإنشاء ملف جديد مسمى
51-lacp-config.yaml.
لإنشاء الملف الجديد، أستخدم الأمر:
sudo nano /etc/netplan/51-lacp-config.yaml
تأكد من أن ترقيم ملفاتك لا يتعارض مع الملفات الموجودة واستخدم التسلسل الهيكلي المناسب لتجنب أي سلوك غير متوقع.
هذا مثال على ملف تكوين NetPlan YAML (51-lacp-config.yaml) لإعداد LACP باستخدام شبكات VLAN.
cisco-tac@C885A-M8:~$ cat /etc/netplan/51-lacp-config.yaml
network:
ethernets:
ens211f0np0:
mtu: 9000
ens211f1np1:
mtu: 9000
bonds:
bond0:
mtu: 9000
dhcp4: false
dhcp6: false
interfaces:
- ens211f0np0
- ens211f1np1
parameters:
mode: 802.3ad
mii-monitor-interval: 100
vlans:
bond0.2001:
id: 2001
link: bond0
القيمة |
إعتبار |
ملاحظات |
إعدادات MTU |
بالنسبة إلى ens211f0np0 و ens211f1np1، يتم تعيين MTU على 9000. |
يوصى بتعيين وحدة الحد الأقصى للنقل (MTU) إلى أعلى قيمة مطلوبة لتجنب المشاكل المحتملة لوحدة الحد الأقصى للنقل (MTU) في المستقبل. تحديد وحدة الحد الأقصى للنقل (MTU) دائما كلما ذكرت واجهة |
وضع LACP |
تم تعيين معلمة الوضع على 802.3ad |
هذا هو الوضع المطلوب ل LACP. توجد أوضاع ربط أخرى ولكنها غير مناسبة ل LACP |
VLAN تشكيل |
ينشئ قسم Bond0.2001 واجهة فرعية لإرسال شبكات VLAN متعددة من خلال السندات. يعين ال id مجال ال VLAN id (في هذه الحالة، 2001). يربط حقل الارتباط الواجهة الفرعية بالواجهة الموحدة (bond0) |
إذا كان لديك روابط متعددة في ملف YAML نفسه، فهذا يضمن تطبيق التكوين الصحيح على السندات الصحيحة |
عنوان IP والمسارات |
يحدد حقل العناوين عنوان IP وقناع الشبكة الفرعية لشبكة VLAN (على سبيل المثال، 10.10.200.33/27) |
يسمح لك قسم المسارات بتعريف أي مسارات تقوم هذه الواجهة بمعالجتها. على الرغم من أن المثال يتضمن المسار ل 10.10.200.32/27، إلا أنه متكرر في إعداد هذا المختبر ولكنه يوضح كيفية إضافة مسارات متعددة |
خوادم DNS |
يسمح لك قسم خوادم الأسماء بتحديد خوادم DNS (العناوين) ونطاقات البحث (البحث) |
الحاجة إلى توفير تفاصيل خادم DNS استنادا إلى بيئة العمل. |
MTU لشبكة VLAN |
ثبتت ال MTU مجال في ال VLAN تشكيل إلى 9000 |
يمكنك تكوين قيم MTU مختلفة لكل شبكة محلية ظاهرية (VLAN) عند الحاجة |
حقل الإصدار |
يمكن تضمين حقل الإصدار في نهاية الملف وإعداده على 2 |
تأكد من أن هذا تم تقسيمه إلى مسافات بادئة مع فضاءتين للحفاظ على بناء جملة YAML |
الخطوة 2: تطبيق التكوين
لتطبيق التكوين الجديد، قم بتشغيل:
sudo netplan apply
إذا واجهت تحذيرات الأذونات، قم بضبط أذونات الملف:
sudo chmod 600 /etc/netplan/51-lacp-config.yaml
sudo netplan apply
cisco-tac@C885A-M8:~$ sudo netplan apply
** (generate:140701): WARNING **: 17:10:58.313: Permissions for /etc/netplan/51-lacp-config.yaml are too open. Netplan configuration should NOT be accessible by others.
cisco-tac@C885A-M8:~$ ls -l /etc/netplan/
total 16
-rw------- 1 root root 869 Apr 24 14:26 50-cloud-init.yaml
-rw-r--r-- 1 root root 586 Apr 25 17:10 51-lacp-config.yaml
cisco-tac@C885A-M8:~$ sudo chmod 600 /etc/netplan/51-lacp-config.yaml
cisco-tac@C885A-M8:~$ ls -l /etc/netplan/
total 16
-rw------- 1 root root 869 Apr 24 14:26 50-cloud-init.yaml
-rw------- 1 root root 586 Apr 25 17:10 51-lacp-config.yaml
cisco-tac@C885A-M8:~$ sudo netplan apply
التحقق من الصحة
بعد تطبيق تكوين NetPlan وإعادة تشغيل النظام، تأكد من أن إعداد LACP يعمل كما هو متوقع باستخدام الأوامر.
1. التحقق من تفاصيل واجهة الشبكة
أستخدم هذا الأمر لعرض حالة واجهات الشبكة:
cisco-tac@C885A-M8:~$ip link show
4: ens211f0np0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 9000 qdisc mq master bond0 state UP mode DEFAULT group default qlen 1000
link/ether 86:a2:e3:01:3d:f2 brd ff:ff:ff:ff:ff:ff permaddr 5c:25:73:3a:9a:fc
altname enp69s0f0np0
5: ens211f1np1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 9000 qdisc mq master bond0 state UP mode DEFAULT group default qlen 1000
link/ether 86:a2:e3:01:3d:f2 brd ff:ff:ff:ff:ff:ff permaddr 5c:25:73:3a:9a:fd
altname enp69s0f1np1
تأكد من أن الواجهات (ens211f0np0 و ens211f1np1) تعرض:
- مجموعة رئيسية إلى bond0، تؤكد أنها تنتمي إلى الواجهة الموحدة.
- حالة UP، مما يؤكد أن الواجهات نشطة.
- تأكد من تعيين قيمة MTU على 9000 كما هو محدد في ملف YAML.
- تحقق من أن كلا الواجهات تحتوي على عناوين أجهزة صالحة (permaddr).
2. تأكيد تفاصيل الربط
أستخدم هذا الأمر لعرض تكوين الربط وضمان الوظائف المناسبة ل LACP:
cisco-tac@C885A-M8:~$cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v5.15.0-141-generic
Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2 (0)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Peer Notification Delay (ms): 0
802.3ad info
LACP active: on
LACP rate: slow
Min links: 0
Aggregator selection policy (ad_select): stable
Slave Interface: ens211f1np1
MII Status: up
Speed: ****** Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 5c:25:73:3a:9a:fd
Slave queue ID: 0
Aggregator ID: 1
Actor Churn State: none
Partner Churn State: none
Actor Churned Count: 0
Partner Churned Count: 0
Slave Interface: ens211f0np0
MII Status: up
Speed: ****** Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 5c:25:73:3a:9a:fc
Slave queue ID: 0
Aggregator ID: 1
Actor Churn State: none
Partner Churn State: none
Actor Churned Count: 0
Partner Churned Count: 0
تأكد من ضبط وضع الربط على تجميع الروابط الديناميكية وفقا لمعيار IEEE 802.3ad:
- LACP نشط: قيد التشغيل يشير إلى تمكين LACP.
- معدل LACP: بطيء يعكس معدل LACP الذي تم تكوينه، رغم أنه يمكن أن يختلف بناء على الإعداد.
- التحقق من واجهات Slave: يمكن أن يظهر كل من ens211f0np0 و ens211f1np1 كواجهات تابع تحت الرابط.
- حالة MII: يؤكد up أن الارتباطات نشطة.
- يجب أن تتطابق قيم عنوان الجهاز الدائم مع عناوين الأجهزة الخاصة بالواجهات المقابلة.
- تأكد من أن كلا واجهات الخادم هي جزء من معرف المجمع نفسه (على سبيل المثال، معرف المجمع: 1).
استكشاف الأخطاء وإصلاحها
إذا لم تتطابق نتائج التحقق من الصحة مع التوقعات:
- تحقق من ملف تكوين Netplan YAML بحثا عن أخطاء أو معلمات مفقودة.
- تأكد من دعم بروتوكول LACP وتكوينه بشكل مناسب على محول البث.
- تأكد من أن الأمر sudo netplan يتم تطبيقه بنجاح
ورقة بيانات خادم Cisco UCS C885a M8 المثبت على حامل
ورقة مواصفات الخادم المزود بحامل UCS C885a M8