云盘扩容后使用growpart扩展GPT分区失败该如何处理?

问题现象

云盘的分区格式为GPT,云盘进行云盘容量扩容后,使用growpart工具扩展分区(例如/dev/vdb1)或者文件系统时提示如下图所示的报错信息,导致云盘容量扩容了但是分区和文件系统的可用空间没有增加。本文以/dev/vdb1分区为例进行说明。分区失败

可能原因

初始化数据盘(例如/dev/vdb)时,未按推荐的分区对齐方式进行分区,即未按要求执行mkpart primary 1 100%命令设置分区的开始位置和结束位置。

您可以执行以下命令查看分区是否对齐:

  • fdisk -l:查看Start值是否为2048。如果不是,表示分区未对齐。

  • parted -l:查看Start值是否1049 kB。如果不是(如下图所示),表示分区未对齐。查看起始分区

解决方案

您可以参考以下步骤,重新分区后再扩展分区,解决上述问题。

  1. 远程连接ECS实例。

    具体操作,请参见连接方式概述

  2. 执行以下命令,查看etc/fstab/dev/vdb1的分区信息。

    cat /etc/fstab

    例如/dev/vdb1分区的信息如下图所示。查看分区信息

  3. 执行以下命令,编辑etc/fstab文件,然后手动删除已查询到的/dev/vdb1的分区信息。

    vim /etc/fstab
  4. 执行以下命令,卸载分区/dev/vdb1

    umount /dev/vdb1
    卸载分区
  5. 重新分区并挂载文件系统。

    重要

    重新分区会丢失原分区的数据,请您提前创建快照备份云盘上的所有数据,待重新分区并挂载文件系统完成后,您可以通过备份数据恢复原云盘。创建快照的具体操作,请参见创建一个云盘快照

    具体操作,请参见初始化大于2 TiB Linux数据盘

  6. 重新扩展分区和文件系统。

    具体操作,请参见扩容分区和文件系统(Linux)