云服务器使用指南
存储管理
扩容云盘
扩展分区及文件系统(Linux)
在线扩展云盘分区及文件系统

在线扩展云盘分区及文件系统

智算云技术支持 – 发表于:2023年08月31日 08:30:30

当通过控制台扩容了作为数据盘的云盘后,此时仅扩展了存储容量,还需进行云盘分区或文件系统的扩容。本文提供了不停服的扩容分区及文件系统步骤,您可参考本文进行操作。

一、前提条件

1、在按照本文操作前,请您给对应云盘创建快照,完成数据备份。详情请参见 创建快照。如出现误操作导致数据丢失,则可回滚快照进行数据恢复。

2、已通过控制台扩容云盘容量,且该盘已挂载至云服务器。详情请参见 扩容云盘

3、云服务器内核不低于3.6.0版本,可使用 uname -a 命令查看内核版本。若内核版本低于3.6.0,可参考 扩展分区及文件系统 进行操作。

二、操作环境

资源说明
操作系统CentOS 8.0 64位
数据盘/dev/vdb:使用 MBR 分区和 ext4 文件系统,已通过控制台由50GB扩容到60GB。

三、查看云盘分区信息

1. 登录云服务器

通过平台提供的【WebSSH】功能登录到云服务器。

2. 执行以下命令,查询云盘的分区信息。

 
fdisk -l
 

返回结果如下图所示:

可从图中获取以下信息:

/dev/vdb 数据盘容量为60GB,包含 MBR 分区 /dev/vdb1,容量为50GB。

3. 执行以下命令,确认已有分区的文件系统类型。

 
df -TH
        

返回结果如下图所示:

可从图中获取以下信息:

/dev/vdb1 文件系统类型为 ext4,已挂载至 /mnt/disk1。

/dev/vdc1 文件系统类型为 xfs,已挂载至 /mnt/disk2。

四、扩容分区

1. 根据对应云服务器操作系统类型,执行以下命令,安装 growpart 工具。

  • Ubuntu
 
apt-get install -y cloud-guest-utils
 
  • CentOS
 
yum install -y cloud-utils-growpart
 

2. 执行以下命令,使用 growpart 工具扩容分区。

本文以扩容 /dev/vdb1 分区为例,命令中 /dev/vdb 与 1 间需使用空格分隔。您可按需修改命令。

 
growpart /dev/vdb 1
 

返回结果如下图所示,则表示分区扩容成功。

五、扩容文件系统

1. 根据获取到的文件系统类型,执行对应命令扩容文件系统:

  • 扩容 ext 文件系统

执行以下命令,扩容 ext 文件系统:

 
resize2fs /dev/vdb1
            

返回结果如下图所示:

  • 扩容 xfs 文件系统

执行以下命令,扩容 xfs 文件系统:

 
xfs_growfs <挂载>
 

本文示例为 /dev/vdc1 挂载至 /mnt/disk2,则执行以下命令:

 
xfs_growfs /mnt/disk2
 

返回结果如下图所示:

2. 执行以下命令,查看扩容结果。

 
df -TH
 

返回结果如下图所示,则表示已扩容成功。

3. 扩容成功后请检查数据完整性,观察云服务器中的业务是否正常运行。

如果有异常可以使用回滚快照的方式进行数据恢复,参见回滚快照