SAS接口硬盘能成为企业级存储阵列的标配,与双端口设计密不可分。而SATA则由于不支持端口聚合,一个端口只能对应一个接口连接器,这就造成SATA只支持单路连接,如果链路出现故障,盘上数据自然读不出来了。所以谈到双端口提高系统高可用性必须从端口开始谈。
上文提到了端口(port)的概念。硬件设备一侧的端口又称接口,其电气信号由接口规范定义,而数量则取决于控制芯片(Controller IC,也包括RoC)的设计。硬盘、HBA卡等接口在物理上就是我们所看到的引脚和插接件。当下主流硬盘端口有SATA、SAS和U.2三种。(如下图)。
基于双端口NVMe SSD的企业级存储系统解决方案
双端口使得一个盘可以连接在两个不同的存储控制器上,当其中一个存储控制器或者和盘之间的链路出现故障,另一个控制器仍能访问硬盘,提升系统高可用性,保障业务连续性。
PCIe SSD在数据中心中的应用已有将近10年的历史,但是包括Memblaze在内的PCIe SSD厂商所服务的多是技术实力较强的互联网公司,系统以分布式存储架构为主,这类系统多采用x86服务器搭配高性能PCIe SSD做系统缓存或者Tie0层主存储,低速硬盘作为Tie1层存储。系统可靠性和可用性主要通过上层系统软件的多副本、纠删码等技术实现。随着U.2接口的NVMe SSD走向成熟,NVMe SSD全闪存阵列也迎来了新的机遇。下图就展示了一个基于NVMe SSD的双控存储阵列架构。
除了存储阵列的方案,服务器搭配NVMe交换背板的方案也非常常见,基本架构如下:
需要指出的是,根据各家NVMe SSD设计不同,双端口的实现方式也略有不同。PBlaze5可以被服务器自动识别,如果服务器支持双端口U.2硬盘,那么PBlaze5就自动设置为双端口模式。