AWS EC2 磁盘EBS扩容

5min不停机扩容EBS卷大小

0x00 增加磁盘大小

1. 在ec2实例界面选择相应需要扩容磁盘的实例,选择要扩容的磁盘

kionf

kionf

2. 修改卷大小

kionf

kionf

3. 确认

显示进度,等待应用配置完成,需要几分钟耐心等待….

kionf

0x01 扩容磁盘

安装扩容工具

1
yum install cloud-init cloud-utils-growpart gdisk

等待ebs卷大小调整完成后,在扩容的实例中执行lsblk列出连接到实例的EBS设备

1
2
3
4
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 6000G 0 disk
└─xvda1 202:1 0 20G 0 part /

使用 df -h 查看,/dev/xvda1 设备已扩展为 6000 GiB,但操作系统仍只能看到原来的 20 GiB ext4 文件系统

1
2
3
4
5
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 3.9G 64K 3.9G 1% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
/dev/xvda1 20G 12G 8.2G 59% /

接下来使用growpart展开修改后的分区(注意将设备名称与分区名称分隔开)

1
2
[[email protected]] #: growpart /dev/xvda 1
CHANGED: disk=/dev/xvda partition=1: start=4096 old: size=41938910,end=41943006 new: size=104853470,end=104857566

通过查看lsblk可以确认分区/dev/xvda1现已填充卷/dev/xvda上的可用空间:

1
2
3
4
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 6000G 0 disk
└─xvda1 202:1 0 6000G 0 part /

对于 Linux ext2、ext3 或 ext4 文件系统,使用以下命令并替换要扩展的设备名称:

1
2
3
4
5
[[email protected]] #: resize2fs /dev/xvda1
resize2fs 1.42.12 (29-Aug-2014)
Filesystem at /dev/xvda1 is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 4
The filesystem on /dev/xvda1 is now 13106683 (4k) blocks long.

0x02 完成扩容

至此,磁盘已完成扩容,查看磁盘可用空间:

1
2
3
4
5
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 3.9G 64K 3.9G 1% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
/dev/xvda1 6000G 12G 5988.2G 0.002% /