为什么eno1和eno2按这个顺序?

我刚刚安装了一个Fedora 21 Workstation系统,它颠倒了eno2在CentOS 6系统中的eno1eno2的顺序。

 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具有以:4f结尾的MAC地址,而03:00.0:50结束。

我的理解是,用较低的PCI地址, :4f将成为eno1 ,但实际上它认为:50eno1

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

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

引用戴尔 ,谁帮助开发这个function:

系统BIOS通过SMBIOStypes41logging指示板载networking设备到OS的顺序。 系统BIOS通过types9logging向OS提供“系统插槽信息”。 biosdevname使用SMBIOStypes41向机载networking设备build议名称,并使用types9logging为PCI加载项适配器build议新名称。

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

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

另请注意,与RHEL / CentOS 6相比,名称本身的结构在RHEL / CentOS 7和Fedora中已更改。

在EL6中 ,embedded式NIC以em和一个数字开始,扩展卡上的NIC以p开始,然后是总线,插槽和function。 这是原始的biosdevnamefunction。

在Fedora和RHEL 7中, biosdevname已经被本机systemd支持取代,并且设备命名scheme已经改变 。 所有有线网卡都以en开头,板载网卡继续使用o和一个数字,而扩展卡上的网卡继续使用p ,总线编号,插槽编号,以及可选的f和function编号。

(虽然如果你从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 

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