![持久网络接口命名和 kvm](https://linux22.com/image/54127/%E6%8C%81%E4%B9%85%E7%BD%91%E7%BB%9C%E6%8E%A5%E5%8F%A3%E5%91%BD%E5%90%8D%E5%92%8C%20kvm.png)
eth0
我想知道为什么我的网络接口仍然在我的 kvm guest 中命名。 udevadm 仅输出
# udevadm test-builtin net_id /sys/class/net/eth0 2> /dev/null
ID_NET_NAME_MAC=enxc2184ae7ab3f
我希望他们被称为像enpXsY
.该目录/etc/udev/rules.d
是空的。 Linux 品牌是 Gentoo,3.15.5-hardened-r2。虚拟化是带有qemu 2.0的KVM,网络接口是virtio。在主机和其他机器上,设置与 udev 相同,但接口按预期通过新名称进行调用。
为什么会这样呢?启用新标识符需要什么?
我的第一个想法是新标识符指的是 PCI 设备,而 virtio 设备不是 PCI 设备。然而,lspci
事实证明我错了:
00:03.0 Ethernet controller: Red Hat, Inc Virtio network device
Subsystem: Red Hat, Inc Device 0001
Flags: bus master, fast devsel, latency 0, IRQ 11
I/O ports at c040 [size=32]
Memory at febd1000 (32-bit, non-prefetchable) [size=4K]
Expansion ROM at feb80000 [disabled] [size=256K]
Capabilities: [40] MSI-X: Enable+ Count=3 Masked-
Kernel driver in use: virtio-pci
00:04.0 SCSI storage controller: Red Hat, Inc Virtio block device
Subsystem: Red Hat, Inc Device 0002
Flags: bus master, fast devsel, latency 0, IRQ 10
I/O ports at c000 [size=64]
Memory at febd2000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [40] MSI-X: Enable+ Count=2 Masked-
Kernel driver in use: virtio-pci
所以这不是原因。