Amazon EBS 卷类型 - Amazon Elastic Compute Cloud

Amazon EBS 卷类型

Amazon EBS 提供以下卷类型,各种类型性能特点和价格不同,因此您可根据应用程序要求定制您所需的存储性能和相应成本。卷类型分为以下几个类别:

  • 固态硬盘 (SSD) - 针对涉及频繁的读/写操作且 I/O 较小的事务性工作负载进行了优化,其中主要的性能属性是 IOPS。

  • 硬盘 (HDD) - 针对大型流式处理工作负载进行了优化,其中主要的性能属性是吞吐量。

  • 上一代 - 可用于具有较小数据集的工作负载的硬盘,在这些工作负载中,数据访问不频繁,性能不是最重要的。建议您考虑使用当前一代卷类型。

有多种因素会影响 EBS 卷的性能,如实例配置、I/O 特性和工作负载需求。有关充分利用 EBS 卷的更多信息,请参阅 Linux 实例上的 Amazon EBS 卷性能

有关定价的更多信息,请参阅 Amazon EBS 定价

固态硬盘 (SSD)

Amazon EBS 提供的 SSD 卷分为以下几个类别:

  • 通用型 SSD - 性价比高。建议为大多数工作负载使用这种卷。

  • 预配置 IOPS SSD - 提供高性能,适用于任务关键型、低延迟或高吞吐量工作负载。

通用型 SSD 预配置 IOPS SSD
卷类型 gp2 io2 io1
持久性 99.8% - 99.9% 耐用性(0.1% - 0.2% 的年故障率) 99.999% 的耐用性(0.001% 的年故障率) 99.8% - 99.9% 耐用性(0.1% - 0.2% 的年故障率)
使用案例
  • 引导卷

  • 低延迟交互式应用程序

  • 开发和测试环境

  • 需要持续 IOPS 性能或每卷吞吐量超过 16,000 IOPS 或 250 MiB/s 的工作负载

  • I/O 密集型数据库工作负载

卷大小 1 GiB - 16 TiB 4 GiB - 16 TiB
每个卷的最大 IOPS (16 KiB I/O) 16,000 * 64,000 †
每个卷的最大吞吐量 250 MiB/s * 1,000 MiB/s †
Amazon EBS 多重挂载 不支持 不支持 支持

硬盘 (HDD)

Amazon EBS 提供的 HDD 卷分为以下几个类别:

  • 吞吐优化 HDD - 适用于访问频率较高的吞吐量密集型工作负载的低成本 HDD。

  • Cold HDD - 适用于访问频率较低的工作负载的最低成本 HDD。

吞吐优化 HDD Cold HDD
卷类型 st1 sc1
持久性 99.8% - 99.9% 耐用性(0.1% - 0.2% 的年故障率) 99.8% - 99.9% 耐用性(0.1% - 0.2% 的年故障率)
使用案例
  • 大数据

  • 数据仓库

  • 日志处理

  • 适用于访问频率较低的数据的高吞吐量存储

  • 最低存储成本至关重要的情形

卷大小 500 GiB - 16 TiB 500 GiB - 16 TiB
每个卷的最大 IOPS (1 MiB I/O) 500 250
每个卷的最大吞吐量 500 MiB/s 250 MiB/s
Amazon EBS 多重挂载 不支持 不支持

上一代卷类型

下表列出了上一代 EBS 卷类型。如果您需要比上一代卷更高的性能或性能一致性,建议您考虑使用通用型 SSD (gp2) 或其他最新卷类型。有关更多信息,请参阅上一代卷

磁介质
卷类型 standard
使用案例 数据不常访问的工作负载
卷大小 1 GiB - 1 TiB
每个卷的最大 IOPS 40–200
每个卷的最大吞吐量 40–90 MiB/s
每个实例的最大 IOPS 80,000
每个实例的最大吞吐量 1,750 MB/s

通用型 SSD (gp2) 卷

