Wofür steht bei einem einheitlichen Namensschema für Netzwerkgeräte der Name der Netzwerkschnittstelle eno16777736
für CentOS 7 oder RHEL 7?
Wofür steht bei einem einheitlichen Namensschema für Netzwerkgeräte der Name der Netzwerkschnittstelle eno16777736
für CentOS 7 oder RHEL 7?
Antworten:
Hierbei handelt es sich um vorhersehbare Netzwerkschnittstellen-Gerätenamen .
en
ist für Etherneto
ist für an BordWeitere Details in der Quelle von udev-builtin-net_id.c
Hmmm. Mehr als "en" und "o" würde ich mir mehr Sorgen um die "16777736" machen.
Sofern Sie nicht versehentlich zu Google gewechselt sind und sich auf einem Server mit einer benutzerdefinierten PCI-Architektur befunden haben, sehe ich nicht wirklich, wie 16777736 ein möglicher Wert sein könnte. Dies könnte ein Hinweis auf ein ernsthafteres Problem sein.
Nach dem aktuellen Schema kann ein System nicht mehr als 256 PCI-Busse adressieren (mit 32 Geräten pro Bus und maximal 8 Funktionen pro Gerät). Dies wird auch als Bus: Device.Function-Adressierung bezeichnet. Moderne Systeme verwenden Domain: Bus: Device.Function, um die 256-Bus-Beschränkung zu überwinden. Aber trotzdem, zurück zu deinem Problem ...
Können Sie Folgendes tun:
ls -la /sys/class/net | grep eno16777736
Wenn Sie etwas sehr Ähnliches sehen:
eno16777736 -> ../.../devices/pci0000:00/0000:00:11.0/0000:1000208:01.0/net/eno16777736
Dann schlage ich vor, dass Sie schnell laufen, bevor Google Sie beim Herumspielen mit ihren Servern ertappt.
Die /(0000:1000208:01.0)/ oben ist die Domain: Bus: Device.Function-Adresse mit dem Buswert "1000208" als hexadezimaler Darstellung von 16777736. Der Maximalwert sollte jedoch "0x100" (256) sein das können Sie für "Bus" haben.
Auf der anderen Seite, wenn Sie einen Wert erhalten, der unter 0x100 für den "Bus" liegt, wie zum Beispiel:
eno16777736 -> ../.../devices/pci0000:00/0000:00:11.0/0000:1c:01.0/net/eno16777736
Dann würde ich denken, dass das Problem damit zusammenhängt, wie Ihr Bios / Firmware beim Start Informationen an udev (systemd) sendet. Um die mögliche Ursache herauszufinden, überprüfen Sie zunächst die Werte, die udev zurückgibt.
Normalerweise gibt es drei udev-Abfragen, um die PIN (Predictable Interface Name) zu erstellen.
[in dieser Reihenfolge]
Wir können (1) testen durch:
udevadm info --path=/sys/class/net/eno16777736 --attribute-walk | grep acpi
Wenn dies 16777736 ergibt, unterstützt Ihr System höchstwahrscheinlich nicht die PCI-Firmware-Spezifikation 3.1, die für die Unterstützung von ACPI_DSM erforderlich ist
Also müssen wir jetzt testen (2). Überprüfen wir also zuerst den Datensatztyp 41 in der SMBIOS-Tabelle (Typ 41 ist am relevantesten):
dmidecode -t 41 | more
Wenn nichts angezeigt wird oder die SMBIOS-Version kleiner als "2.62" ist, bedeutet dies, dass sich udev auf die PCI-IRQ-Routing-Tabelle stützt, um die PIN zu erstellen.
Also sollten wir überprüfen (3)
biosdecode
Achten Sie genau auf Ihren maximalen Slot-Eintrag ... er sollte in der folgenden Form vorliegen:
Slot Entry X: ID 00:00, (slot number X| status)
Wenn X aus Gründen des Arguments 25 ist, sollte sich Ihre Netzwerkkarte auf einem Steckplatz befinden, der kleiner oder gleich 25 ist. Andernfalls verweist udev weiterhin auf den Platzhalterwert 16777736.
In den meisten Fällen können Sie die Slot-Nummer Ihres Nic folgendermaßen überprüfen:
lspci -bv | grep -i -A10 ether
In den meisten Fällen sollte das Gerät in der BDF (Bus: Device.Function) der physischen Portnummer entsprechen (nachdem es von hex zu dezimal konvertiert wurde). In anderen Fällen (wo dies nicht der Fall ist) listet lspci den physischen Steckplatz in einer separaten Zeile in der Ausgabe auf, in der der obige lspci-Befehl ausgeführt wird.
Wenn also die angegebene physikalische Steckplatznummer größer als X ist (die maximale Anzahl, die wir in unserer PCI-IRQ-Routing-Tabelle gefunden haben), haben wir das Problem höchstwahrscheinlich isoliert.
Es gibt 5 mögliche Lösungen, die ich mir in diesem Fall vorstellen kann ...
[Dies ist die I-Need-to-Find-Better-Use-Of-My-Time-Lösung]
durch:
vi /etc/udev/rules.d/70-my-net-names.rules
Fügen Sie dann Folgendes hinzu:
ACTION=="add", SUBSYSTEM=="net", ENV{ID_BUS}=="pci",
KERNELS=="{Domain:Bus:Device.Function}", NAME="{name: i.e. eno1 or eth0}"
[Ich nenne das die Lasst uns das Problem ignorieren und die Dinge einfach hübsch aussehen lassen.]
[Dies ist natürlich die Lösung, wenn es pleite ist, es auszuschalten und in Einsamkeit zu weinen] (nicht wirklich eine Lösung) ...
[Aber dies ist eine vorübergehende Hack-bis-meine-Software-wird-aktualisiert-Lösung]
eno16777732
.
Nur um Details zu früheren Antworten hinzuzufügen:
Zwei Zeichenpräfixe basierend auf dem Schnittstellentyp:
* en -- ethernet * sl -- serial line IP (slip) * wl -- wlan * ww -- wwan * ib -- Infiniband
Art der Namen:
* 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
Quelle: http://ask.xmodulo.com/change-network-interface-name-centos7.html