Ubuntu 20.04.2.0 autoinstall自动化安装配置故障排查求助
各位大佬好,我最近在折腾Ubuntu 20.04.2.0的autoinstall自动化安装,测试环境是VMware ESXI主机,但遇到了大麻烦,怎么都跑不起来,想请大家帮忙看看问题出在哪。
我的初始思路
原本打算通过ISO启动VM,在内核启动参数中指定autoinstall相关配置,拉取自动化安装数据来完成VM部署。
测试过的内核启动参数
我尝试过好几组内核启动参数(都是通过ISO启动后按SHIFT进入命令行输入的),比如:
vmlinuz=/casper/vmlinuz initrd=/casper/initrd autoinstall ip=dhcp ds=nocloud-net;s=http://our-mirror/media/ubuntu-20.04.2.0/
还有这组包含更多参数的:
root=/dev/ram0 ramdisk_size=1500000 fsck.mode=skip autoinstall ds=nocloud-net;s=http://our-server/media/[contains user-data etc] ip=dhcp url=http://our-server/media/ubuntu-20.04.3-live-server-amd64.iso cloud-config-url=http://our-server/media/ — splash
也试过一些基于不同网上示例的变体,但网上关于autoinstall的配置说法五花八门,官方文档也非常难啃,完全摸不准正确的配置方式。
遇到的具体问题
目前所有尝试都以失败告终:我能看到HTTP请求成功拉取了user-data、meta-data和vendor-data文件,但安装过程总是中途崩溃或停止。
有一次安装过程创建完SSH密钥后就停住了——虽然这方便我登录查看日志,但VMware控制台没装VMware-tools没法复制粘贴,我只能手动记下两个关键错误:
"no kernel command line url found"
"no local datasource found"
这就让我特别困惑:难道不能直接用对应版本的ISO启动,然后指向autoinstall配置文件来完成安装吗?我也试过用ISO启动后从HTTP拉取另一个ISO来安装,各种组合都试过,就是不行。
一些不太理解的设计点
还有几个点我实在搞不懂:
- 为什么一定要分开
user-data、vendor-data和meta-data这几个文件?感觉完全可以整合到一个YAML配置里,或者至少不用非得放在ISO目录的根目录?要是部署不同类型的安装,这样的结构根本没法扩展。 - 对比Kickstart,autoinstall不仅配置复杂,文档还远不如前者清晰好用。
后续计划与诉求
我们有现成的PXE环境,之后会用Foreman来管理部署,但现在连一个能跑通的autoinstall配置都搞不定,更别提Foreman的分区、预配置那些后续步骤了。
我已经花了超多时间在这上面,真心希望有人能帮我理清思路,让这个autoinstall流程跑起来,万分感谢!
备注:内容来源于stack exchange,提问作者Forrest Aldrich

