AWS支持通过控制台和CLI(docs)修改已安装的EBS卷的类型(磁盘,SSD等)。但Boto3中的volume class似乎不支持AutoEnableIO和DryRun以外的其他操作modifies volume attributes。如何使用Boto3更改正在运行的实例上的EBS卷类型?
有没有方法可以用Boto3改变EBS卷的类型,我没有看到或者从文档拼凑在一起?
AWS支持通过控制台和CLI(docs)修改已安装的EBS卷的类型(磁盘,SSD等)。但Boto3中的volume class似乎不支持AutoEnableIO和DryRun以外的其他操作modifies volume attributes。如何使用Boto3更改正在运行的实例上的EBS卷类型?
有没有方法可以用Boto3改变EBS卷的类型,我没有看到或者从文档拼凑在一起?
使用modify_volume()
方法:
import boto3
client = boto3.client('ec2')
response = client.modify_volume(VolumeId='vol-xxxxxxxx',VolumeType='io1',Iops=100)
做工精细,甚至在运行的启动卷。
完美!也为我工作。谢谢! –
为您解决这将是最好的选择:
但缺点是你必须恢复如果你的虚拟机,你无法执行整个过程,而无需重新启动虚拟机。
new_volume_id=$(aws ec2 create-volume \
--region "$region" \
--availability-zone "$zone" \
--size "$size" \
--snapshot "$snapshot_id" \
--output text \
--volume-type <value>
--query 'VolumeId')
创建新卷后,您可以附加新卷。但在此之前,你必须停止你的实例:
aws ec2 attach-volume \
--region "$region" \
--instance "$instance_id" \
--device "$root_device" \
--volume-id "$new_volume_id"
我不确定这个答案是否会在这种情况下帮助你。
希望它在一定程度上有所帮助!
这些都不是必要的,大多数情况下都是如此。 2017年,EBS开始支持现场热点的热点修改。您可以更改卷大小(仅增加)以及存储类型,EBS可以透明地实时处理迁移。内核会注意到卷容量的变化,您可以调整卷的文件系统的大小。如果实例较旧,则可能不支持它,在这种情况下,您必须停止该实例并分离该卷,但可以修改该卷并重新附加该卷。 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html –
我怀疑你是否可以修改正在运行的实例的卷属性。 – helloV
@helloV哦,是的。这是一件新事物。 https://aws.amazon.com/blogs/aws/amazon-ebs-update-new-elastic-volumes-change-everything/ –