1

我正在尝试创建一个自定义 CentOS 映像以用作 Openstack Ironic 的映像。我在这里遵循指南:https ://docs.openstack.org/image-guide/centos-image.html 。我创建了映像,并将其部署在我的裸机服务器上。具有讽刺意味的是,它似乎已成功地将图像“添加”到服务器中。但是当服务器启动时,它找不到任何带有错误的分区/dev/disk/by-uuid/XXXX does not exist。我能够将它启动到救援模式,但我对如何调试它一无所知。

我还使用相同的过程来部署自定义 Ubuntu 映像,它似乎工作得非常好。有没有人有任何建议来解决这个问题?

4

1 回答 1

1

好的,经过多次修补,我发现了问题。这更像是 CentOS7 的问题,而不是 openstack 的问题。

我找到了生成 CentOS 云构建的 kickstart 脚本(https://github.com/CentOS/sig-cloud-instance-build/blob/master/cloudimg/CentOS-7-x86_64-GenericCloud-201606-r1.ks)。原来他们包含了dracut-config-generic我的自定义 CentOS 映像没有包含的包。经过一些谷歌搜索工作,我发现这个链接(https://www.systutorials.com/docs/linux/man/8-dracut/)指出:

在 RHEL-7 上,hostonly 模式是默认模式。如果安装了 dracut-config-generic rpm,则会创建通用“非主机”映像。引导加载程序菜单中的救援内核条目也是通用映像。

没有dracut-config-generic,图像只能在我设置的虚拟化环境中运行。所以添加这个包后,我就可以通过openstack ironic成功部署了。

希望这对尝试此操作的任何人有所帮助。

于 2018-10-11T02:08:42.993 回答