赞
踩
云化一个大趋势,但是项目、业务上云过程中也会遇到各种各样的问题,这篇记录一下自制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/目录下面看看内核版本。
2.做镜像的时候就在ks脚本里面加上这几行改动,这里也要注意能否正确获取到KERNEL_VERSION。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。