问题现象

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

可能原因

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

您可以执行以下命令查看分区是否对齐:
  • fdisk -l:查看Start值是否为2048。如果不是,表示分区未对齐。
  • parted -l:查看Start值是否1049 kB。如果不是(如下图所示),表示分区未对齐。云盘扩容后使用growpart扩展GPT分区失败该如何处理?(图2)

解决方案

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

  1. 远程连接ECS实例。
    具体操作,请参见连接方式概述。
  2. 执行以下命令,查看etc/fstab/dev/vdb1的分区信息。
    cat /etc/fstab
    例如/dev/vdb1分区的信息如下图所示。云盘扩容后使用growpart扩展GPT分区失败该如何处理?(图3)
  3. 执行以下命令,编辑etc/fstab文件,然后手动删除已查询到的/dev/vdb1的分区信息。
    vim /etc/fstab
  4. 执行以下命令,卸载分区/dev/vdb1
    umount /dev/vdb1
    云盘扩容后使用growpart扩展GPT分区失败该如何处理?(图4)
  5. 重新分区并挂载文件系统。
    具体操作,请参见分区格式化大于2 TiB数据盘。
  6. 重新扩展分区和文件系统。
    具体操作,请参见扩容分区和文件系统(Linux)。

来源:阿里云