通用型 SSD (gp2) 卷提供经济实惠的存储,是广泛工作负载的理想选择。这些卷可以提供几毫秒的延迟,能够突增至 3000 IOPS 并维持一段较长的时间。在最小 100 IOPS(以 33.33 GiB 及以下)和最大 16,000 IOPS(以 5334 GiB 及以上)之间,基准性能以每 GiB 卷大小 3 IOPS 的速度线性扩展。AWS 对 gp2 卷进行了设计,以在 99% 的时间内提供预配置性能。gp2 卷的大小范围为 1 GiB 到 16 TiB。

I/O 积分和突增性能

gp2 卷的性能与卷大小关联,卷大小确定卷的基准性能水平以及积累 I/O 积分的速度;卷越大,基准性能级别就越高,I/O 积分积累速度也越快。I/O 积分表示您的gp2 卷在需求超过基准性能时可用来突增大量 I/O 的可用带宽。您的卷拥有的 I/O 点数越多,它在需要更高性能时可以超过其基准性能水平的突增时间就越长,表现也越好。下图显示 gp2 的突增存储桶行为。


            gp2 突增存储桶

每个卷都有 540 万 I/O 点的初始 I/O 积分余额,这足以在至少 30 分钟内维持 3000 IOPS 的最大突增性能。设计初始积分余额的目的是为引导卷提供快速初始启动循环,并为其他应用程序提供良好的引导过程。卷以每 GiB 卷大小 3 IOPS 的基准性能率的速度获得 I/O 积分。例如,一个 100 GiB 的gp2 卷具有 300 IOPS 的基准性能。


            比较基准性能和突增 IOPS

当卷的需求超出了基准性能 I/O 水平时,它会使用积分余额中的 I/O 积分突增到所需的性能水平,最大为 3000 IOPS。如果卷在一秒内使用的 I/O 积分少于它所赚取的积分,未使用的 I/O 积分会加到 I/O 积分余额中。卷的最大 I/O 积分余额等于初始积分余额 (540 万 I/O 积分)。

当卷的基准性能超过最大突发性能时,绝不会使用 I/O 分数。如果卷附加到基于 Nitro 系统构建的实例,则不会报告突增余额。对于其他实例,报告的突增余额是 100%。

卷的突增持续时间取决于卷的大小、所需的突增 IOPS 以及突增开始时的积分余额。如下面的等式所示:

(Credit balance) Burst duration = ------------------------------------ (Burst IOPS) - 3(Volume size in GiB)

下表列出了几种卷大小以及卷的相关基准性能 (也就是它积累 I/O 积分的速度)、在最大 3000 IOPS 时的突增持续时间 (从完整积分余额开始时) 以及卷重新填满空积分余额所需的秒数。

卷大小 (GiB)

基准性能 (IOPS)

提供持续的 3,000 IOPS 时的突增持续时间(秒)

在未执行 IO 时填充空积分余额的秒数

1

100

1,802

54000

100

300

2000

18000

250

750

2400 7200

334(最大吞吐量的最小大小)

1,002

2,703

5,389

500

1500

3600

3600

750

2250

7200

2400

1000

3000

不适用*

不适用*

5334(最大 IOPS 的最小大小)

16,000

不适用*

不适用*

16384 (16 TiB,最大卷大小)

16,000

不适用*

不适用*

*卷的基准性能超过了最大突发性能。

如果我清空我的 I/O 积分余额,会发生什么情况?

如果您的 gp2 卷使用其所有 I/O 积分余额,则该卷的最大 IOPS 性能将保持在基准 IOPS 性能水平 (亦即您的卷获得积分的速率),并且该卷的最大吞吐量将降低到最大 I/O 大小乘以基准 IOPS。吞吐量绝不会超过 250 MiB/s。当 I/O 需求下降到基准水平以下并且未使用的积分添加到 I/O 积分余额中时,该卷的最大 IOPS 性能会再次超出基准。例如,积分余额为空的 100 GiB gp2 卷具有 300 IOPS 的基准性能和 75 MiB/s 的吞吐量限制 (每秒 300 个 I/O 操作 * 每个 I/O 操作 256 KiB = 75 MiB/s)。卷越大,基准性能就越高,补充积分余额的速度也越快。有关如何测量 IOPS 的更多信息,请参阅 I/O 特性和监控

