為什麼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

對於嵌入在主機板上而非 PCI/PCI-x/PCIe 插槽中的網路卡,「一致」的網路設備名稱實際上是從系統 BIOS 提供的資訊中取得的。

引用戴爾的話,誰幫助開發了此功能:

系統 BIOS 透過 SMBIOS 類型 41 記錄向作業系統指示板載網路設備的順序。系統 BIOS 透過類型 9 記錄向作業系統提供「系統插槽資訊」。 biosdevname 使用 SMBIOS 類型 41 為板載網路設備建議名稱,並使用類型 9 記錄為 PCI 附加適配器建議新名稱。

換句話說,BIOS 決定哪個板載網卡是網卡 1,哪個是網卡 2。

因此,我懷疑您在安裝 CentOS 6 和安裝 Fedora 21 之間的某個時刻進行了系統 BIOS 更新。

另請注意,與 RHEL/CentOS 6 相比,RHEL/CentOS 7 和 Fedora 中名稱本身的結構已變更。

在EL6中,嵌入式 NIC 以em和 數字開頭,擴充卡上的 NIC 以 開頭,p隨後是總線、插槽和功能。這是最初的biosdevname 功能。

在 Fedora 和 RHEL 7 中biosdevname 已替換為原生系統支援,且設備命名方案有改變了。所有有線 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

擴充卡上的網路卡(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

相關內容