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

请求对您的 EBS 卷进行修改

对于弹性卷,您可以在不分离 Amazon EBS 卷的情况下动态增加卷的大小或降低其性能,以及修改卷类型。

修改卷时使用以下过程:

  1. (可选)在修改包含有用数据的卷之前,最佳实践是创建卷的快照(如果您需要回滚您的更改)。有关更多信息,请参阅创建 Amazon EBS 快照

  2. 请求卷修改。

  3. 监控卷修改进度。有关更多信息,请参阅监控卷修改的进度

  4. 如果修改了卷的大小,请扩展卷的文件系统以利用增加的存储容量。有关更多信息,请参阅调整卷大小后扩展 Linux 文件系统

使用弹性卷修改 EBS 卷

注意事项

修改 卷时请牢记以下事项:

  • 修改卷后,必须等待至少六个小时并确保卷处于 in-useavailable 状态,然后再对同一个卷进行其他修改。

  • 修改 EBS 卷可能需要几分钟到几小时才能完成,具体视应用的配置更改而定。大小为 1TiB 的 EBS 卷通常最多可能需要六个小时即可得到修改。但是,在其他情况下,相同的卷可能需要 24 小时或更长时间。修改卷所需的时间并不总是线性扩展。因此,较大的卷可能需要较短时间,而较小的卷却可能需要较长时间。

  • 提交卷修改请求后,您将无法取消该请求。

  • 您只能增加卷的大小。您无法减小卷的大小。

  • 您可以提高或降低卷的性能。

  • 如果您没有修改卷类型,则卷的大小和性能修改必须在当前卷类型的限制范围内。如果您更改卷类型,则卷的大小和性能修改必须在目标卷类型的限制范围内

  • 如果您将卷类型从 gp2 更改为 gp3,并且您未指定 IOPS 或吞吐量性能,则 Amazon EBS 将自动预调配与源 gp2 卷的性能或基准 gp3 性能相当的性能(以二者中较高者为准)。

    例如,如果您将具有 250 MiB/s 吞吐量和 1500 IOPS 的 500 GiB gp2 卷修改为 gp3,但未指定 IOPS 或吞吐量性能,Amazon EBS 会自动预调配具有 3000 IOPS(基准gp3 IOPS)和 250 MiB/s(用于匹配源 gp2 卷吞吐量)的 gp3 卷。

要修改 EBS 卷,请使用以下方法之一。

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

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

  3. 选择要修改的卷,然后选择 Actions(操作)、Modify Volume(修改卷)。

  4. Modify Volume(修改卷)窗口显示卷 ID 和卷的当前配置,包括类型、大小、IOPS 和吞吐量。设置新的配置值,如下所述:

    • 要修改类型,请为 Volume type(卷类型)选择一个值。

    • 要修改大小,请为大小输入新值。

    • (仅限于 gp3io1io2)要修改 IOPS,为 IOPS 输入新值。

    • (仅限于 gp3)要修改吞吐量,为 Throughput(吞吐量)输入新值。

  5. 完成更改卷设置后,请选择修改。当系统提示您确认时,选择 Modify(修改)。

  6. 重要

    如果您增加了卷的大小,则还必须扩展卷的分区来使用额外的存储容量。有关更多信息,请参阅调整卷大小后扩展 Linux 文件系统

Amazon CLI
使用 Amazon CLI 修改 EBS 卷

使用 modify-volume 命令修改卷的一个或多个配置设置。如果您有一个类型为 gp2 且大小为 100 GiB 的卷,以下命令会将其配置更改为类型为 io1、包含 10000 IOPS 且大小为 200 GiB 的卷。

aws ec2 modify-volume --volume-type io1 --iops 10000 --size 200 --volume-id vol-11111111111111111

下面是示例输出:

{ "VolumeModification": { "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 } }
重要

如果您增加了卷的大小,则还必须扩展卷的分区来使用额外的存储容量。有关更多信息,请参阅调整卷大小后扩展 Linux 文件系统

初始化弹性卷支持(如果需要)

您必须先使用以下操作之一初始化卷修改支持,然后才能修改在 UTC 时间 2016 年 11 月 3 日 23:40 前附加到实例的卷:

  • 分离和附加卷

  • 停止和启动实例

使用以下过程之一来确定您的实例是否已准备好进行卷修改。

Console
使用控制台确定您的实例是否已准备就绪
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择实例

  3. 选择显示/隐藏列图标(齿轮)。选择启动时间属性列,然后选择确认

  4. Launch Time 列对实例列表进行排序。对于在截止日期之前启动的每个实例,选择存储选项卡,并检查连接时间列以查看其卷附加的时间。

Amazon CLI
使用 CLI 确定您的实例是否已准备就绪

使用以下 describe-instances 命令确定卷是否是在 UTC 时间 2016 年 11 月 3 日 23:40 之前附加的。

aws ec2 describe-instances --query "Reservations[*].Instances[*].[InstanceId,LaunchTime<='2016-11-01',BlockDeviceMappings[*][Ebs.AttachTime<='2016-11-01']]" --output text

每个实例的输出的第一行都将显示其 ID,无论实例是否在截止日期前启动(True 或 False)。第一行后跟一行或多行,以显示是否在截止日期前已附加每个 EBS 卷(True 或 False)。在以下示例输出中,您必须为第一个实例初始化卷修改,因为该实例是在截止日期前启动的,并且其根卷是在截止日期前附加的。其他实例已准备就绪,因为它们是在截止日期后启动的。

i-e905622e True True i-719f99a8 False True i-006b02c1b78381e57 False False False i-e3d172ed False True

在不支持弹性卷的情况下修改 EBS 卷

如果您使用的是支持的实例类型,则可以使用弹性卷来在不分离 Amazon EBS 卷的情况下动态修改卷的大小、性能和卷类型。

如果您无法使用弹性卷但需要修改根(启动)卷,则必须停止实例,修改卷,然后重新启动实例。

实例启动之后,可以检查文件系统大小,看实例是否识别这个更大的卷空间。在 Linux 上,请使用 df -h 命令检查文件系统大小

[ec2-user ~]$ df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 7.9G 943M 6.9G 12% / tmpfs 1.9G 0 1.9G 0% /dev/shm

如果大小没有反映新扩展的卷,则必须扩展设备的文件系统,以便实例可以使用新的空间。有关更多信息,请参阅调整卷大小后扩展 Linux 文件系统