青云QingCloud面向核心业务的全闪分布式存储架构设计与实践
当今是云计算、大数据的时代,企业业务持续增长需要存储系统的 IO 性能也持续增长。 机械盘本身的 IOPS 一直徘徊在数百的级别,为了提高传统存储的性能,有些存储厂商加了缓存层,然而目前应用正由单一走向多元化,导致 IO 特征无法预测,缓存也难以发挥作用。 机械盘依赖盘片的旋转和机械臂的移动进行 IO,目前转速基本达到物理极限,所以机械盘性能一直徘徊不前,无法满足企业核心业务对于存储性能的要求。SSD 作为一种全新的闪存介质开始进入企业的数据中心,并逐渐成为应用的主流。 全闪,企业核心存储新选择 企业对存储的要求是性能和容量要满足业务的需求,并且价格合适。 首先从容量上来看,目前主流的 SSD 单盘容量已经达到 8T,完全满足企业各类应用的需求。 其次从性能上来看,一块 NVMe SSD 的性能大概在 100 万 IOPS,相当于 5000 块 7.2k SATA HDD 的性能。在延迟上,一块 NVMe SSD 的延迟大概在 10 微秒,是机械盘的 200 分之一。 最后从单盘的价格来看,SSD 比机械盘要贵,但是从单个 IO 的成本来看,SSD 的性价比远远高于机械盘。最近英特尔推出了 96 层 QLC NAND 颗粒,正在研究 114 层的 NAND,随技术进步,SSD 性价比会进一步提高。 总之,全闪能够满足企业核心业务对存储的高 IOPS、低延迟的要求,并且可以降低 TCO,可以说企业核心存储选择全闪是大势所趋,所以厂商要面向全闪来设计存储系统。 面向闪存的三种存储方案 如上图所示,目前业界基于全闪的存储方案主要有以下三种: 第一种是传统方式。 用 SSD 做缓存或者直接用 SSD 盘替换掉传统存储中的机械盘,这种方式无法发挥全闪的性能。 因为传统的存储诞生在机械盘的时代,是面向机械盘设计的。而当前 NVMe SSD 的性能已经达到 100 万 IOPS,与机械盘有了天壤之别。 传统存储受限于底层架构的设计,并没有针对全闪进行有效的软件改造或者优化,即使采用了全闪的配置,也无法发挥 NVMe SSD 的性能,传统存储方案已经不再适合承载高速闪存介质。 第二种是全闪阵列。 全闪阵列的性能相比传统方式有了很大提升,可以满足当前业务的要求。 全闪阵列通常采用专有的硬件,导致其成本高昂。另外一方面,传统阵列一般采用双控制器互为备份,纵向扩展无法提升性能,横向扩展受限于控制器的数量,一般情况下可以扩展到 8-16 个,导致其扩展性很差,灵活性也不够。 第三种是全闪分布式存储。 分布式存储是通过网络将存储节点联系在一起,以集群的形式提供服务。 首先,它采用通用的 X86 硬件,使硬件标准化,可以降低 TCO。 其次,扩展灵活。集群中每一个节点都具备存储和计算能力,随着节点的增加集群的容量和性能得到线性扩展。无中心设计使集群不易形成瓶颈节点,理论上可以无限扩展。 第三,针对 NVMe SSD 进行特殊的设计和优化,性能强劲。 另外,随着 25G、100G 网络的普及和 RDMA 网络低延迟的特性,使得分布式全闪的跨节点扩展不再是瓶颈。在全闪存和高速 RDMA 网络的加持下,分布式全闪架构已经成为企业核心业务的理想之选。 NeonSAN——值得选择的全闪分布式存储 接下来介绍 QingStor NeonSAN,这是一款面向核心业务设计的全闪分布式块存储,由青云QingCloud 自主研发,打破了传统存储的容量与水平扩展的瓶颈,性能可以媲美全闪的中高端存储阵列。 NeonSAN 也是为云而生的分布式存储,原生适配虚拟化、大数据、容器等多种应用生态。 首先给大家讲讲 NeonSAN 名字的由来:名字的后半部分是 SAN,SAN 代表了产品的形态,Neon 是元素周期表里面氖的代号,是一种惰性气体,具有有极高的稳定性,所以 NeonSAN 的名字寓意着这是一款稳定的企业级存储产品。 NeonSAN 核心模块由数据层和控制层组成,此外包括前端接口与运维管理工具层。 NeonSAN 核心模块采用并行流水线技术,设计了全闪存储系统的资源调度系统、内存管理系统、元数据管理系统、RDMA 网络收发系统等,打造高可用、高可靠、高性能、扩展灵活的全闪分布式存储。 NeonSAN 提供 9 个 9 可靠性,单卷性能达到 10 万 IOPS,最小延迟小于 90 微秒。 在扩展方面,NeonSAN 可以扩至 1024 节点,并且容量和性能随节点的增加而线性增长。 NeonSAN 的基本架构是由 Zookeeper 服务、元数据服务、管理服务、存储服务和接入服务五部分构成。 Zookeeper 提供集群的发现服务;元数据服务用来记录集群中的元数据,如节点信息、SSD 的信息、卷信息等;管理服务提供集群的管理功能,如节点的上线、创建卷等。 数据存储服务用来给客户提供具体的 IO,它承载业务发来的 IO 请求,采用对等的设计,每个存储节点的地位是相等的,都可以提供 IO 服务。 对等设计可以保证集群的某一个节点发生故障时,其他节点能够接替故障节点继续服务,保证业务的连续性,同时为集群的容量和性能线性扩展提供基础。 接入服务,第一个模块是 QBD 内核驱动,在 Windows Server 和 Linux Server 上都有对应的版本,它可以让服务器以使用本地盘的方式使用 NeonSAN,上层业务不需要做任何改造就可以对接 NeonSAN,非常方便。 第二是模块是 QEMU,可以为虚机提供云硬盘。 第三是模块是通用的 iSCSI 接口,可以为 VMware 等虚拟化平台提供存储服务。 此外,NeonSAN 还提供高速的 NVMe-oF 接口以及 CSI 接口,为容器提供持久化的存储服务。 NeonSAN 如何满足高可靠和高可用 接下来谈谈 NeonSAN 的网络设计如何满足高可靠和高可用。 NeonSAN 的网络分为两部分:前端业务网络和后端互联网络,采用两个前端交换机和两个后端交换机,组建高可用网络。(交换机使用普通的以太网交换机就可以,不需要 FC 交换机这类昂贵的设备。) 每个 NenonSAN 节点配备双网卡,每张网卡有两个网口,分别连接到后端交换机和前端交换机,假如交换机 A 发生故障就会影响到 NeonSAN 1、2、3 节点的网卡 A,凡是通过这三个网卡进行交互的业务也会受到影响。 (编辑:应用网_阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |