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 スロットではなくマザーボードに埋め込まれた NIC の場合、「一貫した」ネットワーク デバイス名は実際にはシステム BIOS によって提供される情報から取得されます。

デルの言葉を引用するとこの機能の開発に協力してくれた方々:

システム BIOS は、SMBIOS タイプ 41 レコードを介して、オンボード ネットワーク デバイスの順序を OS に示します。システム BIOS は、タイプ 9 レコードを介して、OS に「システム スロット情報」を提供します。biosdevname は、SMBIOS タイプ 41 を使用してオンボード ネットワーク デバイスの名前を提案し、タイプ 9 レコードを使用して PCI アドイン アダプタの新しい名前を提案します。

つまり、BIOS はどのオンボード NIC が NIC 1 で、どの NIC が 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

関連情報