本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
初始化 Amazon EBS 卷
当您从快照创建卷时,必须从 Amazon S3 下载快照中的存储块并将其写入卷,然后您才能访问它们。此过程称为卷初始化。在此期间,卷的 I/O 延迟可能会增加,性能可能会降低。只有将所有存储块下载并写入卷后,才能实现全卷性能。
注意
空卷在创建后便能实现其最大性能,不需要初始化。
默认的卷初始化率在整个初始化过程中会波动,这可能会使完成时间变得不可预测。
为了最大限度地减少与卷初始化相关的性能影响,您可以使用以下选项:
使用 Amazon EBS 预配置速率进行卷初始化
当您根据快照创建 Amazon EBS 卷时,您可以选择为卷初始化指定 Amazon EBS 预配置速率(卷初始化速率),范围在 100 到 300 MiB/s 之间。如果您指定卷初始化速率,则快照块将在创建后从 Amazon S3 下载并以指定的速率写入该卷。这使您能够创建在可预测的时间内完全初始化并完全达到性能的卷。
当您同时创建多个卷并且需要在可预测的时间内初始化所有卷时,使用卷初始化率特别有用。
您可以指定卷初始化速率:
-
对于个人卷创建请求
-
对于实例启动请求中的 EBS 卷块设备映射
-
对于启动模板中的 EBS 卷块设备映射
-
对于由根卷替换任务创建的 EBS 卷
-
适用于亚马逊 EKS 集群(由 EBS CSI 驱动程序创建)和 Amazon ECS 集群上的 EBS 卷
工作方式
当您创建具有卷初始化速率的卷时,快照块将按您指定的速率从 Amazon S3 下载到该卷。
初始化卷所花费的时间取决于以下因素:
-
快照数据的大小,而不是正在创建的卷的大小。
提示
要查找快照的数据大小,请查看 desc ribe- snapshots 命令输出中的
FullSnapshotSizeInBytes
字段或控制台中的完整快照大小字段。 -
您指定的卷初始化速率
例如,如果您使用包含 10 GiB 数据的快照创建一个 20 GiB 的卷,并且您指定的卷初始化速率为 300 MiB/s, the volume will be fully initialized in approximately 34.1 seconds (10 GiB / 300 MiB/s = 34.1 秒)。同样,如果您同时创建 10 个具有相同快照和卷初始化速率的卷,则所有 10 个卷将在 34.1 秒内完全初始化。
注意事项
-
您可以将卷初始化速率指定为 100 到 300 MiB/s 之间。
-
指定卷初始化速率时,费用和完成时间基于快照数据的大小(而不是卷的大小)和您指定的速率。有关更多信息,请参阅 计费。
-
在 99% 的时间内,Amazon EBS 提供的平均速率在您指定的卷初始化率的 10% 以内。
-
如果您指定卷初始化速率并使用支持快速快照还原的快照,Amazon EBS 将使用指定的速率而不是快速快照还原。要改用快速快照还原,请不要指定卷初始化速率。
-
如果 Amazon EBS 由于容量限制或已超出配额而无法以指定的卷初始化速率初始化卷,则请求将失败。
-
您无法为在 Local Zones 或 Wavelength Z Amazon Outposts ones 上创建的卷指定卷初始化速率。
限额
MiB/s on the cumulative volume initialization rate that you can request across concurrent volume creation requests. For example, you can make 50 concurrent volume creation requests with a rate of 100 MiB/s (50 simultaneous requests * 100 MiB/s rate), or 25 concurrent requests with a rate of 200 MiB/s (25 simultaneous requests * 200 MiB/s速率上限为 5,000)。此限制以每个地区为单位适用。如果请求超过此限制,则会失败。要么等待一些正在处理的请求完成,要么申请增加配额。有关更多信息,请参阅 Amazon EBS 的限额。
监控
当您创建具有卷初始化速率的卷时,Amazon EventBridge 事件将在初始化完成后的五分钟内发送到您的账户。有关更多信息,请参阅 EBS 卷初始化事件。
如果您在初始化完成之前或初始化完成后的 5 分钟内删除该卷,则可能不会收到该事件。
计费
当您创建具有卷初始化速率的卷时,您需要按指定初始化速率的每 GiB 快照数据按每 MiB 的费率收费。费率因地区而异。有关更多信息,请参阅 Amazon EBS 定价
您需要根据快照数据的大小而不是卷的大小付费。例如,如果您为一个大小为 100 GiB 但只有 50 GiB 数据的卷创建快照,则该快照的卷大小为 100 GiB,但快照数据大小为 50 GiB。如果您使用该快照创建卷并指定卷初始化速率,则费用将基于 50 GiB 的快照数据。
提示
要查找快照的数据大小,请查看 desc ribe- snapshots 命令输出中的FullSnapshotSizeInBytes
字段或控制台中的完整快照大小字段。
公式如下:
rate for Region
xsnapshot data size
xvolume initialization rate
音量进入active
状态后,您将立即收到全额账单。失败的请求不计费。
如果您在卷初始化完成之前删除了卷,则仍需要按请求的卷初始化速率付费。
使用已启用的快照进行快速快照恢复
如果您使用启用了快速快照恢复功能的快照创建卷,则该卷将在创建时完全初始化,并立即提供其全部性能。有关使用快速快照还原的更多信息,请参阅Amazon EBS 快速快照还原。
创建后手动初始化卷
您可以在创建 Amazon EBS 卷后手动初始化,以帮助最大限度地减少卷初始化对性能的影响。
在创建 Amazon EBS 卷后,您可以使用以下过程手动初始化。
重要
在初始化已从快照创建的 Provisioned IOPS SSD 卷时,该卷的性能可能会下降到预期水平的 50% 以下,这会导致该卷在 I/O 性能状态检查中显示 warning
状态。这是预期行为,并且您可在初始化 Provisioned IOPS SSD 卷时忽略该卷上的 warning
状态。有关更多信息,请参阅 Amazon EBS 卷状态检查。
在 Linux 上初始化从快照创建的卷
-
将新还原的卷附加到您的 Linux 实例。
-
使用 lsblk 命令列出实例上的块储存设备。
$
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvdf 202:80 0 30G 0 disk xvda1 202:1 0 8G 0 disk /
在此处可以看到新卷
/dev/xvdf
已附加,但是未挂载(因为MOUNTPOINT
列下没有列出任何路径)。 -
使用 dd 或 fio 实用程序对设备上的所有数据块进行读取。默认情况下,dd 命令将安装在 Linux 系统上,但 fio 要快得多,因为它允很多线程读取。
注意
此步骤可能需要几分钟到几小时的时间,具体取决于您的 EC2实例带宽、为卷预配置的 IOPS 以及卷的大小。
[dd] 应将
if
(输入文件)参数设置为要初始化的驱动器。应将of
(输出文件)参数设置为 Linux 空虚拟设备/dev/null
。bs
参数设置读取操作的数据块大小;要获得最佳性能,这应设置为 1 MB。重要
不当使用 dd 可能容易损坏卷的数据。请务必严格遵循下面的示例命令。只有
if=/dev/
参数将因您要读取的设备的名称而异。xvdf
$
sudo dd if=/dev/
xvdf
of=/dev/null bs=1M[fio] 如果您在系统上安装了 fio,请使用以下命令初始化您的卷。应将
--filename
(输入文件)参数设置为要初始化的驱动器。$
sudo fio --filename=/dev/
xvdf
--rw=read --bs=1M --iodepth=32 --ioengine=libaio --direct=1 --name=volume-initialize要在 Amazon Linux 上安装 fio,请使用以下命令:
sudo yum install -y fio
要在 Ubuntu 上安装 fio,请使用以下命令:
sudo apt-get install -y fio
操作完成时,您会看到读取操作的报告。卷现在已准备就绪,可供使用。有关更多信息,请参阅 使 Amazon EBS 卷可供使用。
在使用上述任何一种工具前,请在您的系统上收集有关磁盘的信息,如下所述:
收集有关系统磁盘的信息
-
使用 wmic 命令列出系统上的可用磁盘:
wmic diskdrive get size,deviceid
下面是示例输出:
DeviceID Size \\.\PHYSICALDRIVE2 80517265920 \\.\PHYSICALDRIVE1 80517265920 \\.\PHYSICALDRIVE0 128849011200 \\.\PHYSICALDRIVE3 107372805120
-
使用 dd 或 fio 识别要初始化的磁盘。
C:
驱动器位于\\.\PHYSICALDRIVE0
。如果您不确定要使用的盘符,则可以使用diskmgmt.msc
实用工具将驱动器盘符与磁盘盘符进行比较。