Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
申请 Amazon EBS 卷修改
对于弹性卷,您可以在不分离 Amazon EBS 卷的情况下动态增加卷的大小或降低其性能,以及修改卷类型。
使用弹性卷修改 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(修改)。
-
如果您增加了卷的大小,则还必须扩展卷的分区来使用额外的存储容量。有关更多信息,请参阅 调整 Amazon EBS 卷大小后扩展文件系统。
-
(仅限 Windows 实例)如果您在没有 Amazon NVMe 驱动程序的实例上增加 NVMe 卷的大小,则必须重启该实例才能让 Windows 看到新的卷大小。有关安装 Amazon NVMe 驱动程序的更多信息,请参阅Amazon NVMe 驱动程序。
- Amazon CLI
-
修改 EBS 卷
使用 m odify- volume 命令。例如,如果您的卷类型gp2
为 100 GiB,则以下示例将其配置更改为类型为 10,000 IOPS、大小为 io1
200 GiB 的卷。
aws ec2 modify-volume \
--volume-id vol-01234567890abcdef
\
--volume-type io1 \
--iops 10000 \
--size 200
下面是示例输出。
{
"VolumeModification": {
"TargetSize": 200,
"TargetVolumeType": "io1",
"ModificationState": "modifying",
"VolumeId": "vol-01234567890abcdef",
"TargetIops": 10000,
"StartTime": "2022-01-19T22:21:02.959Z",
"Progress": 0,
"OriginalVolumeType": "gp2",
"OriginalIops": 300,
"OriginalSize": 100
}
}
如果您增加了卷的大小,则还必须扩展卷的分区来使用额外的存储容量。有关更多信息,请参阅 调整 Amazon EBS 卷大小后扩展文件系统。
- PowerShell
-
修改 EBS 卷
使用 Edit-EC2Volume cmdlet。例如,如果您的卷类型gp2
为 100 GiB,则以下示例将其配置更改为类型为 10,000 IOPS、大小为 io1
200 GiB 的卷。
Edit-EC2Volume `
-VolumeId vol-01234567890abcdef
`
-VolumeType io1 `
-Iops 10000 `
-Size 200
如果您增加了卷的大小,则还必须扩展卷的分区来使用额外的存储容量。有关更多信息,请参阅 调整 Amazon EBS 卷大小后扩展文件系统。
在不支持弹性卷的情况下修改 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
-
确定您的实例是否准备就绪
使用以下 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
- PowerShell
-
确定实例是否准备就绪
使用 Get-EC2Instancecmdlet 来确定是否在世界标准时间 2016 年 11 月 3 日 23:40 之前附加了卷。
(Get-EC2Instance `
-InstanceId i-1234567890abcdef0
).Instances.BlockDeviceMappings | `
Format-Table @{Name="VolumeId";Expression={$_.Ebs.VolumeId}}, `
@{Name="AttachTime";Expression={$_.Ebs.AttachTime}}
下面是示例输出。
VolumeId AttachTime
-------- ----------
vol-0b243c8d927752d2b 3/23/2020 12:21:14 AM
vol-043eadbeb4a8387c3 9/5/2020 7:39:22 PM
vol-0c3f0c4e55c082753 4/23/2019 4:07:40 PM