双端口对于SSD和数据中心来讲着实是个重要特性,所以我们 请了研发部门的工程师写了上下两篇双端口文章,从应用模型、设计实现到可靠性和性能测试,都介绍一遍。这篇是上篇,介绍了双端口应用模式和设计实现。
双数据路径(或多路径)对企业级应用并不陌生。原来,电脑都通过单一路径连接到一个装置。随着时间的推移,这种实现模式逐渐暴露出了种种弊端。在单路径场景中,如果从主机到驱动器本身的数据路径受到破坏,则无法访问数据,这为双路径(或多路径)概念铺平道路。
SCSI设备是第一个使用两个物理连接实现双端口功能的设备。随着串行连接的SCSI(SAS)的出现,通过一个物理连接来实现双端口连接成为可能。由于双端口允许数据从两个端口独立传输,因此该技术可以为任何一条数据路径提供容错。双端口很快成为流行的配置。
随着NVMe SSD技术的飞速发展,双端口技术在企业级存储系统中的应用也成为必然,由于其在高性能高可靠性上的优势,有着更为广阔的前景及市场。
双端口NVMe SSD支持单个主机内存在的两条数据路径,同时通过两个控制器访问相同的存储设备实现冗余。在另一种常见的应用场景中,两个主机系统也可以同时使用双端口访问同一存储系统。如果在一条数据路径丢失时发生系统故障或电源丢失,可用的数据路径将继续运行,对业务连续无影响,对QoS的影响达到最小。
双端口应用模型
根据双端口应用的场景,可以分为双活,主从,以及链路冗余等模式。如下图所示,
图1双活模式
Server A 与server B分别通过PCIe switch连接同一块NVMe SSD,两者能够同时访问相同的存储