CentOS 7 या RHEL 7 के लिए नेटवर्क इंटरफेस नाम 'eno16777736' में eno का क्या मतलब है?


16

सुसंगत नेटवर्क डिवाइस नामकरण योजना के तहत, eno16777736CentOS 7 या RHEL 7 के लिए नेटवर्क इंटरफ़ेस नाम में 'eno' क्या है ?

जवाबों:


23

यह एक्शन में प्रिडिक्टेबल नेटवर्क इंटरफेस डिवाइस नाम है।

  • en ईथरनेट के लिए है
  • o ऑन-बोर्ड के लिए है
  • संख्या एक फर्मवेयर / BIOS प्रदान किया गया सूचकांक है।

Udev-buildin-net_id.c के स्रोत में अधिक जानकारी


18

हममम। "एन" और "ओ" से अधिक, मैं "16777736" के बारे में अधिक चिंतित हूं।

जब तक, आप गलती से Google में भटक गए, और खुद को एक कस्टम पीसीआई आर्किटेक्चर के साथ सर्वर पर बैठे पाया, मैं वास्तव में नहीं देखता कि 16777736 एक संभावित मूल्य कैसे हो सकता है। यह अधिक गंभीर समस्या का संकेत हो सकता है।

वर्तमान स्कीमा के तहत, एक सिस्टम 256 पीसीआई बसों को संबोधित करने में सक्षम नहीं होगा (प्रत्येक डिवाइस के तहत 32 डिवाइस और प्रत्येक डिवाइस के तहत अधिकतम 8 फ़ंक्शन)। इसे बस: डिवाइस.फंक्शन एड्रेसिंग के नाम से भी जाना जाता है। आधुनिक सिस्टम डोमेन का उपयोग करते हैं: बस: डिवाइस। 256 बस की सीमा से अधिक प्राप्त करने के लिए डिवाइस। लेकिन फिर भी, अपनी समस्या को वापस पाने ...

क्या आप ऐसा कर सकते हैं:

ls -la /sys/class/net | grep eno16777736

यदि आपको कुछ समान दिखाई देता है:

eno16777736 -> ../.../devices/pci0000:00/0000:00:11.0/0000:1000208:01.0/net/eno16777736

तब मैं सुझाव देता हूं कि Google द्वारा आपके सर्वर के साथ खेलने से पहले आप उसे तेजी से चलाएं।

/(0000:1000208:01.0)/ ऊपर डोमेन है: बस: डिवाइस। बस का मान "1000208" के साथ संपर्क पता, 16777736 का हेक्साडेसिमल प्रतिनिधित्व होने के नाते। हालांकि, "0x100" (256) का अधिकतम मूल्य होना चाहिए। कि आप "बस" के लिए हो सकते हैं।

दूसरी ओर यदि आपको "बस" के लिए 0x100 से नीचे का मान मिलता है, जैसे:

eno16777736 -> ../.../devices/pci0000:00/0000:00:11.0/0000:1c:01.0/net/eno16777736

फिर, मुझे लगता है कि समस्या यह होगी कि आपका बायोस / फ़र्मवेयर स्टार्टअप पर udev (systemd) को सूचना कैसे भेज रहा है। संभावित कारण का पता लगाने के लिए, पहले उन मूल्यों की जांच करें, जो udv को वापस मिल रहा है।

आम तौर पर पिन बनाने के लिए तीन स्थान udev क्वेरी हैं (प्रीडिक्टेबल इंटरफ़ेस नेम)

  1. ACPI_DSM
  2. SMBIOS टेबल [विशेष रूप से रिकॉर्ड प्रकार "स्लॉट" [९], और टाइप ४१]
  3. PCI IRQ रूटिंग टेबल

[उस क्रम में]

हम परीक्षण कर सकते हैं (1) द्वारा:

udevadm info --path=/sys/class/net/eno16777736 --attribute-walk | grep acpi

यदि यह आपको 16777736 देता है, तो सबसे अधिक संभावना है कि आपका सिस्टम PCI फर्मवेयर स्पेसिफिकेशन 3.1 का समर्थन नहीं करता है, जिसे ACPI_DSM का समर्थन करने की आवश्यकता है

इसलिए हमें अब परीक्षण (2) करना है। तो SMBIOS तालिका में रिकॉर्ड प्रकार 41 को पहले चेक करें (प्रकार 41 सबसे अधिक प्रासंगिक है):

dmidecode -t 41 | more

यदि कुछ नहीं दिखाता है, या SMBIOS संस्करण कम है कि "2.62" तो इसका मतलब है कि udv पिन बनाने के लिए PCI IRQ रूटिंग टेबल पर निर्भर करेगा।

इसलिए हमें जांच करनी चाहिए (3)

biosdecode

अपनी अधिकतम स्लॉट प्रविष्टि पर पूरा ध्यान दें ... यह फॉर्म का होना चाहिए:

Slot Entry X: ID 00:00, (slot number X| status)

यदि X 25 वर्ष का है, तो तर्क के लिए, आपका NIC 25 से कम या उसके बराबर स्लॉट पर होना चाहिए। यदि नहीं, तो udv 16777736 के प्लेसहोल्डर मान का संदर्भ देता रहेगा।

