阿里云已确认Alibaba Cloud Linux 3.8版本的镜像在升级内核时会有报错信息出现,本文将描述该问题的影响及解决方案。
问题现象
在Alibaba Cloud Linux 3.8版本的镜像中升级内核版本时,会在安装内核包的同时出现报错信息,但对应的内核包可以正常安装成功,报错信息类似如下图所示。
问题原因
Alibaba Cloud Linux 3.8版本镜像为支持更多规格的机型,对镜像的dracut配置新增了额外的内核模块。因新增的部分内核模块已经被built-in集成到内核vmlinuz文件中,导致后续在安装内核包的过程中,dracut工具因无法找到对应的内核模块而报错。但是该报错不会影响内核软件包的安装、升级等。
影响范围
镜像ID中日期在20230727~20230925范围内且版本为如下所示的Alibaba Cloud Linux 3镜像:
Alibaba Cloud Linux 3.2104 LTS 64位
Alibaba Cloud Linux 3.2104 LTS 64位 快速启动版
Alibaba Cloud Linux 3.2104 LTS 64位 等保2.0三级版
Alibaba Cloud Linux 3.2104 LTS 64位 UEFI版
Alibaba Cloud Linux 3.2104 LTS 64位 ARM版
Alibaba Cloud Linux 3.2104 LTS 64位 ARM版 等保2.0三级版
您可以运行cat /etc/image-id
命令,查询镜像ID和镜像版本,回显类似如下信息:
image_name="Alibaba Cloud Linux 3.2104 LTS 64 bit"
image_id="aliyun_3_x64_20G_alibase_20230727.vhd"
release_date="20230728162541"
解决方案
远程登录Alibaba Cloud Linux 3.8版本镜像的ECS实例。
具体操作,请参见通过密码或密钥认证登录Linux实例。
运行以下命令,移除内核中重复的内核模块。
x86架构
sudo sed -i "s/virtio_blk//" /etc/dracut.conf.d/virt-drivers.conf
ARM架构
sudo sed -i "s/xen-blkfront xen-netfront//" /etc/dracut.conf.d/virt-drivers.conf
运行以下命令,重新升级内核版本,确认报错是否解决。
sudo yum install kernel