本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
监控 Amazon EBS 卷修改的进度
当您修改 EBS 卷时,它将经历一系列状态。卷将依次进入 modifying
状态、optimizing
状态和 completed
状态。此时,卷已准备好做进一步的修改。
注意
在极少数情况下,暂时的 AWS 故障可能会导致 failed
状态。这并不指示卷的运行状况;它仅指示卷修改失败。如果发生这种情况,请重试卷修改。
当卷处于 optimizing
状态时,卷性能介于源配置规范和目标配置规范之间。过渡卷的性能将不会低于源卷的性能。如果您降级 IOPS,则过渡卷的性能不会低于目标卷的性能。
卷修改更改将生效,如下所示:
-
大小更改通常需要几秒钟才能完成,并在卷转为
Optimizing
状态后生效。 -
性能(IOPS)更改可能需要几分钟到几小时才能完成,具体视所做的配置更改而定。
-
在某些情况下,新配置生效最长需要 24 个小时,例如卷未完全初始化时。通常,完全使用的 1 TiB 卷需要约 6 个小时才能迁移到新的性能配置。
要监控卷修改的进度,请使用以下方法之一。
- Console
-
使用 Amazon EC2 控制台监控修改的进度
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Volumes。
-
选择该卷。
-
详细信息选项卡的卷状态列和卷状态字段包含如下格式的信息:
卷状态
-修改状态
(修改进度
百分比)。下图显示了卷和卷修改状态。可能的卷状态包括
creating
、available
、in-use
、deleting
、deleted
和error
。可能的修改状态为
modifying
、optimizing
和completed
。修改完成后,仅显示卷状态。不再显示修改状态和进度。
- AWS CLI
-
要使用 AWS CLI 监控修改进度
使用 describe-volumes-modifications 命令查看一个或多个卷修改的进度。以下示例描述了两个卷的卷修改。
aws ec2 describe-volumes-modifications --volume-ids
vol-11111111111111111
vol-22222222222222222
在以下示例输出中,卷修改仍处于
modifying
状态。以百分比形式报告进展情况。{ "VolumesModifications": [ { "TargetSize": 200, "TargetVolumeType": "io1", "ModificationState": "modifying", "VolumeId": "vol-11111111111111111", "TargetIops": 10000, "StartTime": "2017-01-19T22:21:02.959Z", "Progress": 0, "OriginalVolumeType": "gp2", "OriginalIops": 300, "OriginalSize": 100 }, { "TargetSize": 2000, "TargetVolumeType": "sc1", "ModificationState": "modifying", "VolumeId": "vol-22222222222222222", "StartTime": "2017-01-19T22:23:22.158Z", "Progress": 0, "OriginalVolumeType": "gp2", "OriginalIops": 300, "OriginalSize": 1000 } ] }
下一个示例描述了修改状态为
optimizing
或completed
的所有卷,然后筛选和格式化结果以只显示于 2017 年 2 月 1 日及之后做出的修改:aws ec2 describe-volumes-modifications --filters Name=modification-state,Values="optimizing","completed" --query "VolumesModifications[?StartTime>='2017-02-01'].{ID:VolumeId,STATE:ModificationState}"
以下是包含有关两个卷的信息的示例输出:
[ { "STATE": "optimizing", "ID": "vol-06397e7a0eEXAMPLE" }, { "STATE": "completed", "ID": "vol-ba74e18c2aEXAMPLE" } ]
- CloudWatch Events console
-
利用 CloudWatch Events,您可以为卷修改事件创建通知规则。您可以使用规则生成使用 Amazon SNS 的通知消息,或调用 Lambda 函数来响应匹配事件。尽最大努力发出事件。
使用 CloudWatch Events 监控修改进度
访问 https://console.aws.amazon.com/cloudwatch/
打开 CloudWatch 控制台。 -
依次选择 Events、Create rule。
-
对于 Build event pattern to match events by service,选择 Custom event pattern。
-
对于构建自定义事件模式,将内容替换为以下内容并选择保存。
{ "source": [ "aws.ec2" ], "detail-type": [ "EBS Volume Notification" ], "detail": { "event": [ "modifyVolume" ] } }
下面是示例事件数据:
{ "version": "0", "id": "
01234567
-0123
-0123
-0123
-012345678901
", "detail-type": "EBS Volume Notification", "source": "aws.ec2", "account": "012345678901
", "time": "2017-01-12T21:09:07Z", "region": "us-east-1
", "resources": [ "arn:aws:ec2:us-east-1
:012345678901
:volume/vol-03a55cf56513fa1b6
" ], "detail": { "result": "optimizing", "cause": "", "event": "modifyVolume", "request-id": "01234567
-0123
-0123
-0123
-0123456789ab
" } }