解决NVMe存储控制器驱动器限制问题

存储和内存市场的创新有助于应对NVMe驱动器限制的挑战。确保进行正确的比较并有效地扩展。

存储控制器在支持NVMe驱动器的数量方面存在限制。这是一个PCIe带宽问题——没有足够的带宽。

无论NVMe存储控制器CPU是Intel、AMD、ARM还是自定义asic,都存在这个问题。

PCIe带宽依赖于作为PCIe代如下表所示。

作为PCIe进化图

目前大多数存储控制器都是PCIe 3.0,其最大带宽约为32gbps。与作为PCIe 4.0作为PCIe 5.0存储控制器变得越来越普遍,带宽将增加两到四倍。这对存储用户来说是非常必要的,也是一个好消息。

然而,并不是所有的带宽都可以分配给NVMe ssd。前端网络互连将消耗大量的资源。这一领域的带宽增长速度快于PCIe带宽。以太网网卡和ib主机通道适配器正在迅速达到新的带宽高峰,每个端口的吞吐量达到400 Gbps (50 Gbps)。甚至光纤通道现在也可以达到64gbps (8gbps)。不需要太多的这些网卡或适配器就可以使PCIe饱和。

存储系统如何提高其总体性能?对于每个存储供应商来说,答案非常简单——添加更多的控制器。

这意味着,对于任何给定的存储控制器,无论PCIe代是什么,用于NVMe驱动器的后端互连的PCIe带宽都将受到限制。确定NVMe驱动器的最大数量需要在前端、后端和所需吞吐量之间进行平衡。基于PCIe 3.0的NVMe存储控制器通常最多支持24个驱动器。这并不一定是一个硬性的限制。它最终取决于总吞吐量需求。然而,这是一个实际问题。

业内的传统看法是PCIe 4.0和5.0变得更加普遍在存储控制器中,因此应该支持NVMe驱动器的实际数量。这是有可能的,但还有其他问题表明不同。NVMe驱动器吞吐量也将增加。所有连接到PCIe的东西都在增加与PCIe带宽相应的带宽消耗。

然后是存储软件堆栈效率。软件膨胀可能需要解决,否则CPU很容易成为性能瓶颈。很有可能,甚至很有可能,每个存储控制器支持的总驱动器不会改变。如果是这样,那么存储系统如何提高其总体性能呢?对于每个存储供应商来说,答案非常简单——添加更多的控制器。

扩容NVMe存储控制器

目前最常见的共享存储系统是双活控制器。两个控制器都可以访问另一个控制器的驱动器,以防其中一个控制器出现故障。两个控制器通常不会增加完全可寻址的NVMe驱动器的数量。这是为了防止当一个NVMe存储控制器不可用时出现巨大的性能下降。将存储控制器的数量扩展到两个以上需要更有创意的架构。

扩展控制器的数量。块存储扩展通常通过某种类型的集群。扩展为文件和对象存储通常是全局名称空间,但并不总是如此。所有向外扩展的架构要么全部共享,要么不共享。块更有可能共享一切,但并非总是如此。对于文件和对象来说,没有什么比共享更常见的了。

一些扩展块架构的一个问题是边际收益递减。每个新控制器增加的性能都比前一个控制器少,直到下一个控制器对性能产生负面影响。对于集群共享架构来说,这通常是一个问题。无共享架构通常更有可能线性扩展到更大的数字。然而,所有扩展架构都增加了机架单元(RU)、交换机端口、交换机、网卡或适配器、电缆、收发器、电缆管理、导管、电源、冷却、UPS等的数量。这将显著增加存储系统的成本。

产品帮助解决NVMe驱动器限制

也有一些好消息。在过去的几年中,有几家厂商专门针对NVMe驱动的限制进行了有意义的创新。本文重点介绍其中的四个。但他们绝不是唯一的四个。

Pavilion Data Systems的超并行Flash阵列,由Pavilion供电HyperOS。Pavilion巧妙地想出了如何将20个存储控制器和72个NVMe驱动器安装在一个4 RU底盘上。所有控制器都可以通过内部PCIe交换机访问所有驱动器。这大大减少了消耗的机架空间,电力,冷却,UPS等,因为它的规模。它们支持块、文件和对象存储,并可以通过添加额外的机箱来线性扩展。产品集群在使用文件全局命名空间和对象全局命名空间时阻塞。这是共享一切和不共享架构的巧妙结合。

StorOS1存储系统StorOne目前只是一个规模扩大的active-active架构,唯一关注的是存储软件堆栈和服务效率。它支持块、文件和对象存储。他们更高效的软件释放CPU更大的性能,从NVMe和SAS/SATA驱动器所连接的最大性能。虽然这不会增加可寻址NVMe驱动器的数量,但它降低了延迟,并增加了这些驱动器在存储系统中的IOPS和吞吐量。

可替代的。本产品仅限屏蔽。什么使得可替代的创新是控制与数据路径的完全分离。存储业务逻辑和元数据与存储I/O在数据路径外的独立控制器中分离。所有存储I/O控制器都在数据路径中,彼此之间不共享任何东西。数据外路径控制器通常处理路由、快照、复制和管理。

Vast数据统一存储通用存储是线性扩展到exabyte范围的文件和对象存储。它是一个分解的共享一切架构。海量数据还创新性地分离了存储逻辑控制和存储I/O控制器.存储逻辑控制器有一个全局名称空间,应用服务器连接到它。海量数据存储逻辑控制器可以是服务器中的设备或容器。每个存储逻辑控制器然后通过NVMe-oF以太网访问QLC SSD容量存储I/O控制器。每个存储I/O控制器前端缓存18 TB NVMe存储类内存。每个逻辑控制器都可以访问每个容量存储I/O控制器。

这些并不是市场上唯一的创新的、可扩展的NVMe存储系统。Excelero(块)、WekaIO(文件)和Rozo(文件和对象)等初创公司都有聪明的创新架构,以应对NVMe驱动器存储控制器的限制。即使是主要的传统存储公司,包括戴尔、惠普、IBM、NetApp和Vantara,也有相对创新的扩展存储产品,以应对NVMe存储控制器驱动器的限制。

比较这些系统架构是很困难的。他们的架构是他们解决存储问题的方式,比如NVMe存储控制器驱动器限制。不要比较架构;比较结果如何满足组织的要求。要确保比较是在要求上进行的,而不是他们如何达到要求。

最好是根据存储系统的预期寿命来确定所需的性能和容量。然后衡量每个项目如何满足这些需求,以及它们为此付出的总成本。

出于完全透明的考虑,这些供应商都不是本文作者的当前客户。然而,他们中的大多数人在过去的23年里都经历过这样或那样的事情。

深入了解NVMe存储

搜索灾难复苏
搜索数据备份
搜索聚合基础设施
关闭
Baidu