虚拟机配置磁盘时不勾选使用FastIO磁盘,安装性能优化工具后则可以启动。
一般是因为当前虚拟机的内核版本中有半虚拟化驱动未加载成功,需要手动对驱动进行加载。
需要检查当前虚拟机是否有半虚拟驱动,主要是virtio_pci(磁盘网卡) virtio_blk(磁盘)virtio_console(报表用),且是否支持加载版半虚拟驱动。如果有半虚拟驱动则需要手动添加rd文件。
内核版本中的半虚拟化驱动未加载成功,需要手动添加驱动并进行加载,即重做带驱动的rd文件,具体操作如下。
为避免操作过程中出现异常以便进行回退,请提前为虚拟机创建快照,具体操作可参见手动快照 。
# chroot /mnt/sysimage/
# find /usr/lib/ -name *virtio*
或
# find /lib/ -name *virtio*
正常情况下半虚拟化驱动会在/usr/lib目录下。
Linux 6及以下版本
# cat /boot/grub/grub.conf
Linux 7
# cat /boot/grub2/grub.cfg
# lsinitrd /boot/initramfs-$(uname -r).img | grep virtio
以下涉及的内核版本号信息请根据实际查询到的内核版本和文件名称进行填写。
# cp /boot/initramfs-2.6.32-359.el6.x86_64.img
# cp /boot/initramfs-2.6.32-359.el6.x86_64.img.bak
# mkinitrd -f --with=virtio_pci --with=virtio_blk --with=virtio_console /boot/initramfs-2.6.32-359.el6.x86_64.img 2.6.32-359.el6.x86_64
# mkinitrd -f --with=virtio_pci --with=virtio_blk --with=virtio_console /boot/initramfs-$(uname -r).img$(uname -r)
# dracut -f /boot/initramfs-3.10.0-116.e17x86_64.img 3.10.0-1160.e17x86_64