全部產品
Search
文件中心

:Alibaba Cloud Linux 2系統的ECS執行個體系統硬碟擴容失敗,如何處理?

更新時間:Feb 28, 2024

問題描述

符合如下條件的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過程,導致執行個體啟動後出現以下情況:

  1. /proc/mounts/根目錄的掛載裝置為/dev/root

  2. 系統沒有正確建立軟連結/dev/root

因此在執行個體啟動過程中,cloud-init應用無法正確識別系統根分區資訊,導致擴容失敗。

解決方案

方案一:擴容系統硬碟的分區和檔案系統

參考以下步驟,擴容系統硬碟的分區和檔案系統。

  1. 執行以下命令,對系統硬碟第一個分區進行擴容。

    growpart /dev/vda 1
  2. 執行以下命令,擴容系統硬碟的/dev/vda1分區檔案系統。

    resize2fs /dev/vda1
    說明

    以上命令是擴容EXT4格式的檔案系統。如果您使用的是XFS檔案系統,需執行 xfs_growfs /dev/vda1命令擴容檔案系統。更多資訊,請參見擴容分區和檔案系統(Linux)

方案二:更換系統硬碟

該問題在aliyun_2_1903_x64_20G_qboot_alibase_20200904.vhd版本的qboot鏡像中已修複,您使用新鏡像即可。具體操作,請參見更換作業系統(系統硬碟)