我正在尝试在正在运行的 Linux (RHEL 7.8) AWS 实例上安装第二个磁盘,在其中安装自定义的可启动 Linux 环境,然后将该磁盘更改为 AMI,以便我们可以从中启动新的 Linux 实例。由于这是在云中,我无法启动 ISO 或 kickstart 来运行标准安装程序。我知道这是一种迂回的方法,但我们只能说这是必需的。
我在磁盘上创建一个分区,创建 XFS 文件系统,挂载它,并将 Base 和 Core 软件包组以及内核和 grub2 软件包安装到其中。没有问题。我运行grub2-安装在新磁盘上,然后 chroot 到其路径并运行grub2-mkconfig -o /boot/grub2/grub.cfg。我确实确保在 fstab 中使用新磁盘的 UUID,并验证了磁盘 UUID 正在 grub 配置中使用。
然后我关闭实例,快照卷,然后将该快照转换为 AMI。那里没有问题。从它启动一个实例,我能够获得登录提示。不过,这是我能得到的最多的东西。似乎 sshd 从未启动,所以我无法访问它,我只是看到系统日志显示登录提示。无论我做什么,我似乎都无法让 openssh 服务器启动并响应。我确实验证了 systemd 使用的符号链接使能够sshd 的进程已准备就绪。我假设我缺少一些配置,或者缺少获取正常运行的 Linux 实例所需的其他软件包。似乎没有太多关于如何执行此类操作的信息,但似乎通过正确的软件包和配置组合应该可以实现。