W ramach spójnego schematu nazewnictwa urządzeń sieciowych, co oznacza „eno” w nazwie interfejsu sieciowego eno16777736
dla CentOS 7 lub RHEL 7?
W ramach spójnego schematu nazewnictwa urządzeń sieciowych, co oznacza „eno” w nazwie interfejsu sieciowego eno16777736
dla CentOS 7 lub RHEL 7?
Odpowiedzi:
Jest to przewidywalna nazwa urządzenia interfejsu sieciowego w akcji.
en
jest dla Ethernetuo
jest na pokładzieWięcej szczegółów w źródle udev-builtin-net_id.c
Hmmm. Bardziej niż „en” i „o” bardziej martwi mnie „16777736”.
Chyba że przypadkowo wszedłeś do Google i znalazłeś się na serwerze z niestandardową architekturą PCI, tak naprawdę nie rozumiem, jak 16777736 może być możliwą wartością. Może to wskazywać na poważniejszy problem.
W obecnym schemacie system nie byłby w stanie zaadresować więcej niż 256 magistral PCI (z 32 urządzeniami pod każdą magistralą i maksymalnie 8 funkcjami pod każdym urządzeniem). Jest to również znane jako Bus: Device.Funkcja adresowania. Nowoczesne systemy używają Domain: Bus: Device.Function, aby przekroczyć ograniczenie magistrali 256. W każdym razie wracając do problemu ...
Czy możesz zrobić:
ls -la /sys/class/net | grep eno16777736
Jeśli zobaczysz coś bardzo podobnego do:
eno16777736 -> ../.../devices/pci0000:00/0000:00:11.0/0000:1000208:01.0/net/eno16777736
Następnie sugeruję, abyś biegał szybko, zanim Google przyłapie cię na zabawie na swoich serwerach.
Powyższy /(0000:1000208:01.0)/ powyżej to Domena: Magistrala: Urządzenie. Adres funkcji z wartością magistrali „1000208”, będącą reprezentacją szesnastkową 16777736. Jednak „0x100” (256) powinna być wartością maksymalną które możesz mieć dla „Bus”.
Z drugiej strony, jeśli wartość „Bus” jest mniejsza niż 0x100, na przykład:
eno16777736 -> ../.../devices/pci0000:00/0000:00:11.0/0000:1c:01.0/net/eno16777736
Wtedy pomyślałem, że problem będzie związany z tym, jak twoje Bios / Firmware wysyła informacje do udev (systemd) podczas uruchamiania. Aby ustalić potencjalną przyczynę, najpierw sprawdź wartości, do których wraca z powrotem udev.
Zwykle istnieją trzy miejsca, w których zapytania udev tworzą kod PIN (przewidywalna nazwa interfejsu)
[w tej kolejności]
Możemy przetestować (1) przez:
udevadm info --path=/sys/class/net/eno16777736 --attribute-walk | grep acpi
Jeśli to daje 16777736, najprawdopodobniej twój system nie obsługuje PCI Firmware Specification 3.1, który jest potrzebny do obsługi ACPI_DSM
Musimy teraz przetestować (2). Najpierw sprawdźmy najpierw rekord typu 41 w tabeli SMBIOS (typ 41 jest najbardziej odpowiedni):
dmidecode -t 41 | more
Jeśli nic się nie pokazuje lub wersja SMBIOS jest mniejsza niż „2.62”, oznacza to, że udev będzie opierał się na tablicy routingu PCI IRQ w celu utworzenia kodu PIN.
Więc powinniśmy sprawdzić (3)
biosdecode
Zwróć szczególną uwagę na maksymalną liczbę miejsc na automacie ... powinna ona mieć postać:
Slot Entry X: ID 00:00, (slot number X| status)
Jeśli X wynosi 25, ze względu na argument, twoja karta sieciowa powinna znajdować się w gnieździe mniejszym lub równym 25. Jeśli nie, udev będzie nadal odwoływał się do wartości zastępczej 16777736.
W większości przypadków możesz sprawdzić numer swojej nici poprzez:
lspci -bv | grep -i -A10 ether
I znowu W większości przypadków w BDF (Bus: Device.Function) urządzenie powinno być równe numerowi portu fizycznego (po konwersji z szesnastkowego na dziesiętny). W innych przypadkach (jeśli tak nie jest), lspci wyświetli fizyczne gniazdo w osobnym wierszu w wyniku wykonania powyższego polecenia lspci.
Więc jeśli wymieniony numer gniazda fizycznego jest większy niż X (maksymalna liczba, którą znaleźliśmy w naszej tabeli routingu PCI IRQ), najprawdopodobniej wyodrębniliśmy problem.
W tym przypadku jest 5 możliwych rozwiązań ...
[To jest rozwiązanie, którego potrzebuję, aby znaleźć lepsze zastosowania mojego czasu]
przez:
vi /etc/udev/rules.d/70-my-net-names.rules
następnie dodaj:
ACTION=="add", SUBSYSTEM=="net", ENV{ID_BUS}=="pci",
KERNELS=="{Domain:Bus:Device.Function}", NAME="{name: i.e. eno1 or eth0}"
[Nazywam to rozwiązaniem „zignorujmy problem i po prostu zróbmy rzeczy”.
[Jest to oczywiście rozwiązanie, jeśli jest zepsute, skręca, wyłącza i płacze w samotności] (nie jest to rozwiązanie) ...
[ale jest to rozwiązanie polegające na tymczasowym hackowaniu, aż moje oprogramowanie zostanie zaktualizowane]
eno16777732
.
Aby dodać szczegóły do poprzednich odpowiedzi:
Dwa prefiksy znaków w zależności od typu interfejsu:
* en -- ethernet * sl -- serial line IP (slip) * wl -- wlan * ww -- wwan * ib -- Infiniband
Rodzaj nazw:
* 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
Źródło: http://ask.xmodulo.com/change-network-interface-name-centos7.html