Amazon 的EBS交易量限制 - Amazon EBS

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

Amazon 的EBS交易量限制

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

以下各节描述了限制EBS卷可用大小的最重要因素,并提供了配置EBS卷的建议。

存储容量

下表总结了 Amazon 上最常用的文件系统的理论和实现存储容量EBS,假设块大小为 4,096 字节。

分区方案 最大可寻址块数 理论最大大小(块数 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 †

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

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

io2 Block Express 卷支持高达 64 TiB 的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,与 GRUB2 (Linux) 或启动模式 (Windows) 一起使用时,UEFI启动卷的大小可以高达 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

提高这个 2 TiB MBR 销量限制的工程变通方法尚未得到业界的广泛采用。因此,即使 AWS 显示MBR卷的大小更大,Linux 和 Windows 也永远不会检测到其大于 2 TiB。

GPT

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

264 × Block size

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

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

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

数据块大小

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

亚马逊EBS向操作系统宣传512字节或4,096字节(4 KiB)的物理扇区。只有在 Amazon EC2 实例类型、操作系统和 AWS NVMe驱动程序支持的情况下,Amazon 才会EBS宣传 4 KiB 的物理扇区。如果实例类型、操作系统或 AWS NVMe驱动程序不支持 4 KiB 的物理扇区,Amazon 会改用 512 字EBS节的物理扇区。

Amazon EC2 实例类型支持

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

公布的物理扇区大小 实例类型
512 字节 所有基于 Xen 的实例以及以下基于 Nitro 的实例:
  • 通用型:A1 | M5 | M5a | M5ad | M5d | M5dn | M5n | M5zn | M6g | M6gd | Mac1 | Mac2 | T3 | T3a | T4g

  • 计算优化型:C5 | C5a | C5ad | C5d | C5n | C6g | C6gd

  • 内存优化型:R5 | R5a | R5ad | R5d | R5dn | R5n | R6g | R6gd | U-12tb1 | U-18tb1 | U-24tb1 | U-3tb1 | U-6tb1 | U-9tb1 | X2gd | X2iezn | Z1d

  • 存储优化:D3 | D3en | I3en

  • 加速计算:Dl1 | g4ad | g4dn | G5 | g5g | Inf1 | p3dn | p4d | p4de | p4de | VT1

4 KiB 所有其他基于 Nitro 的实例
操作系统支持

下表显示了 Amazon 为某些常见操作系统EBS宣传的扇区规模。

注意

该列表并不完整。我们建议您在操作系统中验证 Amazon 公布的物理扇EBS区大小。

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

  • RHEL7.9 及更早版本

  • Ubuntu 20.04 及更早版本

  • Windows 7 或更早版本

  • Windows Server 2008 及更早版本

4 KiB
  • 内核版本 5.3 及更高版本的 Amazon Linux

  • RHEL8.8 及更高版本

  • Ubuntu 22.04 及更高版本

  • Windows 8 及更高版本

  • Windows Server 2012 及更高版本

AWS NVMe驱动程序支持

亚马逊EBS宣传驱动程序版本为 1.5.1 及更高版本的 4 KiB 物理扇区 AWS NVMe。请务必确保您使用的是最新版本的AWS NVMe驱动程序

非默认块大小

逻辑数据块的行业默认大小当前为 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