Amazon EBS 卷限制 - Amazon EBS

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon EBS 卷限制

Amazon EBS 卷的大小受块数据存储的物理和算术以及操作系统 (OS) 和文件系统设计者的实施决策的限制。 AWS 对卷大小施加了额外的限制,以保障其服务的可靠性。

以下部分介绍了限制 EBS 卷的可用大小并提供配置 EBS 卷的建议的最重要因素。

存储容量

下表总结了 Amazon EBS 上的最常用文件系统的理论和实现存储容量(假定 4096 字节块大小)。

分区方案 最大可寻址块数 理论最大大小(块数 x 块大小) Ext4 实现的最大大小* XFS 实现的最大大小** NTFS 实现的最大大小 EBS 支持的最大大小
MBR 232 2 TiB 2 TiB 2 TiB 2 TiB 2 TiB
GPT 264

64 ZiB

1 EiB =

242 10TiB

(已通过 50 TiB 认证) RHEL7

500 TiB

(已通过认证 RHEL7)

256 TiB 64 TiB †

* Ext4 How to 以及红帽企业 Linux 的文件和系统大小限制是多少?

** 红帽企业 Linux 的文件和系统大小限制是多少?

io2 Block Express 卷最高支持 64TiB 的 GPT 分区。有关更多信息,请参阅 预调配 IOPS SSD(io2)Block Express 卷

服务限制

Amazon EBS 将数据中心的大规模分布式存储提取到虚拟硬盘中。对于安装在 EC2 实例上的操作系统,连接的 EBS 卷看起来像是包含 512 字节磁盘扇区的物理硬盘驱动器。操作系统通过其存储管理实用程序对数据块(或集群)分配到这些虚拟扇区进行管理。分配与卷分区方案(例如主启动记录 [MBR] 或 GUID 分区表 [GPT])一致,并且属于已安装文件系统(ext4、NTFS 等)的功能。

EBS 不知道其虚拟磁盘扇区中包含的数据;它只会确保扇区的完整性。这意味着 AWS 操作和操作系统操作是相互独立的。在您选择卷大小时,请注意二者的功能和限制,如以下情况中所示:

  • EBS 当前支持最大卷大小 64 TiB。这意味着您可以创建一个大小为 64 TiB 的 EBS 卷,但操作系统是否能够识别该容量的全部取决于其自身的设计特征以及该卷的分区方式。

  • 启动卷必须使用 MBR 或 GPT 分区方案。您从中启动实例的 AMI 决定了启动模式以及随后用于启动卷的分区方案。

    使用 MBR 时,启动卷的大小限制为 2 TiB。

    使用 GPT,与 (Linux) 或 UEFI 启动模式 (Windows) GRUB2 一起使用时,启动卷的大小可以高达 64 TiB。

    有关更多信息,请参阅 使 Amazon EBS 卷可供使用

  • 2 TiB(2048 GiB)或更大的非启动卷必须使用 GPT 分区表才能访问整个卷。

分区方案

除其他影响之外,分区方案还确定了可以在单个卷中唯一寻址的逻辑数据块的数量。有关更多信息,请参阅数据块大小。正在使用的常见分区方案是主启动记录(MBR)和 GUID 分区表(GPT)。这两个方案之间的重要差别可归纳如下。

MBR

MBR 使用 32 位数据结构来存储块地址。这意味着,每个数据块会映射到 232 个可能整数之一。卷的最大可寻址大小由以下公式给出:

232 × Block size

MBR 卷的块大小通常限制为 512 字节。因此:

232 × 512 bytes = 2 TiB

工程解决办法是提高 MBR 卷的这个 2 TiB 限制,但还没有被行业广泛采用。因此,Linux 和 Windows 永远不会检测到 MBR 体积大于 2 TiB, AWS 即使显示其大小更大。

GPT

GPT 使用 64 位数据结构来存储块地址。这意味着,每个数据块会映射到 264 个可能整数之一。卷的最大可寻址大小由以下公式给出:

264 × Block size

GPT 卷的块大小通常限制为 4,096 字节。因此:

