我有一个带有多个网络接口的 Ubuntu 18.04 盒子。
如果我向系统添加新的 NVMe SSD,网络设备名称会发生变化。
例如,enp60s0 可能会变为 enp61s0。
这是预期的吗?该盒子是无头的,因此添加新驱动器会导致无法访问,因为所有网络接口配置都会丢失。这并不理想。
答案1
NVMe SSD 直接连接到 PCIe 总线,显然您的硬件会根据 NVMe 设备是否存在而呈现不同的总线拓扑。
如果网络设备从 变为enp60s0
,enp61s0
则表示其 PCI 总线 ID 已从3c:00.0
变为3d:00.0
。这可能是您的硬件/主板的一个怪癖,并且可能无法避免。根据硬件设计,系统固件 (BIOS/UEFI) 升级可能有帮助,也可能没有帮助。
但是您可以使用多种可能的方法来锁定网络接口的名称或为其指定自定义名称。
例如,你可以写一个.link
目录中的文件/etc/systemd/network/
以强制系统分配您选择的名称:
[Match]
MACAddress=11:22:33:44:55:66
[Link]
NamePolicy=onboard
Name=eno1
当将此示例文件放入/etc/systemd/network
as中时,70-eno1.link
会将名称分配eno1
给具有 MAC 地址的 NIC 11:22:33:44:55:66
。enoN
如果系统固件没有适当的数据结构来允许它们被自动检测为板载 NIC,我会使用它为集成板载 NIC 提供样式名称。 (这NamePolicy=onboard
条线实际上可能是不必要的。)
您可以使用相同的语法来分配任何其他名称,包括enp60s0
根据需要强制使用该名称。