مقدمة
مع برنامج Udev وبرامج تشغيل الشبكة النمطية، لا يكون ترقيم واجهة الشبكة مستمرا عبر عمليات إعادة التمهيد بشكل افتراضي. وهذا يرجع إلى تحميل برامج التشغيل بالتوازي وبالتالي تظهر أجهزة الشبكة بالترتيب العشوائي.
على سبيل المثال: على الكمبيوتر الذي يحتوي على بطاقتي شبكة صنعتهما Intel و Realtek، يمكن أن تصبح بطاقة الشبكة التي تصنعها Intel ETH0
وتصبح بطاقة Realtek ETH1
في بعض الحالات، بعد إعادة التشغيل، يعاد ترقيم البطاقات في الإتجاه الآخر. ولتجنب ذلك، يرد على Udev نص تنفيذي وبعض القواعد لتعيين أسماء مستقرة لبطاقات الشبكة استنادا إلى عنوان MAC الخاص بها
المشكلة
قد لا تتصل وحدة تحكم التخزين HyperFlex VM (SCVM) بالشبكة بعد إجراء تغييرات في ملف VMX (على سبيل المثال، معلمة uid.bios) بعد إعادة التمهيد نظرا لأنه يتم تشويش عناوين MAC الخاصة بها في الملف 70-persistent-net.rules
الحل
الخطوة 1: تعيين حقل ATTR{address} بحقل الاسم
SSH إلى SCVM
اكتب cat /etc/udev/rules.d/70-persistent-net.rules
root@SpringpathControllerABCDE01234:~# cat /etc/udev/rules.d/70-persistent-net.rules
# This file has been auto-generated during Springpath controller deployment.
SUBSYSTEM=="net" ACTION=="add" ATTR{address}=="00:50:56:8b:af:33" ATTR{dev_id}=="0x0" ATTR{type}=="1" NAME="mgmt-if"
SUBSYSTEM=="net" ACTION=="add" ATTR{address}=="00:50:56:8b:ac:45" ATTR{dev_id}=="0x0" ATTR{type}=="1" NAME="data-if"
SUBSYSTEM=="net" ACTION=="add" ATTR{address}=="00:50:56:8b:cf:00" ATTR{dev_id}=="0x0" ATTR{type}=="1" NAME="repl-if"
الخطوة 2: أدخل إعدادات SCVM VM
تسجيل الدخول إلى vCenter
تحديد موقع SCVM
انقر بزر الماوس الأيمن وحدد تحرير الإعدادات...
الخطوة 3a: التعرف على عناوين MAC لمهايئ شبكة SCVM من إعدادات vCenter
في نافذة تحرير الإعدادات، قم بتمديد كل محولات الشبكة وملاحظة عناوين MAC الخاصة بها
الخطوة 3b: التعرف على عناوين MAC لمهايئ شبكة SCVM من طبقة SCVM.
من إصدار طبقة SCVM "ifconfig -a". يشير0 إلى واجهة شبكة الإدارة، و eth1 إلى واجهة شبكة تخزين البيانات و eth1 يشير إلى واجهة شبكة النسخ المتماثل. دون عناوين MAC هذه.
root@help:~# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:50:56:8b:ae:b7 <<<< mgmt-if
inet addr:10.197.252.81 Bcast:10.197.252.95 Mask:255.255.255.224
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2919331 errors:0 dropped:77 overruns:0 frame:0
TX packets:1186365 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:912923504 (912.9 MB) TX bytes:1169716469 (1.1 GB)
eth1 Link encap:Ethernet HWaddr 00:50:56:8b:bd:41 <<<< data-if
inet addr:10.197.252.100 Bcast:10.197.252.127 Mask:255.255.255.224
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:152529984 errors:0 dropped:416 overruns:0 frame:0
TX packets:132458793 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:242676663088 (242.6 GB) TX bytes:224531042730 (224.5 GB)
...
eth2 Link encap:Ethernet HWaddr 00:50:56:8b:cf:f3 <<< repl-if
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:1671340 errors:0 dropped:131 overruns:0 frame:0
TX packets:3340062 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:164403101 (164.4 MB) TX bytes:300665525 (300.6 MB)
...
الخطوة 4: قم بتحديث شبكة 70-متواصلة.rules باستخدام عناوين MAC من الخطوة السابقة
النوع vi /etc/udev/rules.d/70-persistent-net.rules
قم بإدخال عناوين MAC من الخطوة السابقة في قسم ATTR{address} وحفظ التغييرات
root@SpringpathControllerABCDE01234:~# vi /etc/udev/rules.d/70-persistent-net.rules
# This file has been auto-generated during Springpath controller deployment.
SUBSYSTEM=="net" ACTION=="add" ATTR{address}=="00:50:56:8b:ae:b7" ATTR{dev_id}=="0x0" ATTR{type}=="1" NAME="mgmt-if"
SUBSYSTEM=="net" ACTION=="add" ATTR{address}=="00:50:56:8b:bd:41" ATTR{dev_id}=="0x0" ATTR{type}=="1" NAME="data-if"
SUBSYSTEM=="net" ACTION=="add" ATTR{address}=="00:50:56:8b:cf:f3" ATTR{dev_id}=="0x0" ATTR{type}=="1" NAME="repl-if"
الخطوة 5: إعادة تمهيد SCVM
اكتب reboot لإعادة تشغيل SCVM
بمجرد ظهور جهاز SCVM مرة أخرى، يجب أن يكون قادرا على الاتصال بالشبكة بشكل صحيح
root@SpringpathControllerABCDE01234:~# reboot