Я только что установил систему Fedora 21 Workstation, и она поменяла порядок eno1
и eno2
из системы CentOS 6, которая была здесь раньше.
lspci | grep Eth
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 04)
03:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
00:19.0
имеет MAC-адрес, оканчивающийся на :4f
, пока 03:00.0
заканчивается в :50
.
Насколько я понимаю, с более низким адресом PCI, :4f
станет eno1
, но на самом деле он думает, что :50
является eno1
.
В чем причина этого, и должен ли я просто согласиться с тем, что системы с Fedora 21 будут иметь порядок, противоположный CentOS 6? (Мы развертываем десятки таких систем.)
Для сетевых адаптеров, встроенных в материнскую плату, а не в слоты PCI / PCI-x / PCIe, «согласованные» имена сетевых устройств фактически получаются из информации, предоставляемой системным BIOS.
Процитировать Dell, которые помогли разработать эту функцию:
Системная BIOS указывает порядок встроенных сетевых устройств в ОС через записи SMBIOS типа 41. Системная BIOS предоставляет ОС «информацию о системном слоте» через записи типа 9. Имя biosdevname использует тип 41 SMBIOS для предложения имен встроенным сетевым устройствам и записи типа 9 для предложения новых имен для адаптеров расширения PCI.
Другими словами, BIOS решает, какая из встроенных сетевых адаптеров является NIC 1, а какая - NIC 2.
Таким образом, я подозреваю, что в какой-то момент между установкой CentOS 6 и Fedora 21 у вас было обновление BIOS.
Также обратите внимание, что структура самих имен изменилась в RHEL / CentOS 7 и Fedora по сравнению с RHEL / CentOS 6.
В EL6, встроенные сетевые карты начинаются с em
и номер, а сетевые карты на картах расширения начинаются с p
за ними следуют их шина, слот и функция. Это была оригинальная функция biosdevname.
В Fedora и RHEL 7 biosdevname было заменено на встроенная поддержка systemd, а схема именования устройств имеет изменено. Все проводные сетевые карты начинаются с en
, а встроенные сетевые карты продолжаются с o
и номер, в то время как сетевые карты на картах расширения продолжают p
, номер автобуса, s
, номер слота и, возможно, f
и номер функции.
(Хотя, если вы обновитесь с EL6 до EL7, старые имена будут сохранены.)
Пример того, что вы увидите в моих собственных системах:
Встроенные сетевые карты (в Dell PowerEdge):
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 54:9f:35:17:f4:32 brd ff:ff:ff:ff:ff:ff
3: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 54:9f:35:17:f4:34 brd ff:ff:ff:ff:ff:ff
Сетевые карты на карте расширения (в хрени SuperMicro):
2: enp3s0f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 0c:c4:7a:45:b8:d2 brd ff:ff:ff:ff:ff:ff
3: enp3s0f1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 0c:c4:7a:45:b8:d3 brd ff:ff:ff:ff:ff:ff