264 × 4,096 bytes
   = 264 × 212 bytes
   = 270 × 26 bytes
   = 64 ZiB

现实世界中的计算机系统不支持任何接近这个理论最大值的值。实施的文件系统大小目前上限为 50TiB(对于 ext4)和 256TiB(对于 NTFS)。

数据块大小

现代硬盘驱动器上的数据存储是通过逻辑块寻址 来管理的,逻辑块寻址是一个抽象层,它允许操作系统在逻辑块中读取和写入数据,而无需详细了解底层硬件。操作系统依靠存储设备将块映射到其物理扇区,并使用是扇区大小数倍的数据块将数据读写到磁盘。

Amazon EBS 会根据以下因素向操作系统通告 512 字节或 4,096 字节 (4 KiB) 的物理扇区:

  1. Amazon EC2 实例类型

  2. 操作系统

  3. NVMe 驱动程序版本

只有在所有因素都支持的情况下,Amazon EBS 才会宣传 4 KiB 的物理区域。如果其中任何一个不支持 4 KiB 的物理扇区,Amazon EBS 就会宣传 512 字节的物理扇区。

Amazon EC2 实例类型支持

下表显示了 Amazon EBS 针对不同的 Amazon EC2 实例类型宣传的扇区大小。

实例类型 Linux Windows
所有基于 Xen 的实例类型 亚马逊 EBS 总是宣传 512 字节的物理扇区
A1 | c5 | c5a | c5ad | c5d | c5n | c6g | c6gD | c6gD | | d3 | d3en | g4ad | g4dN | G5 | g5g | i3 DL1 | i3en | Inf1 | m5 | m5a | m5ad | m5d | m5d | m5n | m6gD | m5zn | m6gD | p3dn | p4d | p4de | R5 | r5a | r5ad | r5ad | r5d | r5dn | r5n | r6g | r6gD | t3 | t3a | t4g | u-12tb1 | u-18tb1 | u-3tb1 | u-9tb1 | x2gd | z1d VT1 亚马逊 EBS 总是宣传 512 字节的物理扇区 亚马逊 EBS 宣传 512 字节或 4 KiB 的物理扇区 1
所有其他基于 Nitro 的实例 亚马逊 EBS 宣传 512 字节或 4 KiB 的物理扇区 1

1 取决于操作系统的支持。参阅以下 部分。

操作系统支持

下表提供了 Amazon EBS 宣传的示例操作系统和相应的物理扇区大小。这不是一份详尽的清单。我们建议您在操作系统中验证 Amazon EBS 公布的物理扇区大小。

操作系统 公布的物理扇区大小
  • 内核版本 4.14 及更早版本的 Amazon Linux

  • RHEL 7.9 及更早版本

  • Ubuntu 20.04 及更早版本

  • Windows 7/Windows Server 2008 及更早版本

512 字节
  • 内核版本 5.3 及更高版本的 Amazon Linux

  • RHEL8.8 及更高版本

  • Ubuntu 22.04 及更高版本

  • Windows 8/Windows Server 2012 及更高版本 1

4 KiB

1 对于 Windows 工作负载,请确保您使用的是最新版本的AWS NVMe 驱动程序。Amazon EBS 宣传的 AWS NVMe 驱动程序版本为 1.4.1 及更高版本的 4 KiB 物理扇区。

非默认块大小

逻辑数据块的行业默认大小当前为 4 KiB。由于某些工作负载受益于较小或较大的块大小,因此文件系统支持可在格式化期间指定的非默认块大小。应使用非默认块大小(例如优化)的场景不在本主题的讨论范围之内,但是区块大小的选择会影响卷的存储容量。下表显示了理论存储容量随不同块大小的变化。但是,请注意,EBS对卷大小施加的限制(io2 Block Express为64 TiB)目前等于16-KiB数据块启用的最大大小。

块大小 最大卷大小
4KiB(默认) 16 TiB
8 KiB 32 TiB
16 KiB 64 TiB
32 KiB 128 TiB
64KiB(最大) 256 TiB