问题描述
在操作系统迁移时,出错提示“Not enough space on /boot”。
问题原因
/boot
分区的可用空间要求大于100 MiB,如果待迁移的操作系统的/boot
目录没有100 MiB的空间来更新initramfs和新内核,可能会导致操作系统迁移失败。
解决方案
清理/boot
目录下不再需要的内核版本,包括对应的initramfs、vmlinuz和config等,请保证清理后的内核能成功启动。
使用root用户远程连接ECS实例。具体操作,请参见通过密码或密钥认证登录Linux实例。
执行以下命令,查看已安装的内核版本。
rpm -qa | grep kernel
执行以下命令,查看正在使用的内核版本。
uname -r
回显信息如下所示。
[root@iZbp104w56ovfyfxy9o**** ~]# uname -r 3.10.0-1160.el7.x86_64
清理不再需要的内核版本。
例如,清理
kernel-3.10.0-514.26.2.el7.x86_64
。如果内核通过rpm包的方式安装,执行以下命令,清理内核。
yum remove kernel-3.10.0-514.26.2.el7.x86_64
如果内核通过编译源码的方式安装,依次执行以下命令,清理内核。
REMOVE_KERNEL=3.10.0-514.26.2.el7.x86_64 grubby --remove-kernel=/boot/vmlinuz-$REMOVE_KERNEL rm -rf /boot/initramfs-$REMOVE_KERNEL.img /boot/initramfs-${REMOVE_KERNEL}kdump.img /boot/symvers-$REMOVE_KERNEL.gz /boot/System.map-$REMOVE_KERNEL /boot/vmlinuz-$REMOVE_KERNEL /boot/config-$REMOVE_KERNEL grubby --remove-kernel=/boot/vmlinuz-$REMOVE_KERNEL
设置剩余内核中最新版本的内核作为默认启动内核。
执行以下命令,查看目前已安装的所有内核。
grubby --info=ALL
执行以下命令,查看目前默认启动内核。
grubby --default-kernel
回显信息如下所示。
[root@iZbp104w56ovfyfxy9o**** ~]# grubby --default-kernel /boot/vmlinuz-3.10.0-1160.90.1.el7.x86_64
执行以下命令,设置剩余内核中最新版本的内核作为默认启动内核。
例如,设置剩余内核中最新版本的内核为
3.10.0-1160.76.1.el7.x86_64
。grubby --set-default /boot/vmlinuz-3.10.0-1160.76.1.el7.x86_64
问题排查解决后,运行SMC客户端再试。具体操作,请参见运行SMC客户端。