如果您注意到卷性能常常受限于基准水平(由于空 I/O 积分余额),则应考虑使用较大的 gp2 卷(具有较高基准性能水平),或对需要大于 16,000 IOPS 的持续 IOPS 性能的工作负载改用 io1io2 卷。

有关使用 CloudWatch 指标和警报来监控突增存储桶余额的信息,请参阅监控 gp2、st1 和 sc1 卷的突增存储桶余额

吞吐量性能

gp2 卷的吞吐量可以使用以下公式计算,吞吐量上限为 250 MiB/s:

Throughput in MiB/s = ((Volume size in GiB) × (IOPS per GiB) × (I/O size in KiB))

假定 V = 卷大小,I = I/O 大小,R = I/O 速率,并且 T = 吞吐量,这可以简化为:

T = VIR

实现最大吞吐量的最小卷大小可通过以下方式得出:

T V = ----- I R 250 MiB/s = --------------------- (256 KiB)(3 IOPS/GiB) [(250)(2^20)(Bytes)]/s = ------------------------------------------ (256)(2^10)(Bytes)([3 IOP/s]/[(2^30)(Bytes)]) (250)(2^20)(2^30)(Bytes) = ------------------------ (256)(2^10)(3) = 357,913,941,333 Bytes = 333⅓ GiB (334 GiB in practice because volumes are provisioned in whole gibibytes)

预配置 IOPS SSD (io1io2) 卷

预配置 IOPS SSD (io1io2) 卷旨在满足 I/O 密集型工作负载(尤其是数据库工作负载)的需要,这些工作负载对存储性能和一致性非常敏感。与使用存储桶和积分模型计算性能的 gp2 不同,io1io2 卷允许您在创建卷时指定一致的 IOPS 速率,并且 Amazon EBS 在 99.9% 的时间里可提供预置的性能。

io1 卷旨在提供 99.8% 到 99.9% 的卷耐用性且年故障率 (AFR) 不高于 0.2%,这意味着在一年期间内,每 1,000 个正在运行的卷最多发生两个卷故障。io2 卷旨在提供 99.999% 的卷耐用性且 AFR 不高于 0.001%,这意味着在一年期间内,每 100,000 个正在运行的卷出现仅出现一个卷故障。

io1io2 卷的大小范围是 4 GiB 到 16 TiB。您可以在 基于 Nitro 系统构建的实例上为每个卷预置 100 IOPS 到 64,000 IOPS,并在其他实例上最多预置 32,000。预置 IOPS 与请求的卷大小 (GiB) 的最大比率:对于 io1 卷为 50:1,对于 io2 卷为 500:1。例如,一个 100 GiB io1 卷可以配置高达 5,000 IOPS,而一个 100 GiB io2 卷可以配置高达 50,000 IOPS。在受支持的实例类型上,以下卷大小允许预置高达 64,000 IOPS 最大值:

  • io1 卷,大小为 1,280 GiB 或更高(50 × 1,280 GiB = 64,000 IOPS)

  • io2 卷,大小为 128 GiB 或更高(500 × 128 GiB = 64,000 IOPS)

任何预置了最高 32000 IOPS 的 io1io2 卷支持 256 KiB 的最大 I/O 大小,可以得到最高 500 MiB/s 的吞吐量。当 I/O 大小达到最大时,吞吐量也将达到峰值 2000 IOPS。任何预配置了超过 32000 IOPS(最高为上限 64000 IOPS)的卷支持 16 KiB 的最大 I/O 大小,可以得到最高 1000 MiB/s 的吞吐量。下图说明了这些性能特性:


          io1 卷的吞吐量限制

