一、前置准备

1. 创建快照

非常重要,快照保证你可以随便玩,有快照兜底!!!

2. 在控制台扩容云盘容量

  • 选择在线扩容
  • 付钱

image.png

3.查看实例的云盘情况

运行fdisk -lu
image.png
系统盘(/dev/vda1)和数据盘(/dev/vdb1)的两个分区

4. 命令确认已有分区的文件系统类型

运行 df -Th
image.png

5. 下载工具

  • 在ECS实例内部,安装gdisk工具。

如果您的分区为GPT格式,必须执行此步骤;如果您的分区为MBR格式,请跳过此步骤。
yum install gdisk -y

  • 安装growpart工具
  • CentOS 7及以上版本运行以下命令。

yum install cloud-utils-growpart xfsprogs -y

  • Debian 8及以上版本、Ubuntu14及以上版本运行以下命令。
    • 更新软件源。

apt-get update

  1. - 安装cloud-guest-utils

apt install cloud-guest-utils xfsprogs -y

二、开始扩容

1. 查看vdb云盘大小为40G,目录/storage为20G

用于列出所有可用块设备的信息
lsblk
image.png

2. 使用growpart工具扩容分区vdb1

如果是系统盘的第一个分区,运行以下命令
growpart /dev/vda 1
扩容数据盘的第一个分区
growpart /dev/vdb 1
image.png

3. 扩展文件系统

  • ext*文件系统(例如ext3和ext4):运行以下命令扩展文件系统。

所以使用
resize2fs **<PartitionName>**
resize2fs /dev/vdb1

  • xfs文件系统:运行以下命令扩展文件系统。

xfs_growfs **<mountpoint>**
image.png

4. 扩容完成

运营df -h查看扩容结果

三、常见问题

1. 运行growpart /dev/vda 1时,提示unexpected output in sfdisk --version [sfdisk,来自 util-linux 2.23.2]

  • 运行以下命令,切换字符编码类型。

LANG=en_US.UTF-8

  • 如果问题仍未解决,运行以下命令,切换字符编码类型。

export LC_ALL=en_US.UTF-8

  • 如果问题仍未解决,运行以下命令,切换字符编码类型。

localectl set-locale LANG=en_US.UTF-8

  • 如果采用以上方案无法解决问题时,运行以下命令,切换字符编码类型。

export LANGUAGE=en_US.UTF-8

当您通过切换字符编码,成功完成扩容分区后,建议您按需切回原有字符编码。
local 查看目前所支持的语言与编码

2. 运行growpart /dev/vda 1时,提示-bash: growpart: command not found

详情见阿里云文档

参考链接