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/ –