不再需要停止实例并分离 EBS 卷来调整其大小!
2017 年 2 月 13 日亚马逊宣布:“Amazon EBS 更新 – 新的弹性卷改变了一切 https://aws.amazon.com/blogs/aws/amazon-ebs-update-new-elastic-volumes-change-everything/"
即使要扩展的卷是正在运行的实例的根卷,该过程仍然有效!
Say we want to increase boot drive of Ubuntu from 8G up to 16G "on-the-fly".
step-1) login into AWS web console -> EBS -> right mouse click on the one you wish to resize -> "Modify Volume" -> change "Size" field and click [Modify] button
step-2) ssh into the instance and resize the partition:
let's list block devices attached to our box:
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 16G 0 disk
└─xvda1 202:1 0 8G 0 part /
正如您所看到的,/dev/xvda1 在 16 GiB 设备上仍然是 8 GiB 分区,并且该卷上没有其他分区。
让我们使用“growpart”将 8G 分区大小调整为 16G:
# install "cloud-guest-utils" if it is not installed already
apt install cloud-guest-utils
# resize partition
growpart /dev/xvda 1
我们来看看结果(你可以看到 /dev/xvda1 现在是 16G):
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 16G 0 disk
└─xvda1 202:1 0 16G 0 part /
很多 SO 答案建议使用 fdisk 删除/重新创建分区,这是一个令人讨厌、有风险、容易出错的过程,尤其是当我们更改启动驱动器时。
step-3) resize file system to grow all the way to fully use new partition space
# Check before resizing ("Avail" shows 1.1G):
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.8G 6.3G 1.1G 86% /
# resize filesystem
resize2fs /dev/xvda1
# Check after resizing ("Avail" now shows 8.7G!-):
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 16G 6.3G 8.7G 42% /
因此,我们的停机时间为零,并且有大量新空间可供使用。
Enjoy!
更新:更新:在 XFS 文件系统时使用 sudo xfs_growfs /dev/xvda1 而不是 resize2fs。