阿里云ecs磁盘使用率较高,可以在线扩容磁盘。

本次扩容主要使用到两个命令growpart、resize2fs
🔍 两个命令的作用详解
1. growpart /dev/vda 1
-
命令作用: 扩展磁盘 分区 的大小。
-
具体说明:
-
growpart 是一个用于调整分区表的工具。
-
/dev/vda 指定了要操作的 物理磁盘(通常是第一块磁盘)。
-
1 指定了要扩展的 分区号 ,即 /dev/vda1 这个分区。
-
这个命令的作用是:将 /dev/vda1 分区占据的空间扩展到其所在磁盘 (/dev/vda) 的最大可用空间。它只修改分区表,让分区变大,但文件系统本身还没有感知到这个变化。
-
2. resize2fs /dev/vda1
-
命令作用: 扩展分区上的 文件系统 大小。
-
具体说明:
-
resize2fs 是一个用于调整 ext2、ext3 或 ext4 文件系统大小的工具(这是 Linux 上最常见的文件系统类型)。
-
/dev/vda1 指定了要调整大小的 分区(该分区上的文件系统)。
-
这个命令的作用是:将 /dev/vda1 上面的文件系统(例如 ext4)扩展到它现在所处的分区(已经被 growpart 扩大了)的全部容量。
-
只有执行了这一步,系统才能真正使用新增的磁盘空间。
-
📝 总结步骤
这两个命令是一个 完整的磁盘扩容流程:
-
growpart :扩充分区 的边界到磁盘末尾。
-
resize2fs :扩充文件系统 的大小,使其填满新的分区边界。
扩容流程

步骤一:扩展云盘容量
1. 首先创建快照,再进行扩容。

2. 云盘扩容

步骤二:扩容分区及文件系统
在完成云盘容量扩展后,需要扩容分区和文件系统方可使用新增的容量。阿里云提供了两种方式:
-
通过控制台扩容(推荐):在控制台利用云助手进行扩容,无需手动输入命令,操作便捷。
-
通过命令行扩容:登录实例手动输入命令来执行扩容。该方式操作性强,适用范围广泛。

因控制台方式无法执行,需要通过命令行执行扩容。先执行fdisk、lsblk、df -Th查看基本情况。
cpp
[root@localhost ~]# fdisk -lu
Disk /dev/vda: 1073.7 GB, 1073741824000 bytes, 2097152000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000b2d99
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 1048562549 524280251 83 Linux
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 1000G 0 disk
└─vda1 253:1 0 500G 0 part /
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 31G 0 31G 0% /dev
tmpfs tmpfs 31G 0 31G 0% /dev/shm
tmpfs tmpfs 31G 900K 31G 1% /run
tmpfs tmpfs 31G 0 31G 0% /sys/fs/cgroup
/dev/vda1 ext4 493G 438G 35G 93% /
tmpfs tmpfs 6.2G 0 6.2G 0% /run/user/0
通过执行growpart、resize2fs 命令扩容分区和文件系统
cpp
[root@localhost ~]# growpart /dev/vda 1
CHANGED: partition=1 start=2048 old: size=1048560502 end=1048562550 new: size=2097139117,end=2097141165
[root@localhost ~]# resize2fs /dev/vda1
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vda1 is mounted on /; on-line resizing required
old_desc_blocks = 32, new_desc_blocks = 63
The filesystem on /dev/vda1 is now 262142389 blocks long.
再次查看已扩容完成
cpp
[root@localhost ~]# df -TH
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 34G 0 34G 0% /dev
tmpfs tmpfs 34G 0 34G 0% /dev/shm
tmpfs tmpfs 34G 914k 34G 1% /run
tmpfs tmpfs 34G 0 34G 0% /sys/fs/cgroup
/dev/vda1 ext4 1.1T 471G 544G 47% /
tmpfs tmpfs 6.7G 0 6.7G 0% /run/user/0
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 1000G 0 disk
└─vda1 253:1 0 1000G 0 part /