我有一台服务器运行Canonical最近的Ubuntu AMI。 EBS启动卷的大小为8GB。我知道我可以通过拍摄快照,创建新卷并扩展其上的分区来调整EBS卷的大小。如何在机器运行时增加音量?如果无法做到这一点,那么以最小的停机时间增加启动卷大小的首选方法是什么?
答案 0 :(得分:51)
我们可以使用新的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 /
要将xvda1从16GB t0 32GB扩展,我们需要growpart。 growpart是cloudutils
的一部分sudo apt install cloud-utils
安装cloud-utils后,执行growpart命令
sudo growpart /dev/xvda 1
现在lsblk,将显示
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 32G 0 disk
└─xvda1 202:1 0 32G 0 part /
但是df -h只显示16GB
将xvda1扩展到32GB的最终命令是
sudo resize2fs /dev/xvda1
对于XFS文件系统,
sudo xfs_growfs /dev/xvdal
谢谢egg
答案 1 :(得分:39)
不幸的是,在Amazon EBS实例运行时,无法增加Amazon EC2根设备存储卷的大小 - Eric Hammond写了详细的内容(我倾向于说'规范' ';)关于Resizing the Root Disk on a Running EBS Boot EC2 Instance的文章:
只要你在EC2实例上有一点停机时间就可以了(很少 分钟),可以用a更改根EBS卷 更大的副本,无需启动新实例。
如果你正确地准备了他描述的步骤(我强烈建议首先使用丢弃的EC2实例来测试它们以熟悉程序),你应该能够在几分钟的停机时间内完成这个过程。< / p> 祝你好运!
答案 2 :(得分:20)
对这个为期5年的问题的回答很晚
AWS刚刚宣布了一项名为 Elastic Volumes 的新EBS功能,该功能允许您在使用卷时增加音量,调整性能或更改音量类型。
您可以在AWS博客here上阅读更多相关信息。
答案 3 :(得分:7)
您只需要首先创建其快照,然后从该快照创建另一个卷,并在准备好新卷后,从实例中分离旧卷并附加新卷。确保在启动此过程之前停止实例,并在完成后重新启动实例。
参考http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html
答案 4 :(得分:-1)
这适用于xfs文件系统只需运行此命令xfs_growfs /
答案 5 :(得分:-2)
你不能这样做。但是如果您更专注于停机然后成本,您可能能够克隆您的主实例,将更大的EBS存储设备安装到您的系统,复制数据,然后将流量重定向到您的新实例。
如果您愿意,我最近使用的方法是使用S3备份并部署到其他系统。因此,例如,您现有的系统正在运行..设置一个脚本,每隔N分钟/小时/天将数据上传到s3。然后编写一个脚本,在启动新实例以下载该数据时使用。如果您的数据不是经常更新的,那么这应该可以正常工作(对我来说,我使用它来分发我的代码库的更新版本,而数据本身是在ec2数据库服务器上管理的。)
希望有所帮助。