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

监控卷修改的进度

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

注意

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

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

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

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

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

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

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

Console
使用 Amazon EC2 控制台监控修改的进度
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

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

  3. 选择该卷。

  4. 详细信息选项卡的卷状态列和卷状态字段包含如下格式的信息:卷状态 - 修改状态修改进度百分比)。下图显示了卷和卷修改状态。

    
                  卷和卷修改状态

    可能的卷状态包括 creatingavailablein-usedeletingdeletederror

    可能的修改状态为 modifyingoptimizingcompleted

    修改完成后,仅显示卷状态。不再显示修改状态和进度。

Amazon CLI
要使用 Amazon 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 } ] }

下一个示例描述了修改状态为 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. 访问 https://console.aws.amazon.com/cloudwatch/ 打开 CloudWatch 控制台。

  2. 依次选择 EventsCreate rule

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

  4. 对于构建自定义事件模式,将内容替换为以下内容并选择保存

    { "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" } }