我刚刚安装了一个Fedora 21 Workstation系统,它颠倒了eno2在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具有以:4f结尾的MAC地址,而03:00.0以:50结束。
我的理解是,用较低的PCI地址, :4f将成为eno1 ,但实际上它认为:50是eno1 。
这是什么原因,我应该接受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