高性能分布式闪存系统探讨

大家不难发现目前市场上出售的全闪存阵列基本都是采用SATA SSD,其中的原因在于NVMe SSD比SATA SSD贵,SATA SSD目前可以满足绝大多数应用的性能需求。除此之外,其实目前的全闪阵列软件并不能对NVMe SSD进行很好的支持。如果需要支持NVMe SSD,阵列软件还需要做较大规模的调整,例如需要考虑如何充分发挥多核处理器的并发效能,从而解决软件堆栈带来的性能瓶颈问题。在SATA SSD上,由于SATA SSD本身的性能并不是很高,因此,软件堆栈不需要做大规模调整就可以满足应用需求。但是在NVMe SSD以及未来性能更高的Xpoint存储介质上,软件栈必须要做深层次的调整才可以充分发挥NVMe SSD的性能。

传统单控阵列在使用的过程中会遇到严重的HA问题。当控制器发生故障的情况下,业务的连续性无法得到保障。在传统存储阵列的设计理念中,为了解决该问题会引入双控制器的设计思路。双控制器通过高速总线进行互连,在HA控制软件的作用下,对外提供双控服务,即使一个控制器出现故障,业务的连续性也能得到保证。在NVMe存储时代,IO性能变得很高,如果采用传统双控互连的方式,那么双控之间的数据同步将会成为严重的性能瓶颈点。因此,个人认为在高速存储时代,松耦合的分布式架构更加适合高性能存储,通过分布式的方式来获取业务的高可用和数据的高可靠性。

松耦合分布式数据保护系统的整体架构如下图所示:

存储服务器节点通过后端高速网络进行互连,将服务器内部的闪存资源进行聚合,形成高性能全局闪存资源池。位于每个存储服务器内部的分布式RAID软件会将数据在多个存储节点上进行冗余布局,当一个系统中无论是节点或者盘发生故障,都可以通过全局资源池中的冗余数据恢复故障数据。与此同时,当存储节点发生故障后,业务IO服务可以在从故障服务器切换到正常服务器节点,从而保证了业务的连续性。

这种分布式数据保护系统的设计理念和EMC Isilon存储系统的设计理念存在很多相似之处,通过后端高性能网络将存储节点进行互连,构建全局存储池。最大的劣势在于成本较高,需要前后端网络的支持。

为了降低成本,市场上主流的分布式系统都会采用一套网络,并且采用多副本的方式在多节点之间进行数据冗余。典型的系统有HDFS和Ceph。在磁盘存储时代,通过部署HDFS或者Ceph可以获得不错的性能,并且系统具有很强的可扩展性。但是,在NVMe存储时代,这样的系统遇到了挑战,如果将磁盘简单切换成NVMe SSD之后,Ceph的性能并没有得到大幅度的提升,而且NVMe SSD不能得到充分的利用。出现这种现象的原因很简单,在Ceph类似的系统中,存在面向磁盘设计的OSD以及文件系统,这种软件栈对NVMe SSD性能影响很大。因此,如果不对Ceph服务器端软件进行改造,那么即使采用性能很强劲的互连网络,性能也不能得到大幅度的提升。因此,目前主流的开源分布式系统都不能很好的使用NVMe SSD,需要进行大刀阔斧的改造。

在分布式文件系统中,有一种曾经在非线编领域经常使用的SANFS可以和单控闪存阵列进行有机结合,从而构建高性能的分布式闪存系统。SANFS是一种基于SAN存储设备的文件系统,其可以在SAN存储设备的基础上构建分布式文件系统。存储架构采用标准的MDS和DS架构。MDS是元数据服务器,提供文件系统元数据服务;DS是数据服务器,提供标准的块设备服务。MDS可以采用独立的服务器,也可以寄生在DS上,并且可以在多台DS上实现多MDS的数据冗余。DS提供标准的SAN服务,可以采用标准的阵列设备作为DS。SANFS需要客户端的支持,客户端在访问数据时,首先通过MDS获取访问数据的实际位置,然后通过带外工作的方式直接从DS上获取数据。客户端与DS以及MDS之间采用标准的块设备接口,通过FC或者iSCSI进行互连。

在闪存存储中,导出接口也是重要的性能瓶颈点,因此,在采用SANFS构建分布式存储时,最好采用RDMA互连技术。采用SANFS构建的分布式闪存系统架构如下图所示:

在高性能NVMe数据保护系统的基础之上,采用第三方提供的SANFS搭建了一套完整的分布式闪存系统,并且对其进行了性能评测。实测结果表明SANFS可以发挥闪存阵列的性能,在带宽等方面表现极佳,但是在随机小数据块访问方面存在比较严重的性能瓶颈。下图是大数据访问情况下的文件系统性能表现。通过该结果我们可以看到在多文件多流情况下可以把FlashRAID的性能跑满。

随着高速存储介质的不断普及,高性能分布式闪存系统的研发势在必行。如何充分的发挥分布式闪存系统的性能,一方面在于网络互连,更重要的还是在于对分布式存储软件栈的优化和重构。

时间: 2024-11-20 20:41:38

高性能分布式闪存系统探讨的相关文章

软件定义闪存系统是什么?

