我正在工作的环境中有几十台不同的服务器,而且每年都会增加几次新服务器。我们使用PXE引导(Legacy/BIOS和EFI)来提供这些新机器。我正在将我们的网络安装过程从以前的debian机制更改为新的自动安装/云-init机制。
我注意到的一个限制是syslinux (BIOS)或grub.cfg条目指向特定的user-data url,例如http://example.org/ks/user-data。但是,如果你有很多不同的机器,你想要准备呢?user-data文件要求在identity块中设置一个hostname,这使得这些文件实际上只适合提供一台特定的机器。
因此,我的第一个倾向是为每个主机生成一个单独的user-data文件来提供服务。但是,既然这个URL是在syslinux/grub配置中硬编码的,这怎么可能呢?
tl;dr在新的自动安装/云init系统中是否有某种机制,可以根据正在引导的主机提供不同的配置?
发布于 2022-03-24 22:10:27
我见过两种方法。
user-data文件,用于所有机器。在该user-data文件中,使用early-commands在/autoinstall.yaml上创建特定于机器的配置。user-data文件。您可以做什么取决于您的DHCP服务器和PXE映像的功能。一个简单的解决方案是基于MAC地址这样的属性来提供不同的静态文件。更复杂的解决方案可以动态生成文件。Syslinux和Grub都可以根据MAC地址更改配置,不过我发现Grub要灵活得多。这两种方法有更多的细节和例子。
https://askubuntu.com/questions/1398808
复制相似问题