云化一个大趋势,但是项目、业务上云过程中也会遇到各种各样的问题,这篇记录一下自制centos镜像在aws平台上起不来的情况,具体现象如下图所示:
网上很多人都说是磁盘名称不对之类的,但是其实是centos系统的一个bug,centos的这个官方镜像CentOS-8-ec2-8.1.1911-20200113.3.x86_64.qcow2 也有问题,这个镜像之前的版本应该也有问题,修复的链接可以查看0017430: CentOS8-EC2 image fails to boot due to missing device support on Amazon EC2. - CentOS Bug Tracker
Commit - centos/kickstarts - 153a34222b7ac0a14fd30443b8ebeb7e300028c0 - CentOS Git server
主要的修复操作是
修复方式有两种:
1.直接在镜像上面修改,方法如下:
1)将centos镜像的volume进行detach操作,再将此volume挂载到亚马逊云平台上面一个能够正常启动的设备上。
2)启动设备,fdisk -l 查看磁盘信息,将有问题的磁盘mount到设备上
mount /dev/sdf /mnt/master_root
3) chroot /mnt/master_root 后执行上面的修改后,重启设备
chroot /mnt/master_root
echo 'add_drivers+="xen-netfront xen-blkfront "' > /etc/dracut.conf.d/xen.conf
KERNEL_VERSION=$(rpm -q kernel --qf '%{V}-%{R}.%{arch}\n')
dracut -f /boot/initramfs-$KERNEL_VERSION.img $KERNEL_VERSION
这里注意如果通过命令获取不到KERNEL_VERSION就直接去/boot/目录下面看看内核版本。文章来源:https://www.toymoban.com/news/detail-782279.html
2.做镜像的时候就在ks脚本里面加上这几行改动,这里也要注意能否正确获取到KERNEL_VERSION。文章来源地址https://www.toymoban.com/news/detail-782279.html
到了这里,关于上传自制centos镜像到aws平台后起不来,报错Warning: dracut-initqueue timeout - starting timeout scripts的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!