文档首页/ 主机迁移服务 SMS/ 常见问题/ 错误码排查与解决方法/ SMS.6563:File initrd or initramfs of the xxxx version not found under /boot directory. For solution, see SMS API Reference.
更新时间:2024-08-31 GMT+08:00

SMS.6563:File initrd or initramfs of the xxxx version not found under /boot directory. For solution, see SMS API Reference.

问题描述

Linux系统,启动迁移Agent时,出现提示:SMS.6563:File initrd or initramfs of the xxxx version not found under /boot directory. For solution, see SMS API Reference。

问题分析

出现该提示说明源端服务器缺少initrd或initramfs镜像文件。因部分云服务平台的服务器系统使用了定制内核,启动时使用了特定机制,不需要initrd或initramfs镜像文件也能正常启动。但华为云平台服务器,缺少initrd或initramfs镜像文件,会导致启动失败。

Initrd和Initramfs镜像文件作用基本相同,都是为系统提供内核启动需要的驱动。

不同操作系统,使用的镜像文件不同,例如:Ubuntu操作系统使用的是Initrd镜像文件,格式为initrd.img-xxx,而部分Centos操作系统使用的是Initramfs镜像文件,格式为initramfs-xxx.img。

解决方案

以下操作将会在源端生成与内核文件相匹配的镜像文件,但可能会对源端的操作系统产生影响,存在一定风险。

操作系统

配置

操作指导

CentOS/EulerOS系列

以CentOS 7.0为例:

  1. 请修改“/etc/dracut.conf”文件,在add_drivers项中添加virtio的驱动(virtio_blk、virtio_scsi 、virtio_net、virtio_pci、virtio_ring、virtio)。驱动名之间以空格隔开。
  2. 保存并退出“/etc/dracut.conf”文件,执行dracut -f命令,重新生成initrd。

CentOS/EulerOS系列操作指导

Ubuntu/Debian系列

  1. 请修改“/etc/initramfs-tools/modules”文件,添加virtio的驱动(virtio_blk、virtio_scsi 、virtio_net、virtio_pci、virtio_ring、virtio)。驱动名之间以空格隔开。
  2. 保存并退出“/etc/initramfs-tools/modules”文件,执行update-initramfs -u命令,重新生成initrd。

Ubuntu/Debian系列操作指导

SUSE和openSUSE系列

版本低于SUSE 12 SP1或低于openSUSE 13时:

  1. 请修改“/etc/sysconfig/kernel”文件,在INITRD_MODULES=""添加virtio的驱动(virtio_blk、virtio_scsi 、virtio_net、virtio_pci、virtio_ring、virtio)。驱动名之间以空格隔开。
  2. 执行mkinitrd命令,重新生成initrd。

SUSE/openSUSE系列操作指导(版本低于SUSE 12 SP1/openSUSE 13)

版本为SUSE 12 SP1时:

  1. 请修改“/etc/dracut.conf”文件,在add_drivers项中添加virtio的驱动(virtio_blk、virtio_scsi、virtio_net、virtio_pci、virtio_ring、virtio)。驱动名之间以空格隔开。
  2. 执行命令dracut -f,重新生成initrd。

SUSE/openSUSE系列操作指导(版本为SUSE 12 SP1)

版本高于SUSE 12 SP1或高于openSUSE 13版本时:

  1. 请修改“/etc/dracut.conf”文件,在add_drivers项中添加virtio的驱动(virtio_blk、virtio_scsi 、virtio_net、virtio_pci、virtio_ring、virtio)。驱动名之间以空格隔开。
  2. 保存并退出“/etc/dracut.conf”文件,执行dracut -f命令,重新生成initrd。

SUSE/openSUSE系列操作指导(版本高于SUSE 12 SP1/openSUSE 13)