Почему eno1 и eno2 расположены именно в таком порядке?

Почему eno1 и eno2 расположены именно в таком порядке?

Я только что установил систему Fedora 21 Workstation, и она поменяла порядок установки eno1с eno2той, что была здесь ранее, на обратный.

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? (Мы развертываем десятки таких систем.)

решение1

Для сетевых карт, встроенных в материнскую плату, а не в слоты PCI/PCI-x/PCIe, «согласованные» имена сетевых устройств фактически берутся из информации, предоставленной системным BIOS.

Цитата из Dell, который помог разработать эту функцию:

Системный BIOS указывает порядок встроенных сетевых устройств ОС через записи SMBIOS типа 41. Системный BIOS предоставляет «информацию о слотах системы» ОС через записи типа 9. BIOSdevname использует SMBIOS типа 41 для предложения имен встроенным сетевым устройствам и записи типа 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 7biosdevname было заменено насобственная поддержка 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

Связанный контент