您的每 I/O 延迟体验取决于预置 IOPS 以及您的工作负载模式。要获得最佳 I/O 延迟体验,请确保您预配置 IOPS 以满足工作负载的 I/O 配置文件。

注意

2012 年以前创建的部分 AWS 账户可能可以访问 us-west-1 或 ap-northeast-1 中不支持 预配置 IOPS SSD (io1) 卷的可用区。如果您无法在其中一个区域中创建 io1 卷(或在其块储存设备映射中启动具有 io1 卷的实例),请尝试该区域中的其他可用区。您可以通过在某可用区创建 4 GiB io1 卷来验证该可用区是否支持 io1 卷。

吞吐优化 HDD (st1) 卷

吞吐优化 HDD (st1) 卷提供低成本的磁性存储,该存储以吞吐量而不是 IOPS 定义性能。该卷类型是大型顺序工作负载 (如 Amazon EMR、ETL、数据仓库和日志处理) 的理想之选。不支持可启动的 st1 卷。

吞吐优化 HDD (st1) 卷虽然与 Cold HDD (sc1) 卷类似,但其设计用于支持频繁 访问的数据。

该卷类型针对涉及大型顺序 I/O 的工作负载进行了优化,建议具有执行少量随机 I/O 工作负载的客户使用 gp2。有关更多信息,请参阅HDD 上的小型读/写效率低下问题

吞吐量积分和突增性能

gp2 类似,st1 使用突增存储桶模型提高性能。卷大小决定卷的基准吞吐量,即卷积累吞吐量积分的速度。卷大小还决定卷的突增吞吐量,即有积分可用时消耗积分的速度。较大的卷有较高的基准吞吐量和突增吞吐量。卷的积分越多,它以突增水平驱动 I/O 的时间就越长。

下图显示 st1 的突增存储桶行为。


            st1 突增存储桶

st1 卷的可用吞吐量受吞吐量和吞吐量积分上限的限制,由以下公式表示:

(Volume size) x (Credit accumulation rate per TiB) = Throughput

对于 1 TiB st1 卷,突增吞吐量限制为 250 MiB/s,存储桶以 40 MiB/s 的速度填充,最多可容纳 1 TiB 积分。

较大的卷会线性扩展这些限制,吞吐量上限为最大 500 MiB/s。在存储桶耗尽时,吞吐量会限制为基准速率,即每 TiB 40 MiB/s。

在从 0.5 到 16 TiB 的卷大小范围内,基准吞吐量从 20 到上限 500 MiB/s 变化,12.5 TiB 时达到上限,如下所示:

40 MiB/s 12.5 TiB x ---------- = 500 MiB/s 1 TiB

突增吞吐量从 125 MiB/s 到上限 500 MiB/s 变化,2 TiB 时达到上限,如下所示:

250 MiB/s 2 TiB x ---------- = 500 MiB/s 1 TiB

下表列出了 st1 基准和突增吞吐量值的完整范围:

卷大小 (TiB) ST1 基准吞吐量 (MiB/s) ST1 突增吞吐量 (MiB/s)
0.5 20 125
1 40 250
2 80 500
3 120 500
4 160 500
5 200 500
6 240 500
7 280 500
8 320 500
9 360 500
10 400 500
11 440 500
12 480 500
12.5 500 500
13 500 500
14 500 500
15 500 500
16 500 500

下图绘制了表值:


            比较 st1 基准性能和突增性能
注意

如果创建 吞吐优化 HDD (st1) 卷的快照,则在快照处理过程中,性能可能会降低,最坏情况下会降低到卷的基准值。

有关使用 CloudWatch 指标和警报来监控突增存储桶余额的信息,请参阅监控 gp2、st1 和 sc1 卷的突增存储桶余额

Cold HDD (sc1) 卷

