問題描述
在作業系統遷移時,出錯提示“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用戶端。