Amazon Elastic Compute Cloud
用户指南(适用于 Linux 实例)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

针对 EBS 卷的大小和配置的限制

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

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

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

8 ZiB = 8 ×

10243 TiB

1 EiB =

10242 TiB

(在 RHEL7 上认证的 50 TiB)

500 TiB

(在 RHEL7 上认证)

256 TiB 16 TiB

* https://ext4.wiki.kernel.org/index.php/Ext4_Howtohttps://access.redhat.com/solutions/1532

** https://access.redhat.com/solutions/1532

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

服务限制

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

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

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

  • Amazon EC2 需要有 Windows 启动卷,才能使用 MBR 分区。如分区方案中所述,这意味着启动卷不能大于 2 TiB。Windows 数据卷不受制于此限制,可以是 GPT 分区的。

  • Linux 启动卷可以是 MBR 或 GPT,而且 Linux GPT 启动卷不受制于 2-TiB 限制。

分区方案

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

MBR

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

(232 - 1) × Block size = Number of addressable blocks

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

(232 - 1) × 512 bytes = 2 TiB - 512 bytes

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

GPT

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

(264 - 1) × Block size = Number of addressable blocks

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

(264 - 1) × 4,096 bytes = 8 ZiB - 4,096 bytes = 8 billion TiB - 4,096 bytes

现实世界中的计算机系统不支持任何接近这个理论最大值的值。实现的文件系统大小目前仅限于 50 TiB(对于 ext4)和 256 TiB(对于 NTFS),这两个值都超过了 AWS 所施加的 16 TiB 限制。

数据块大小

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

逻辑数据块的行业默认大小当前为 4096 字节 (4 KiB)。由于某些工作负载受益于较小或较大的块大小,因此文件系统支持可在格式化期间指定的非默认块大小。应使用非默认块大小的情况不在本主题的范围之内,但块大小的选择会对卷的存储容量产生影响。下表显示了存储容量随不同块大小的变化:

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

EBS 对卷大小 (16 TiB) 施加的限制目前等于 4 KiB 数据块启用的最大大小。