我有一组(Ubuntu 16.04)服务器,它们是无盘的并从公共 nfs 共享启动。
该共享是只读的,我使用 tmpfs 覆盖。为了实现这一点,我将设置/etc/overlayroot.local.conf
为
overlayroot_cfgdisk="disabled"
overlayroot="tmpfs:recurse=0"
到目前为止,它运行良好。
现在我添加了更多具有不同名称 NIC 的机器,因此我需要为它们提供不同的配置/etc/network/interfaces
(将来我可能希望进一步多样化配置)。如何在不管理根文件系统的单个、几乎相同的副本的情况下实现这一点?
我发现了一个解决方案(德语幻灯片/演讲),具有不同级别的 auFS,这些级别通过由 initrd 处理的 DHCP 选项字符串进行设置。但没有讨论构建 initrd 的相关脚本。
顺便说一下。我的/etc/network/interfaces
解读如下
# The primary network interface
auto eno1
iface eno1 inet dhcp
# secondary network interface, connected to nfs_root
iface eno2 inet manual
在新机器上,NIC 被称为enp24s0fx
答案1
udev 可预测的网络接口名称应该在同一硬件上保持一致,显然您有异构硬件。
在一个接口的简单情况下,您可以通过添加net.ifnames=0 biosdevname=0
到 Linux 命令行来禁用持久命名。(询问 Ubuntu:更改网络接口名称 Ubuntu 16.04)
但是对于多个接口,无法保证哪个会成为eth0
。您可以重新启用持久命名,但规则自定义通常是通过将主机特定的 MAC 地址写入文件来完成的。