从通用 nfs 共享进行网络启动。如何整合细微差异(例如在 /etc 中)?

从通用 nfs 共享进行网络启动。如何整合细微差异(例如在 /etc 中)?

我有一组(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 地址写入文件来完成的。

相关内容