kvm 虚拟机装rehel6.5 的系统更新内核后无法启动系统,报错 "module scsi_wait_scan not found"
更新内核后,在写 dracut 程序时无法检测 KVM's virtual disk driver "virtio_blk" 此驱动被用于访问 KVM 虚拟磁盘,dracut 没有正常添加新的 initramfs module,导致系统没有磁盘访问驱动无法正常启动
解决方法:
1、从旧内核启动,卸载新版本内核,重启!
2、先修改配置文件
cp /usr/share/dracut/modules.d/90kernel-modules/installkernel{,.bak}
sed -i 's/blk_init_queue/blk_mq_init_queue/g' /usr/share/dracut/modules.d/90kernel-modules/installkernel
再升级内核
如果用kvm启动的虚拟机,在升级内核之前请执行 2操作。
参考链接:
另外:如果在kvm启动的虚拟机里搭建云平台,需要在/etc/nova/nova.conf加以下参数,然后openstack-service restart nova,否则创建虚拟机会错误。
virt_type=qemu
3、更新完内核后需要执行以下两个命令:
yum install -y device-mapper-libs libudev
for X in $(cd /boot ; ls -1 config-*elrepo* | sed 's/config-//' ) ; do dracut --add-drivers virtio_blk -f /boot/initramfs-$X.img $X ; done
参考链接:https://www.binarylane.com.au/support/solutions/articles/1000069058-centos-6-will-not-boot-on-kvm-with-elrepo-kernel-3-13-3-14