ज्यादातर मामलों में, आप अपने निक के स्लॉट नंबर की जांच कर सकते हैं:

lspci -bv | grep -i -A10 ether

और फिर से ज्यादातर मामलों में, बीडीएफ (बस: डिवाइस.फंक्शन) में, डिवाइस को भौतिक पोर्ट संख्या (हेक्स से दशमलव में परिवर्तित करने के बाद) के बराबर होना चाहिए। अन्य मामलों में (जहां यह नहीं होता है), lspci ऊपर दिए गए lspci कमांड को निष्पादित करने के आउटपुट में एक अलग लाइन पर भौतिक स्लॉट को सूचीबद्ध करेगा।

इसलिए यदि सूचीबद्ध भौतिक स्लॉट संख्या X (हमारी पीसीआईआर आईआरक्यू रूटिंग टेबल में पाई गई अधिकतम संख्या) से अधिक है, तो हमने समस्या को अलग-थलग कर दिया है।

5 संभावित उपाय हैं जो मैं इस मामले में सोच सकता हूं ...

  1. कर्नेल हैकिंग ... एक नए PCI IRQ रूटिंग टेबल के साथ कर्नेल का पुनर्निर्माण करें। /Arch/x86/pci/irq.c पर एक नज़र डालें

[यह आई-नीड-टू-ढूंढ-बेहतर-उपयोग-मेरे-समय समाधान है]

  1. एक नया नियम बनाकर डिवाइस को एक अलग नाम पर मैप करें

द्वारा:

vi /etc/udev/rules.d/70-my-net-names.rules

फिर निम्नलिखित जोड़ें:

ACTION=="add", SUBSYSTEM=="net", ENV{ID_BUS}=="pci", 
KERNELS=="{Domain:Bus:Device.Function}", NAME="{name: i.e. eno1 or eth0}" 

[मैं इसे लेट-यूज़-ए-द-प्रॉब्लम-एंड-जस्ट-मेक-थिंग्स-लुक-सुंदर समाधान कहता हूं]

  1. आप पूरी तरह से सुविधा को अक्षम करने के लिए कर्नेल बूट विकल्पों में net.ifnames = 0 जोड़ सकते हैं

[यह निश्चित रूप से इफ-इट-इस-ब्रेक-टर्न-इट-ऑफ-एंड-रो-इन-सॉलिट्यूड सॉल्यूशन है] (वास्तव में समाधान नहीं) ...

  1. और यदि आप एक VM ... VMWare / VirtualBox, आदि चला रहे हैं ... कॉन्फ़िगरेशन फ़ाइल खोलें और X के नीचे कुछ करने के लिए "pciSlotNumber" को संशोधित करें।

[लेकिन यह एक अस्थायी-हैक-जब तक-मेरा-सॉफ्टवेयर-अद्यतित समाधान है]

  1. नया कंप्यूटर खरीदें। [और अंत में if-you-can-beat-them-join-them solution]

3
मेरा मानना ​​है कि विषम दिखने वाला नंबर VMWare BIOS में नेट डिवाइस से मेल खाता है। ऐसा लगता है कि OP, CentOS 7 VM का उपयोग कर रहा है।

यह हमेशा समान नहीं है, या तो - मेरे पास eno16780032 है। कितना अधिक कष्टप्रद है।
डैन प्रिट्स

1
यह उत्तर इतना थकाऊ है कि ओपी के प्रश्न का उत्तर देने में आप अपने सूचकांकों द्वारा उपकरणों की पहचान करने के तरीके पर एक संक्षिप्त संदर्भ उत्पन्न करने में कामयाब रहे।
कोणार्ड्स

VMware के लिए इन प्रकार के नाम स्पष्ट रूप से असामान्य नहीं हैं। उदाहरण के लिए, मुझे मेरे उपकरणों का नाम दिया गया है eno16777732
स्टीफन लासिवस्की

समस्या मैं VMWare के बारे में भाग गया है वहाँ एक रास्ता नहीं है एक वीपीएफ एपीआई से दिए गए नेटवर्क कार्ड के acpi_index प्राप्त करने का एक तरीका है।
डैनी

14

बस पिछले उत्तरों में विवरण जोड़ने के लिए:

इंटरफ़ेस के प्रकार के आधार पर दो चरित्र उपसर्ग:

*   en -- ethernet
*   sl -- serial line IP (slip)
*   wl -- wlan
*   ww -- wwan
*   ib -- Infiniband

नामों का प्रकार:

*   b<number>                             -- BCMA bus core number
*   ccw<name>                             -- CCW bus group name
*   o<index>                              -- on-board device index number
*   s<slot>[f<function>][d<dev_port>]     -- hotplug slot index number
*   x<MAC>                                -- MAC address
*   [P<domain>]p<bus>s<slot>[f<function>][d<dev_port>]
                                          -- PCI geographical location
*   [P<domain>]p<bus>s<slot>[f<function>][u<port>][..]1[i<interface>]
                                          -- USB port number chain

स्रोत: http://ask.xmodulo.com/change-network-interface-name-centos7.html

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.