为什么eno1和eno2是这样的顺序?

为什么eno1和eno2是这样的顺序?

我刚刚安装了 Fedora 21 Workstation 系统,它颠倒了之前的 CentOS 6 系统的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,但实际上它认为:50eno1

这是什么原因呢?我是否应该接受 Fedora 21 系统的顺序与 CentOS 6 相反?(我们部署了数十个这样的系统。)

答案1

对于主板上嵌入的 NIC,而不是 PCI/PCI-x/PCIe 插槽中的 NIC,“一致的”网络设备名称实际上是从系统 BIOS 提供的信息中获取的。

引用戴尔的话,帮助开发此功能的人:

系统 BIOS 通过 SMBIOS 类型 41 记录向操作系统指示板载网络设备的顺序。系统 BIOS 通过类型 9 记录向操作系统提供“系统插槽信息”。biosdevname 使用 SMBIOS 类型 41 为板载网络设备建议名称,并使用类型 9 记录为 PCI 附加适配器建议新名称。

换句话说,BIOS 决定哪个板载 NIC 是 NIC 1,哪个是 NIC 2。

因此,我怀疑您在安装 CentOS 6 和安装 Fedora 21 之间的某个时间点进行了系统 BIOS 更新。

另请注意,与 RHEL/CentOS 6 相比,RHEL/CentOS 7 和 Fedora 中名称本身的结构发生了变化。

在 EL6 中,嵌入式 NIC 以em和数字开头,扩展卡上的 NIC 以 开头,p后跟总线、插槽和功能。这是原始 biosdevname 功能。

在 Fedora 和 RHEL 7 中biosdevname 已被替换为原生 systemd 支持,并且设备命名方案已更改所有有线 NIC 都以 开头en,板载 NIC 以 和o数字结尾,而扩展卡上的 NIC 以p、总线编号、s、插槽编号以及可选的f和功能编号结尾。

(但是,如果您从 EL6 升级到 EL7,旧式名称将保留。)

您将在我的系统中看到以下示例:

板载 NIC(在 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

扩展卡上的 NIC(在 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

相关内容