双端口NVMe SSD及其在企业级存储系统中的应用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Memblaze_2011/article/details/78928417

SAS接口硬盘能成为企业级存储阵列的标配,与双端口设计密不可分。而SATA则由于不支持端口聚合,一个端口只能对应一个接口连接器,这就造成SATA只支持单路连接,如果链路出现故障,盘上数据自然读不出来了。所以谈到双端口提高系统高可用性必须从端口开始谈。

上文提到了端口(port)的概念。硬件设备一侧的端口又称接口,其电气信号由接口规范定义,而数量则取决于控制芯片(Controller IC,也包括RoC)的设计。硬盘、HBA卡等接口在物理上就是我们所看到的引脚和插接件。当下主流硬盘端口有SATA、SAS和U.2三种。(如下图)。


SATA、SAS与U.2三种接口
上图展示了当下主流的三个硬盘接口。设备接在背板上,背板通过线与HBA卡等另一端的设备相连。这个原理与插头插入插板、耳机插入耳机接口的机理是一样的,至于怎么连需要看具体的接口连接器规范。
这张图则更详细的展示了三种接口针脚规范,可以看到SAS和SFF-8639(也是当下的U.2,下文中统一使用U.2)则均是双端口设计,而且U.2还支持兼容SAS和SATA接口。谈到这里,端口的基本概念和U.2的物理层面双端口设计已经完成介绍。

基于双端口NVMe SSD的企业级存储系统解决方案

双端口使得一个盘可以连接在两个不同的存储控制器上,当其中一个存储控制器或者和盘之间的链路出现故障,另一个控制器仍能访问硬盘,提升系统高可用性,保障业务连续性。

PCIe SSD在数据中心中的应用已有将近10年的历史,但是包括Memblaze在内的PCIe SSD厂商所服务的多是技术实力较强的互联网公司,系统以分布式存储架构为主,这类系统多采用x86服务器搭配高性能PCIe SSD做系统缓存或者Tie0层主存储,低速硬盘作为Tie1层存储。系统可靠性和可用性主要通过上层系统软件的多副本、纠删码等技术实现。随着U.2接口的NVMe SSD走向成熟,NVMe SSD全闪存阵列也迎来了新的机遇。下图就展示了一个基于NVMe SSD的双控存储阵列架构。

双端口PBlaze5 PCIe NVMe SSD在双控系统中的应用
可以看到与传统磁盘阵列类似,上图中系统也具有两个控制器,不同的是存储控制器借助PCIe Switch直接与双端口的PBlaze5相连。PBlaze5采用的U.2本质上是PCIe3.0 x4,在双端口模式下,每个控制器可以分得PCIe3.0 x2的带宽。
除了存储阵列的方案,服务器搭配NVMe交换背板的方案也非常常见,基本架构如下:
NVM SSD、服务器节点与NVMe 交换背板搭配的高可用企业存储架构
传统存储系统有类似的方案,使用SAS HBA通过SAS背板与前端硬盘相连。上图中并没有HBA这样的组件,而是服务器节点直接连Switch,这是因为PBlaze5 PCIe NVMe SSD带宽已经接近PCIe 接口带宽理论值,如果再使用HBA势必会拉低系统性能。
需要指出的是,根据各家NVMe SSD设计不同,双端口的实现方式也略有不同。PBlaze5可以被服务器自动识别,如果服务器支持双端口U.2硬盘,那么PBlaze5就自动设置为双端口模式。

存储峰会上PBlaze5的双端口模式下性能演示
上图是基于超微服务器搭配一块PBlaze5的演示方案,PBlaze5在双端口模式下读带宽达到了1.65GB/s,性能已经接近PCIe3.0 x2的理论带宽。打造一个高可用的企业级存储系统,双端口 NVMe SSD是必须的。同时,双端口NVMe SSD需要阵列、服务器、系统等诸多环节上的技术协同发展才能够成为系统高可用性的有力保障。

猜你喜欢

转载自blog.csdn.net/Memblaze_2011/article/details/78928417