监控 Amazon EBS 卷修改的进度 - Amazon EBS

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

监控 Amazon EBS 卷修改的进度

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

注意

在极少数情况下,暂时的 AWS 故障可能会导致 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

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

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 } ] }

下一个示例描述了修改状态为 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" } }