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

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

监控 Amazon EBS 批量修改的进度

修改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. 详细信息” 选项卡中的 “卷状态” 列和 “卷状态” 字段包含以下格式的信息:Volume state - Modification state (Modification progress%)。 下图显示了音量和音量修改状态。

    卷和卷修改状态

    可能的卷状态包括 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 事件”,您可以为卷修改事件创建通知规则。您可以使用您的规则通过 Amazon 生成通知消息,SNS也可以调用 Lambda 函数来响应匹配的事件。尽最大努力发出事件。

使用 “ CloudWatch 事件” 监控修改进度
  1. 打开 CloudWatch 控制台,网址为https://console.aws.amazon.com/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" } }