监控卷修改的进度
当您修改 EBS 卷时,它将经历一系列状态。卷将依次进入 modifying 状态、optimizing 状态和 completed 状态。此时,卷已准备好做进一步的修改。
在极少数情况下,暂时的 Amazon 故障可能会导致 failed 状态。这并不指示卷的运行状况;它仅指示卷修改失败。如果发生这种情况,请重试卷修改。
当卷处于 optimizing 状态时,卷性能介于源配置规范和目标配置规范之间。过渡卷的性能将不会低于源卷的性能。如果您降级 IOPS,则过渡卷的性能不会低于目标卷的性能。
卷修改更改将生效,如下所示:
-
大小更改通常需要几秒钟才能完成,并在卷转为
Optimizing状态后生效。 -
性能 (IOPS) 更改可能需要几分钟到几小时才能完成,具体视所做的配置更改而定。
-
在某些情况下,新配置生效最长需要 24 个小时,例如卷未完全初始化时。通常,完全使用的 1 TiB 卷需要约 6 个小时才能迁移到新的性能配置。
要监控卷修改的进度,请使用以下方法之一。
- New console
-
使用 Amazon EC2 控制台监控修改的进度
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Volumes。
-
选择该卷。
-
在 Details(详细信息)选项卡的 Volume state(卷状态)列和 Volume state(卷状态)字段包含以下格式的信息:
volume-state-modification-state(progress%)。可能的卷状态包括
creating、available、in-use、deleting、deleted和error。可能的代码状态是
modifying、optimizing和completed。
- Old console
-
使用 Amazon EC2 控制台监控修改的进度
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Volumes。
-
选择该卷。
-
State 列和详细信息窗格中的 State 字段包含以下格式的信息:卷状态 - 修改状态 (进度%)。可能的卷状态包括:creating、available、in-use、deleting、deleted 和 error。可能的修改状态包括:modifying、optimizing 和 completed。卷修改完成后,我们会即刻删除修改状态和进度,只保留卷状态。
在本示例中,所选卷的修改状态为 optimizing。下一个卷的修改状态为 modifying。
-
选择详细信息窗格的 State 字段中的文本,以显示有关最近的修改操作的信息,如上一步所示。
- Amazon CLI
-
要使用 Amazon CLI 监控修改进度
使用 describe-volumes-modifications 命令查看一个或多个卷修改的进度。以下示例描述了两个卷的卷修改。
aws ec2 describe-volumes-modifications --volume-idsvol-11111111111111111vol-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 监控修改进度
通过以下网址打开 CloudWatch 控制台:https://console.aws.amazon.com/cloudwatch/
。 -
依次选择 Events、Create rule。
-
对于 Build event pattern to match events by service,选择 Custom event pattern。
-
对于 Build custom event pattern (构建自定义事件模式),将内容替换为以下内容并选择 Save (保存)。
{ "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" } }