Cold HDD (sc1) 卷提供低成本的磁性存储,该存储以吞吐量而不是 IOPS 定义性能。sc1 的吞吐量限制比 st1 更低,是大型顺序冷数据工作负载的绝佳选择。如果您需要频繁访问数据并且希望节约成本,sc1 提供价格低廉的块存储。不支持可启动的 sc1 卷。

Cold HDD (sc1) 卷虽然与 吞吐优化 HDD (st1) 卷类似,但其设计用于支持不频繁 访问的数据。

注意

该卷类型针对涉及大型顺序 I/O 的工作负载进行了优化,建议具有执行少量随机 I/O 工作负载的客户使用 gp2。有关更多信息,请参阅HDD 上的小型读/写效率低下问题

吞吐量积分和突增性能

gp2 类似,sc1 使用突增存储桶模型提高性能。卷大小决定卷的基准吞吐量,即卷积累吞吐量积分的速度。卷大小还决定卷的突增吞吐量,即有积分可用时消耗积分的速度。较大的卷有较高的基准吞吐量和突增吞吐量。卷的积分越多,它以突增水平驱动 I/O 的时间就越长。


            sc1 突增存储桶

sc1 卷的可用吞吐量受吞吐量和吞吐量积分上限的限制,由以下公式表示:

(Volume size) x (Credit accumulation rate per TiB) = Throughput

对于 1 TiB sc1 卷,突增吞吐量限制为 80 MiB/s,存储桶以 12 MiB/s 的速度填充,最多可容纳 1 TiB 积分。

较大的卷会线性扩展这些限制,吞吐量上限为最大 250 MiB/s。在存储桶耗尽时,吞吐量会限制为基准速率,即每 TiB 12 MiB/s。

在从 0.5 到 16 TiB 的卷大小范围内,基准吞吐量从 6 MiB/s 到最大 192 MiB/s 变化,16 TiB 时达到上限,如下所示:

12 MiB/s 16 TiB x ---------- = 192 MiB/s 1 TiB

突增吞吐量从 40 MiB/s 到上限 250 MiB/s 变化,3.125 TiB 时达到上限,如下所示:

80 MiB/s 3.125 TiB x ----------- = 250 MiB/s 1 TiB

下表列出了 sc1 基准和突增吞吐量值的完整范围:

卷大小 (TiB) SC1 基准吞吐量 (MiB/s) SC1 突增吞吐量 (MiB/s)
0.5 6 40
1 12 80
2 24 160
3 36 240
3.125 37.5 250
4 48 250
5 60 250
6 72 250
7 84 250
8 96 250
9 108 250
10 120 250
11 132 250
12 144 250
13 156 250
14 168 250
15 180 250
16 192 250

下图绘制了表值:


            比较 sc1 基准性能和突增性能
注意

如果创建 Cold HDD (sc1) 卷的快照,则在快照处理过程中,性能可能会降低,最坏情况下会降低到卷的基准值。

有关使用 CloudWatch 指标和警报来监控突增存储桶余额的信息,请参阅监控 gp2、st1 和 sc1 卷的突增存储桶余额

磁介质 (standard)

磁介质卷由磁盘驱动器支持,适用于不经常访问数据的工作负载以及小型卷大小的低成本存储非常重要的场景。这些卷平均提供大约 100 IOPS,突增能力最大可达数百 IOPS,大小范围是 1 GiB 到 1 TiB。

注意

磁介质 是上一代卷类型。对于新应用程序,我们建议使用较新的卷类型。有关更多信息,请参阅上一代卷

有关使用 CloudWatch 指标和警报来监控突增存储桶余额的信息,请参阅监控 gp2、st1 和 sc1 卷的突增存储桶余额

使用 HDD 卷时的性能注意事项

为了使用 HDD 卷获得最优的吞吐量结果,请根据以下注意事项计划您的工作负载。

吞吐优化 HDD 与Cold HDD

