👉点击这里申请火山引擎VIP帐号,立即体验火山引擎产品>>>
故障现象
问题原因
解决方案
步骤一:确认内核是否支持Virtio驱动
执行如下命令,确认当前虚拟机操作系统是否支持Virtio驱动。
grep -i virtio /boot/config-$(uname -r)
结果 | 说明 |
参数值为m | 表示该操作系统内核支持Virtio驱动。 请执行步骤二,确认临时文件系统initramfs或initrd中是否包含Virtio驱动。 |
参数值为y | 表示该操作系统内核已经包含了Virtio驱动,您可以正常迁移至火山引擎。 |
没有这两个参数 | 表示该操作系统内核不支持Virtio驱动,暂不支持直接迁移至火山引擎。您需要为自行编译安装Virtio驱动。 |
步骤二:确认临时文件系统是否包含Virtio驱动
CentOS 6/CentOS 7/CentOS 8/RedHat 6/RedHat 7 操作系统。
lsinitrd /boot/initramfs-$(uname -r).img | grep virtio
RedHat 5/CentOS 5 操作系统。
mkdir -p /tmp/initrd && cd /tmp/initrdzcat /boot/initrd-$(uname -r).img | cpio -idmvfind . -name "virtio*"
Debian/Ubuntu 操作系统。
lsinitramfs /boot/initrd.img-$(uname -r) | grep virtio
若回显如上图所示,表示临时文件系统initramfs已经包含了virtio_blk驱动,及其依赖的virtio.ko、virtio_pci.ko和virtio_ring.ko,您可以正常迁移至火山引擎,操作详情可查看导入迁移源。
若回显为空,表示临时文件系统没有包含Virtio驱动,请执行步骤三修复临时文件系统。
步骤三:修复临时文件系统
CentOS 6/AlmaLinux 8/Fedora 33及以上版本
执行如下以下命令,打开dracut.conf文件。
vim /etc/dracut.conf
按i进入编辑模式,然后添加如下内容。
add_drivers+="virtio_blk virtio_scsi virtio_net virtio_pci virtio_ring virtio"
修改完成后按Esc键,并输入:wq后按下回车键,保存并退出。
执行以下命令,重新生成initrd。
dracut -f
Debian/Ubuntu
执行如下命令,打开modules文件。
vim /etc/initramfs-tools/modules
按i进入编辑模式,然后添加如下内容。
virtio_blk virtio_scsi virtio_net virtio_pci virtio_ring virtio
修改完成后按Esc键,并输入:wq后按下回车键,保存并退出。
执行以下命令,重新生成initramfs。
update-initramfs -u