問題描述
符合如下條件的Alibaba Cloud Linux 2執行個體在系統硬碟配置不是預設值20 GB時,擴容磁碟失敗,系統顯示系統盤大小仍然為預設值20 GB。
鏡像:aliyun_2_1903_x64_20G_alibase_20200114.qboot.vhd鏡像(以下簡稱qboot鏡像)。
核心:4.19.81-17.al7.x86_64核心版本。
例如系統硬碟配置為300 GB,擴容vda1分區至非20 GB後,還是顯示20 GB,如下圖所示:
查看對應的/var/log/cloud-init.log
日誌,發現磁碟resize失敗。
問題原因
該問題的原因是由於qboot鏡像啟動最佳化去除了initramfs過程,導致執行個體啟動後出現以下情況:
/proc/mounts
中/
根目錄的掛載裝置為/dev/root
。系統沒有正確建立軟連結
/dev/root
。
因此在執行個體啟動過程中,cloud-init應用無法正確識別系統根分區資訊,導致擴容失敗。
解決方案
方案一:擴容系統硬碟的分區和檔案系統
參考以下步驟,擴容系統硬碟的分區和檔案系統。
執行以下命令,對系統硬碟第一個分區進行擴容。
growpart /dev/vda 1
執行以下命令,擴容系統硬碟的
/dev/vda1
分區檔案系統。resize2fs /dev/vda1
說明以上命令是擴容EXT4格式的檔案系統。如果您使用的是XFS檔案系統,需執行
xfs_growfs /dev/vda1
命令擴容檔案系統。更多資訊,請參見擴容分區和檔案系統(Linux)。
方案二:更換系統硬碟
該問題在aliyun_2_1903_x64_20G_qboot_alibase_20200904.vhd版本的qboot鏡像中已修複,您使用新鏡像即可。具體操作,請參見更換作業系統(系統硬碟)。