st1sc1 存储桶大小因卷大小而异,满的存储桶包含充足的令牌用于完整卷扫描。不过,因为每实例和每卷的吞吐量限制,更大的 st1sc1 卷需要更长的时间完成卷扫描。附加到较小实例的卷被限制在每实例吞吐量上,而不是 st1sc1 吞吐量限制。

st1sc1 的设计都可以在 99% 的时间内提供 90% 的突增吞吐量性能一致性。不合规时间近似均匀分配,目标是达到 99% 的每小时预计总吞吐量。

下表列出了不同大小卷的理想扫描时间,假设存储桶是满的并且有充足的实例吞吐量。

一般来说,扫描时间可由此公式表示:

Volume size ------------- = Scan time Throughput

例如,考虑到性能一致性保证和其他优化,拥有 5 TiB 卷的 st1 客户预计在 2.91 到 3.27 小时内完成整卷扫描。

5 TiB 5 TiB ----------- = ------------------- = 10,486 s = 2.91 hours (optimal) 500 MiB/s 0.00047684 TiB/s 2.91 hours 2.91 hours + -------------- = 3.27 hours (minimum expected) (0.90)(0.99) <-- From expected performance of 90% of burst 99% of the time

同样,拥有 5 TiB 卷的 sc1 客户预计在 5.83 到 6.54 小时内完成整卷扫描。

5 TiB ------------------- = 20972 s = 5.83 hours (optimal) 0.000238418 TiB/s 5.83 hours -------------- = 6.54 hours (minimum expected) (0.90)(0.99)
卷大小 (TiB) 带突增的 ST1 扫描时间(小时)* 带突增的 SC1 扫描时间(小时)*
1 1.17 3.64
2 1.17 3.64
3 1.75 3.64
4 2.33 4.66
5 2.91 5.83
6 3.50 6.99
7 4.08 8.16
8 4.66 9.32
9 5.24 10.49
10 5.83 11.65
11 6.41 12.82
12 6.99 13.98
13 7.57 15.15
14 8.16 16.31
15 8.74 17.48
16 9.32 18.64

* 这些扫描时间在执行 1 MiB 顺序 I/O 时采取平均队列深度 (四舍五入到最近的整数) 四或更多。

因此,如果您有面向吞吐量的工作负载需要快速完成扫描 (最快 500 MiB/s) 或一天查询几个整卷,请使用 st1。如果您针对成本进行了优化,数据访问相对不频繁,而且不需要超过 250 MiB/s 的扫描性能,请使用 sc1

HDD 上的小型读/写效率低下问题

st1sc1 卷的性能模型针对顺序 I/O 进行了优化,支持高吞吐量工作负载,对具有混合 IOPS 和吞吐量的工作负载提供可接受的性能,不建议使用具有小型随机 I/O 的工作负载。

例如,1 MiB 或更小的 I/O 请求计为 1 MiB I/O 积分。但是,如果是顺序 I/O,则会合并为 1 MiB I/O 数据块,并且只计为 1 MiB I/O 积分。

每实例吞吐量限制

st1sc1 卷的吞吐量始终由以下限制中较小的决定:

  • 卷的吞吐量限制

  • 实例的吞吐量限制

对于所有 Amazon EBS 卷,我们建议选择适当的 EBS 优化的 EC2 实例来避免网络瓶颈。有关更多信息,请参阅Amazon EBS 优化的实例

监控 gp2st1sc1 卷的突增存储桶余额

您可以使用 Amazon CloudWatch 中提供的 EBS BurstBalance 指标来监控 gp2st1sc1 卷的突增存储桶水平。这个指标显示突增存储桶中剩余的 I/O 积分百分比(对于 gp2)或吞吐量积分(对于 st1sc1)。有关 BurstBalance 指标以及与 I/O 相关的其他指标的更多信息,请参阅 I/O 特性和监控。CloudWatch 还允许您设置警报,以便在 BurstBalance 值降到特定水平时通知您。有关更多信息,请参阅创建 Amazon CloudWatch 警报