全部產品
Search
文件中心

:雲端硬碟擴容後使用growpart擴充GPT分區失敗該如何處理?

更新時間:Jun 03, 2026

問題現象

雲端硬碟的分區格式為GPT,雲端硬碟進行雲端硬碟容量擴容後,使用growpart工具擴充分區(例如/dev/vdb1)或者檔案系統時提示如下所示的報錯資訊,導致雲端硬碟容量擴容了但是分區和檔案系統的可用空間沒有增加。本文以/dev/vdb1分區為例進行說明。

[root@ixxx ~]# growpart /dev/vdb 1
failed [pt_update:1] pt_update /dev/vdb 1
partx: /dev/vdb: error updating partition 1
FAILED: disk=/dev/vdb partition=1: failed to repartition
***** WARNING: Resize failed, attempting to revert ******
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
***** Appears to have gone OK ****

可能原因

初始化資料盤(例如/dev/vdb)時,未按推薦的分區對齊進行分區,即未按要求執行mkpart primary 1 100%命令設定分區的開始位置和結束位置。

您可以執行以下命令查看分區是否對齊:

  • fdisk -l:查看Start值是否為2048。如果不是,表示分區未對齊。

  • parted -l:查看Start值是否1049 kB。如果不是(如下所示),表示分區未對齊。

    [root@izxxx ~]# parted -l
    Model: Virtio Block Device (virtblk)
    Disk /dev/vda: 42.9GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    Number  Start   End     Size    File system  Name                  Flags
     1      1049kB  101MB   99.6MB  fat16        EFI System Partition  boot
     2      101MB   20.1GB  20.0GB  ext4
    Model: Virtio Block Device (virtblk)
    Disk /dev/vdb: 3221GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    Number  Start   End     Size    File system  Name     Flags
     1      17.4kB  1074GB  1074GB  ext4         primary

解決方案

您可以參考以下步驟,重新分區後再擴充分區,解決上述問題。

  1. 遠端連線ECS執行個體。

    具體操作,請參見選擇ECS遠端連線方式

  2. 執行以下命令,查看etc/fstab/dev/vdb1的分區資訊。

    cat /etc/fstab

    例如/dev/vdb1分區的資訊如下所示。

    [root@iZxxx ~]# cat /etc/fstab
    #
    # /etc/fstab
    # Created by anaconda on Fri Mar 18 11:23:53 2022
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    #
    UUID=1ecad39c-b7f6-4d5f-bfe1-2ffec1877a1d /                       ext4    defaults        1 1
    UUID=B483-4E9C          /boot/efi               vfat    umask=0077,shortname=winnt 0 0
    UUID=f315122e-2d1d-4705-aaaa-1ad62ae66096 /mnt ext4 defaults 0 0
  3. 執行以下命令,編輯etc/fstab檔案,然後手動刪除已查詢到的/dev/vdb1的分區資訊。

    vim /etc/fstab
  4. 執行以下命令,卸載分區/dev/vdb1

    umount /dev/vdb1
    [root@xxx          ~]# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    devtmpfs         31G     0   31G   0% /dev
    tmpfs            31G     0   31G   0% /dev/shm
    tmpfs            31G   33M   31G   1% /run
    tmpfs            31G     0   31G   0% /sys/fs/cgroup
    /dev/vda2        19G  3.5G   14G  21% /
    /dev/vda1        95M   12M   84M  12% /boot/efi
    tmpfs           6.2G     0  6.2G   0% /run/user/0
    /dev/vdb1       985G   77M  935G   1% /mnt
    [root@xxx          ~]# umount /dev/vdb1
    [root@xxx          ~]# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    devtmpfs         31G     0   31G   0% /dev
    tmpfs            31G     0   31G   0% /dev/shm
    tmpfs            31G   33M   31G   1% /run
    tmpfs            31G     0   31G   0% /sys/fs/cgroup
    /dev/vda2        19G  3.5G   14G  21% /
    /dev/vda1        95M   12M   84M  12% /boot/efi
    tmpfs           6.2G     0  6.2G   0% /run/user/0
  5. 重新分區並掛載檔案系統。

    重要

    重新分區會丟失原分區的資料,請您提前建立快照備份雲端硬碟上的所有資料,待重新分區並掛載檔案系統完成後,您可以通過備份資料恢複原雲端硬碟。建立快照的具體操作,請參見手動建立單個快照

    具體操作,請參見初始化資料盤(Linux)

  6. 重新擴容分區及檔案系統