如何增加正在运行的实例的EBS卷大小?

j0n*_*nes 68 amazon-ec2 amazon-ebs amazon-web-services

我有一台服务器运行Canonical最近的Ubuntu AMI.EBS启动卷的大小为8GB.我知道我可以通过拍摄快照,创建新卷并扩展其上的分区来调整EBS卷的大小.如何在机器运行时增加音量?如果无法做到这一点,那么以最短的停机时间增加启动卷大小的首选方法是什么?

tk1*_*404 59

我们可以使用新的EBS Feature Elastic卷来增加卷大小,我们需要按照以下步骤使用增加大小,如下所示

假设您的音量为16G,并将其增加到32GB.

    $lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  32G  0 disk
??xvda1 202:1    0  16G  0 part /
Run Code Online (Sandbox Code Playgroud)

要将xvda1从16GB t0 32GB扩展,我们需要growpart.growpart可作为cloudutils的一部分

sudo apt install cloud-utils
Run Code Online (Sandbox Code Playgroud)

安装cloud-utils后,执行growpart命令

sudo growpart /dev/xvda 1
Run Code Online (Sandbox Code Playgroud)

现在lsblk,将显示

    $ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  32G  0 disk
??xvda1 202:1    0  32G  0 part /
Run Code Online (Sandbox Code Playgroud)

但是df -h只会显示16GB

将xvda1扩展到32GB的最终命令是

sudo resize2fs /dev/xvda1
Run Code Online (Sandbox Code Playgroud)

在XFS文件系统的情况下,

sudo xfs_growfs /dev/xvda1 谢谢鸡蛋

  • 如果你使用的是XFS文件系统,那么最后的命令应该是```sudo xfs_growfs/dev/xvdal```而不是```resize2fs```. (2认同)

Ste*_*pel 40

不幸的是,当Amazon EC2实例运行时,无法增加Amazon EBS根设备存储卷的大小- Eric Hammond撰写了一篇关于调整根磁盘大小的详细信息(我倾向于说'规范';)在运行的EBS Boot EC2实例上:

只要您在EC2实例(几分钟)上有一点停机时间,就可以使用更大的副本更改根EBS卷,而无需启动新实例.

如果您正确准备了他描述的步骤(我强烈建议首先使用丢弃的EC2实例来测试它们以熟悉该过程),您应该能够在几分钟的停机时间内完成该过程.

祝好运!

  • 这个答案不是真的.http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html (13认同)
  • 更好的是,您可以编写脚本来执行操作.使用测试实例对其进行测试,然后在生产服务器上运行测试,以降低忘记步骤的风险. (2认同)

Kha*_* T. 21

对这个5岁问题的回答很晚

AWS刚刚宣布了一项名为Elastic Volumes的新EBS功能,该功能允许您在使用卷时增加卷大小,调整性能或更改卷类型.

您可以在此处在AWS博客上阅读更多相关信息.


小智 7

您只需要首先创建其快照,然后从该快照创建另一个卷,并在准备好新卷后,从实例中分离旧卷并附加新卷.确保在启动此过程之前停止实例,并在完成后重新启动实例.

请参阅http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html