Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
申请 Amazon EBS 卷修改
对于弹性卷,您可以在不分离 Amazon EBS 卷的情况下动态增加卷的大小或降低其性能,以及修改卷类型。
修改卷时使用以下过程:
使用弹性卷修改 EBS 卷
注意事项
修改 卷时请牢记以下事项:
-
修改卷后,必须等待至少六个小时并确保卷处于 in-use
或 available
状态,然后再对同一个卷进行其他修改。
-
修改 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 卷
打开 Amazon EC2 控制台,网址为https://console.aws.amazon.com/ec2/。
-
在导航窗格中,选择 Volumes。
-
选择要修改的卷,然后选择 Actions(操作)、Modify Volume(修改卷)。
-
Modify Volume(修改卷)窗口显示卷 ID 和卷的当前配置,包括类型、大小、IOPS 和吞吐量。设置新的配置值,如下所述:
-
要修改类型,请为 Volume type(卷类型)选择一个值。
-
要修改大小,请为大小输入新值。
-
(仅限于 gp3
、io1
和 io2
)要修改 IOPS,为 IOPS 输入新值。
-
(仅限于 gp3
)要修改吞吐量,为 Throughput(吞吐量)输入新值。
-
完成更改卷设置后,请选择修改。当系统提示您确认时,选择 Modify(修改)。
-
-
(仅限 Windows 实例)如果您在没有 Amazon NVMe 驱动程序的实例上增加 NVMe 卷的大小,则必须重启该实例才能让 Windows 看到新的卷大小。有关安装 Amazon NVMe 驱动程序的更多信息,请参阅Amazon NVMe 驱动程序。
- Amazon CLI
-
要使用修改 EBS 卷 Amazon CLI
使用 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
}
}
在不支持弹性卷的情况下修改 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
如果大小没有反映新扩展的卷,则必须扩展设备的文件系统,以便实例可以使用新的空间。有关更多信息,请参阅 调整 Amazon EBS 卷大小后扩展文件系统。
您可能需要将卷联机才能使用 Windows 实例。有关更多信息,请参阅 使 Amazon EBS 卷可供使用。您无需重新格式化卷。
初始化弹性卷支持(如果需要)
您必须先使用以下操作之一初始化卷修改支持,然后才能修改在 UTC 时间 2016 年 11 月 3 日 23:40 前附加到实例的卷:
使用以下过程之一来确定您的实例是否已准备好进行卷修改。
- Console
-
使用控制台确定您的实例是否已准备就绪
打开 Amazon EC2 控制台,网址为https://console.aws.amazon.com/ec2/。
-
在导航窗格中,选择实例。
-
选择显示/隐藏列图标(齿轮)。选择启动时间属性列,然后选择确认。
-
按 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
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