我正在尝试从虚拟媒体中加载的 .iso 文件自动安装 Ubuntu 20.04,并且我想从外部设备加载 cloud-init 配置。
我已经关注了教程展示如何重新打包自定义 .iso 以在 cdrom 上添加 cloud-init 配置,从而得到如下 grub 配置:
linux /casper/vmlinuz autoinstall ds=nocloud\;s=/cdrom/server/ ---
我希望我不需要重新打包标准 .iso 文件并从外部磁盘(例如 USB 密钥)加载 cloud-init 文件。
我正在使用一台 DELL 服务器,其 iDRAC 允许我通过映射 .img 文件来模拟外部驱动器。
在 grub 控制台中,我可以访问该设备及其中的文件:
grub> ls (hd3)/cloud-init
meta-data user-data
我的目标是这样的(当然我已经测试过了并且没有起作用):
linux /casper/vmlinuz autoinstall ds=nocloud\;s=(hd3)/cloud-init/ ---
我看到在安装过程中外部设备在 /dev/sdX 上可用,但与 /cdrom 不同,它并未安装,而且我无法确定它是哪个 sdX。
任何帮助或提示都将不胜感激。非常感谢
答案1
你应该能够
- 将 USB 密钥格式化为
vfat
- 给
vfat
分区贴上标签CIDATA
- 把你的文件(例如
user-data
和meta-data
)放在 USBvfat
分区上
如果 USB 密钥已连接,则云初始化应该会检测到并自动使用这些文件。无需任何ds=
参数。
当前云初始化 NoCloud 数据源的文档有更多细节和示例。
可以使用包含用户数据和元数据的带标签的 vfat 或 iso9660 文件系统。要使此方法有效,文件系统卷必须标记为 CIDATA
我还没有测试过这个。