在软件定义一切的时代,存在非常多的概念,很容易混淆.在市场上客户会经常听到"软件定义存储"."软件定义闪存"等概念,那么本文中所提到的软件定义闪存系统和上面这些概念之间存在什么差别呢?特别是"软件定义闪存系统"和"软件定义闪存"之间有何差别呢?在此我试图通过技术的角度和大家一起分享一下"软件定义闪存系统"的精华所在. 在今年5月份召开的中国云计算大会上,我做了一个主题为"软件定义闪存系统关键技术&

除了高性能,闪存还有什么

闪存的出现会改变数据中心IT基础架构吗?虽然现在就下结论还为时尚早,但是闪存在性能.容量.可用性等方面的潜力正逐渐显现出来,并且得到了企业用户的认可. 新华人寿保险股份有限公司(以下简称新华保险公司)有移动展业的需求,而基于原有的系统,当移动客户端达到1500个时,系统出现了明显的性能瓶颈,当用户数增加到2500个时,后台系统甚至出现了中断的情况.经过测试和试用,新华保险公司最终采购了戴尔的4套服务器系统,其中包含了戴尔最新的FluidCache解决方案,支持的移动用户数最多可达七八千个,性能比

在闪存系统中控制延迟和一致性能的方法

在前两天北美召开的闪存技术峰会上,我代表公司做了一个技术分享报告,报告的题目是<Methods to achieve low latency and consistent performance>.在这个技术报告中提出了控制延迟和获得一致性性能的软件架构RISL.RISL是Random Input Stream Layout的缩写.这是Memblaze的专利技术.通过该技术可以使得SSD数据分布达到最优化,并且可以将任意IO Pattern都转换成顺序写入的模式,使得SSD可以工作在最佳的工作

Beanstalkd一个高性能分布式内存队列系统

流行的队列框架大致有:Memcacheq,Fqueue, RabbitMQ, Beanstalkd以及linkedin的kafka.RabbitMQ使用比较广泛,Beanstalkd是后起之秀.Beanstalkd之于RabbitMQ,就好比Nginx之于Apache,Varnish之于Squid.后面在项目中使用Beanstalkd的过程中,更发现其简单.轻量级.高性能.易使用等特点,以及优先级.多队列.持久化.分布式容错.超时控制等特性.下面简单介绍一下Beanstalkd. 设计思想 高性

Memcached 高性能分布式对象缓存系统

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信. memcached的服务器客户端通信并不使用复杂的XML等格式,而使用简单的基于文本行的协议. 因此,通过telnet也能在memcached上

NVMe闪存慢慢来

NVMe闪存还处于应用推广的早期阶段.除了技术因素外,它还需要一个完善的产业链.PMC公司对NVMe闪存寄予厚望,希望明年是NVMe闪存在市场上实现飞跃的一年. Derek Dicker是PMC公司非易失性存储(NVM)产品线总经理,目前全面负责公司企业级SSD控制器产品和相关解决方案.他不仅帮助公司建立和发展了NVM产品线,还指导生产了业界首款PCIe NVMe控制器.PMC公司对企业级闪存市场寄予厚望,这也是它选择拥有10多年IT从业经验的技术专家Derek Dicker作为非易失性存储产品

便宜真的没好货吗?戴尔闪存为存储经济性正名

你为什么会选择戴尔闪存?每个人的答案可能都会不同,但是归根结底,经济性都是一个重要的原因. 经济并不等于价格便宜 在这里首先要澄清一下,经济的存储并不等于价格便宜的存储.所谓经济的存储,应该是指在满足应用所需的性能.功能的情况下,存储产品的价格也能达到一个最合理的水平.不过,在看到一些存储厂商在宣传自己的产品时用到了"经济性"或"高性价比"这样的形容词,很多人还是会自然地认为,这样的存储产品最大的卖点一定是便宜. 用户这样的思维定式有时也会让戴尔的存储产品经理感到有

[视频] 闪存的未来 —— PMC制造

 [视频]闪存的未来 -- PMC制造 PMC推出的业界首款PCI Express? (PCIe?)存储交换芯片以及全球速度最快的SSD控制器在闪存系统中发挥了什么优势和作用呢?采用PMC的第二代Flashtec?NVMe? 控制器的SSD能实现高达百万的IOPS及其20TB的闪存容量.而连接这些高性能.低延迟SSD的系统需要一系列强大的PCIe交换方案.PMC的Switchtec? PSX PCIe 存储交换芯片具备可编程及先进的诊断功能,并具备大规模部署所需的多端口.Switchtec

EMC、Pure和NetApp推新品,NAS闪存场景在哪里

Hardy 架构师技术联盟 All Flash/SSD存储的趋势势不可挡,未来在NAS服务上也是如此,目前已经有很多家初创厂商支持全SSD的NAS存储服务,包括EMC Isilion也推出了全闪存节点.闪存场景下的高IOPS能力,对应到NAS应该是OPS操作能力,如随机小文件读写.分析和热点加速等.在NAS对数据库的支持上,例如GPFS NAS 对PureScale.Oracle支持上,如果存储介质采用SSD,那么对数据库性能和处理能力上,将会有显著的提升. 今天我们来看看Purestorage