迁移工具Agent报错“checkVirtioInstall fail”或“Check initramfs failed”如何解决?

axin 2025-04-30 4人围观 ,发现0个评论 火山引擎云服务器云服务器云服务器教程

👉点击这里申请火山引擎VIP帐号,立即体验火山引擎产品>>>

故障现象

迁移失败时,迁移日志smc.log文件存在ERROR信息“checkVirtioInstall fail”或“Check initramfs failed”。

问题原因

SMC迁移工具Agent检查到您的迁移源Virtio驱动未安装或未正确配置,未处于正常运行状态。

解决方案

步骤一:确认内核是否支持Virtio驱动

  1. 执行如下命令,确认当前虚拟机操作系统是否支持Virtio驱动。

grep -i virtio /boot/config-$(uname -r)
回显示例:

结果说明:
请在回显信息中,根据CONFIG_VIRTIO_BLK 与CONFIG_VIRTIO_NET 参数值,进行后续操作。
结果
说明
参数值为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及以上版本

CentOS 6/AlmaLinux 8/Fedora 33及以上版本,且内核版本高于2.6.24的操作系统,请按如下步骤完成修复。
  1. 执行如下以下命令,打开dracut.conf文件。

vim /etc/dracut.conf
  1. 按i进入编辑模式,然后添加如下内容。

add_drivers+="virtio_blk virtio_scsi virtio_net virtio_pci virtio_ring virtio"
  1. 修改完成后按Esc键,并输入:wq后按下回车键,保存并退出。

  1. 执行以下命令,重新生成initrd。

dracut -f


Debian/Ubuntu

Debian/Ubuntu系列的操作系统,请按如下步骤完成修复。
  1. 执行如下命令,打开modules文件。

vim /etc/initramfs-tools/modules
  1. 按i进入编辑模式,然后添加如下内容。

virtio_blk
virtio_scsi
virtio_net
virtio_pci
virtio_ring
virtio
  1. 修改完成后按Esc键,并输入:wq后按下回车键,保存并退出。

  1. 执行以下命令,重新生成initramfs。

update-initramfs -u

步骤四:验证修复结果

临时文件修复完成后,可再次执行步骤二命令,验证Virtio驱动以成功包含在临时文件系统initramfs或initrd中。


不容错过
Powered By TOPYUN 云产品资讯