Alibaba Cloud Linux 2系統(tǒng)的ECS實(shí)例系統(tǒng)盤擴(kuò)容失敗,如何處理?
問題描述
符合如下條件的Alibaba Cloud Linux 2實(shí)例在系統(tǒng)盤配置不是默認(rèn)值20 GB時(shí),擴(kuò)容磁盤失敗,系統(tǒng)顯示系統(tǒng)盤大小仍然為默認(rèn)值20 GB。
鏡像:aliyun_2_1903_x64_20G_alibase_20200114.qboot.vhd鏡像(以下簡稱qboot鏡像)。
內(nèi)核:4.19.81-17.al7.x86_64內(nèi)核版本。
例如系統(tǒng)盤配置為300 GB,擴(kuò)容vda1分區(qū)至非20 GB后,還是顯示20 GB,如下圖所示:
查看對應(yīng)的/var/log/cloud-init.log
日志,發(fā)現(xiàn)磁盤resize失敗。
問題原因
該問題的原因是由于qboot鏡像啟動優(yōu)化去除了initramfs過程,導(dǎo)致實(shí)例啟動后出現(xiàn)以下情況:
/proc/mounts
中/
根目錄的掛載設(shè)備為/dev/root
。系統(tǒng)沒有正確創(chuàng)建軟鏈接
/dev/root
。
因此在實(shí)例啟動過程中,cloud-init應(yīng)用無法正確識別系統(tǒng)根分區(qū)信息,導(dǎo)致擴(kuò)容失敗。
解決方案
方案一:擴(kuò)容系統(tǒng)盤的分區(qū)和文件系統(tǒng)
參考以下步驟,擴(kuò)容系統(tǒng)盤的分區(qū)和文件系統(tǒng)。
執(zhí)行以下命令,對系統(tǒng)盤第一個分區(qū)進(jìn)行擴(kuò)容。
growpart /dev/vda 1
執(zhí)行以下命令,擴(kuò)容系統(tǒng)盤的
/dev/vda1
分區(qū)文件系統(tǒng)。resize2fs /dev/vda1
說明以上命令是擴(kuò)容EXT4格式的文件系統(tǒng)。如果您使用的是XFS文件系統(tǒng),需執(zhí)行
xfs_growfs /dev/vda1
命令擴(kuò)容文件系統(tǒng)。更多信息,請參見擴(kuò)容分區(qū)和文件系統(tǒng)(Linux)。
方案二:更換系統(tǒng)盤
該問題在aliyun_2_1903_x64_20G_qboot_alibase_20200904.vhd版本的qboot鏡像中已修復(fù),您使用新鏡像即可。具體操作,請參見更換操作系統(tǒng)(系統(tǒng)盤)。