监控卷修改的进度 - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

监控卷修改的进度

当您修改 EBS 卷时,它将经历一系列状态。卷将依次进入 modifying 状态、optimizing 状态和 completed 状态。此时,卷已准备好做进一步的修改。

注意

在极少数情况下,暂时的 Amazon 故障可能会导致 failed 状态。这并不指示卷的运行状况;它仅指示卷修改失败。如果发生这种情况,请重试卷修改。

当卷处于 optimizing 状态时,卷性能介于源配置规范和目标配置规范之间。过渡卷的性能将不会低于源卷的性能。如果您降级 IOPS,则过渡卷的性能不会低于目标卷的性能。

卷修改更改将生效,如下所示:

  • 大小更改通常需要几秒钟才能完成,并在卷转为 Optimizing 状态后生效。

  • 性能 (IOPS) 更改可能需要几分钟到几小时才能完成,具体视所做的配置更改而定。

  • 新配置生效最长需要 24 个小时,在某些情况下可能会更长,例如在未完全初始化卷的情况下。通常,完全使用的 1 TiB 卷需要约 6 个小时才能迁移到新的性能配置。

要监控卷修改的进度,请使用以下方法之一。

Amazon EC2 console

使用 Amazon EC2 控制台监控修改的进度

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Volumes

  3. 选择该卷。

  4. State 列和详细信息窗格中的 State 字段包含以下格式的信息:卷状态 - 修改状态 (进度%)。可能的卷状态包括:creatingavailablein-usedeletingdeletederror。可能的修改状态包括:modifyingoptimizingcompleted。卷修改完成后,我们会即刻删除修改状态和进度,只保留卷状态。

    在本示例中,所选卷的修改状态为 optimizing。下一个卷的修改状态为 modifying

  5. 选择详细信息窗格的 State 字段中的文本,以显示有关最近的修改操作的信息,如上一步所示。

Amazon CLI

使用 Amazon CLI 监控修改进度

使用 describe-volumes-modifications 命令查看一个或多个卷修改的进度。以下示例描述了两个卷的卷修改。

aws ec2 describe-volumes-modifications --volume-id 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 } ] }

下一个示例描述了修改状态为 optimizingcompleted 的所有卷,然后筛选和格式化结果以只显示于 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 监控修改进度

  1. 通过以下网址打开 CloudWatch 控制台:https://console.aws.amazon.com/cloudwatch/

  2. 依次选择 EventsCreate rule

  3. 对于 Build event pattern to match events by service,选择 Custom event pattern

  4. 对于 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" } }