跳到主要内容

主机资讯与使用指南

阿里云 ECS 扩容后怎么扩展磁盘:分区、ext4 与 XFS

区分 ECS 控制台云盘扩容与 Linux 文件系统扩容,按设备、分区和文件系统类型完成新增空间使用。

控制台变大了,系统里还没变

ECS 购买云盘扩容空间后,Linux 的原分区和文件系统可能仍是旧容量。整个过程分为云盘容量、分区容量、文件系统容量三层。

以下示例用于常见 Linux 普通分区。操作前保存快照;LVM、Btrfs 或没有分区的整盘文件系统,按阿里云对应流程处理,不套用本篇分区命令。

先看设备和文件系统

lsblk
lsblk -f
df -Th

记录目标磁盘、分区、文件系统及挂载点。例如磁盘是 /dev/vda,分区 /dev/vda1,文件系统 ext4,挂载到 /。实际设备也可能是 NVMe 命名,先确认再改示例。

磁盘本身仍显示旧容量时,查看控制台扩容是否完成。离线扩容还需要按平台文档从控制台启动或重启实例,先让系统识别新增容量。

普通分区用 growpart 扩展

sudo apt update
sudo apt install -y cloud-guest-utils
sudo growpart /dev/vda 1
lsblk

安装命令按 Ubuntu/Debian 编写。/dev/vda 与 1 分别代表磁盘和第一分区,中间有空格。growpart 修改分区边界;看到 CHANGED 后,再检查分区容量。

提示 NOCHANGE 时,检查磁盘容量是否更新、目标分区是否已经占满可用空间。不要为了扩容删除并重新创建已有数据的分区。

ext4 与 XFS 用不同命令

sudo resize2fs /dev/vda1

上面的命令仅用于已确认的 ext4 分区。resize2fs 参数是设备或分区路径,不是挂载目录。

sudo xfs_growfs /

如果目标文件系统是挂载在 / 的 XFS,使用第二条命令;数据盘则把 / 改成它实际的挂载点。两条命令选择与文件系统匹配的一条执行。

确认应用可以使用空间

df -Th
lsblk -f

对比目标文件系统容量和可用空间,新增容量可能因元数据略有差异。再检查原网站、数据库和文件目录。

只加系统盘,不会把位于另一块数据盘的文件库一起扩大。Docker 数据目录在独立挂载点时,扩容对应磁盘。

相关阅读