UMStor: 数字时代的分布式多协议统一存储实践

百家 作者:Ucloud 2018-07-09 09:48:11

前言

随着数字化经济的快速融合与发展,云计算、大数据、物联网等创新技术不断重构着企业IT,数据中心存储基础架构也在发生深刻变革。传统的异构存储设备难以解决统一管理和数据共享难题,而且也不能适配虚拟化、大数据、物联网、混合云、AI等场景,导致IT建设成本居高不下、业务创新也受到阻碍。


在数字化转型带来的挑战中,分布式存储成为数据中心存储基础架构的下一步演化方向。在分布式存储系统里,软件处于核心地位,底层存储资源则构成统一的存储资源池。通过这种方式,可以实现存储容量、性能的弹性扩展。同时,由软件定义的分布式存储系统可以将硬件与软件进行解耦,将存储资源按需求分配给具体应用,实现存储资源在不同程度、不同广度的灵活调用。


沿着这种思路,优云数智通过系列实践,开发并推出了软件定义的分布式统一存储解决方案UMStor,并通过将计算存储环境分离,采用Hadapter直接调用librados函数库来请求OSD的方式,避开了数据存取对网关的请求,在保证大数据环境下存储访问性能的同时,打破环境分离带来的数据调度壁垒。



注:本文整理自优云数智解决方案高级总监方勇在ArchSummit 2018 深圳的演讲内容,演讲主题为《UMStor: 数字时代的分布式多协议统一存储实践》,感兴趣的读者可以点击【阅读原文】下载讲师演讲PDF。


统一存储技术的演进历史


我从2000年开始从事存储行业,记忆里,似乎每隔几年,大家就要谈一次数据整合,而每次数据整合都会引发一次存储产品的技术创新。那么现阶段,存储技术能带来什么样的创新?在这里结合最近的项目经历,来谈谈我个人的部分观点。


根据以往观察,把存储技术的主要演化分为三个发展阶段:


  • 第一个阶段称之为信息化时代,是直连存储转向网络存储的阶段。SAN、NAS存储技术都是在这个阶段出现的,虽然还没有统一存储的概念,但SAN存储的出现实现了结构化数据的存储整合,所以从这个角度看,可以理解SAN存储就是当时的统一存储

  • 第二个阶段称之为互联网时代,电子商务出现了。从数据角度来看,这个阶段的最大变化就是非结构数据的快速膨胀。统一存储的概念也是在这时出现的,很多企业为了应对数据快速膨胀,采用了统一存储。统一存储帮助客户用性价比较高的方式,将结构化和非结构化数据集中存储起来,像微信之类的应用;

  • 第三个阶段是数据大爆炸时代出现了,就是社交时代。这个阶段,非结构化数据膨胀的更加恐怖了,分布式存储技术出现并且开始普及。




那么,现在又处在一个什么阶段?我认为是数据爆炸的第四个阶段。这几年的一个较大变化是云计算、大数据、人工智能、物联网之类的技术被越来越多的行业客户所关注,这些新型数字技术有个很大的特点,那就是围绕数据做文章。



由于使用了这些数字技术,客户的数据中心围绕技术产生的数据量上了一个台阶。比如,一家国内信用卡中心客户,两年前的大数据系统就是指Oracle的数仓,只有几十TB。现在因为云计算技术的使用,其存储已在考虑PB级别的存储规划了,这样的案例还有很多。


数字时代需要什么样的存储技术?


那么,这些新数字技术的使用对存储技术有什么影响?符合时代发展的技术才具备生命力,存储也不例外。三年前,我就在思考,存储技术的未来会是什么样?


存储技术作为独立的IT子系统存在有20多年了,经过这些年的演化,存储技术始终是围绕性能、功能、价格之类的因素在演变,今天看到的商业存储,服务于传统的B端业务需要,应该说非常成熟了。



但是,这些数字技术产生的数据量极其庞大,应该说以前存储产品很多技术特性都没法使用了。例如,PB级别的数据怎么保护?现在的虚拟带库技术就不能很好解决这个问题。PB级别的数据到底需要使用几个存储控制器才能提供业务系统需要的性能?


一个偶然的机会让我看到了数字时代的存储技术应该怎么走下去。去年,优云数智拿下一个非常重要的项目,为一位重量级客户建设数十PB级别的分布式存储系统。这个存储系统为客户的私有云提供存储服务,存储虚拟机镜像数据、关系型数据库的数据以及非结构化类的数据。


就一般项目发展来说,分布式存储与私有云一旦结合,基本上就告一段落了。但当进行技术讨论时,讨论到“云是否可以作为大数据环境的基础资源供应”这一问题时,我们看到了变化。


现在,很多大型企业都有私有云和大数据系统,但私有云往往归基础运维部门负责,而大数据业务因为偏向业务端,所以大数据系统的资源往往也是由大数据部门独立管理。


但也有一种情况需要将私有云和大数据系统进行统一管理,在这种需求的驱动下就诞生了“大数据上云”的思路,在提供必要性能的前提下,充分发挥云计算的弹性特点。基于上述需求,我们开始调研这种技术实现的可能性。



面向计算存储分离的Hadapter解决方案


◆  计算存储融合-HDFS

首先来看传统的大数据存储部署形态。Hadoop技术底层采用了HDFS文件系统,是模仿Google的GFS出现的一种分布式文件系统。今年,超融合系统这个概念比较火,应该说HDFS是最早向大家展现什么是超融合技术的。



HDFS的出现导致了一个结果,就是商用存储在大数据环境下基本无用武之地。各主流商用存储厂商,如EMC、NetApp等,都有大数据解决方案,但我们好像还没遇到哪个客户在Hadoop上使用商用存储。大家为什么都使用HDFS?因为性能好、便宜。随着大数据技术的普及,一个企业有多套Hadoop集群环境的情况越来越普遍,但大数据环境的资源争抢、集群扩容、数据集复制等都变成了问题。


◆  计算存储分离实践–EMR

那么,有没有人做过“大数据上云”?有的。因为公有云规模大的特点,因此“大数据上云”在公有云计算公司就遇到了。看下图,AWS就是最早做这种尝试的云计算公司。



AWS有个EMR大数据处理服务,它采用了计算存储分离的存储模型,将大数据处理的数据存储在AWS的S3对象存储里,好处是计算和存储的扩展均独立,弹性很好,同时存储利用率会得到很大提升,资源的“放”和“收”很好解决。但这种存储模型的问题在于数据的存取路径必须通过对象服务的网关,再由网关服务把IO请求递交给底层的对象存储设备。所以,一方面,这个网关增加了IO访问路径的开销;另一方面,这个网关比较容易成为系统的性能瓶颈。


基于Hadapter的计算存储分离方案


因此,就需要研究一种方法,既能有计算存储分离模型的好处,又能保证大数据环境的存储访问性能。我们的灵感来源于NFS-Ganesha这款软件,能支持多种后台存储系统,其中就包括Ceph的对象存储服务。


如下图所示,NFS-Ganesha使用了librgw实现对Ceph对象存储的访问,librgw是一个Ceph提供的函数库,通过这个函数库可以让用户端通过函数调用来直接访问Ceph的对象存储服务。也就是说,librgw可以将客户端请求直接转化成Ceph的librados请求,然后通过socket与OSD通信,如此可以不需要发送HTTP请求给对象存储网关,直接让对象存储网关与OSD之间通信完成一次访问。无疑,通过librgw的IO访问路径效率是优于对象存储网关的。



基于这种思考,围绕librgw内核打造了一款基于优云数智存储系统的Hadoop插件——Hadapter。Hadapter插件部署在Hadoop客户端上,当Hadoop客户端发送以uds://为前缀的请求时,Hadoop集群就会将请求下发给Hadapter,然后通过函数库直接调用librados函数库来请求OSD,从而完成一个请求的处理操作。



这样做有哪些好处?首先,这是一种计算存储分离模型,所以在图上列的独立扩展好处都会具备;其次,在性能上,这种存储模型优于直接使用对象存储模型,后面有一些具体性能数据。当然,这样一个存储模型的最大性能还是会受限于客户网络的现状。 


那么在大数据场景下,三种存储模型的性能之间有什么差异?做了一些预研性质的性能对比,在相同处理条件下,HDFS性能还是最好的,而使用对象存储的情况下,时间是最长的,基本上是一倍的开销,而使用Hadapter的时间开销略逊于HDFS的开销,但远超直接使用对象存储的模式。



项目到这里,我们与客户也基本达成了一致的技术构想:在优云数智自研的UMStor存储上配合Hadapter技术去实现“大数据上云”。最后,我们在云计算环境中,抽出100台以上的节点规模,作为Hadoop的客户端。



开始部署时,采用的是物理节点,因为性能达到预期,后面变成了物理+虚拟的混合节点部署模式,最近在考虑全虚拟化节点。这样一个生产化部署,实现效果和预期基本是一致的。采用计算和存储分离的模型,解决了大数据环境所需资源“放”与“收”问题,并且在数据管理上会变得非常容易,因为Hadapter是一个jar包,所以在安装部署和后期维护上会非常简单。



预研时,做了一个性能对比,在实际生产环境下,又做了一次性能的效果对比。图上数据是和客户之前使用的HDFS环境做的对比。在使用Hadapter后,大部分场景下,大数据环境性能的表现还是很出色的。当然,还是之前的判定,如果希望跑出更好的大数据环境性能,可能要考虑一下对IP网络的改造。


大数据处理流程重塑


在UMStor多协议分布式存储系统具体使用过程中,还演化出一种新的大数据存储架构,即数据湖存储架构。数据湖是大数据厂商提的一种新概念,面向多数据源的信息存储。


传统大数据环境下,数据的存储和处理需要大约9个步骤实现数据的汇聚、处理及使用。其中数据会分散在不同的存储设备上,这期间带来了对数据的大量管理工作,例如数据转存可能就会产生不小的开销。



优云数智自研的UMStor分布式存储是一种多协议的分布式存储,底层是对象存储,除了Hadapter,还提供了NFS网关、iSCSI等接口形态,所以在大数据场景下,UMStor可以作为数据交换平台存在,实现一次写入、多次访问的使用效果,这种使用方式可以构建一种数据湖的存储模型出现。正如上图所示,UMStor实现了大数据环境下处理效率的提升。


存储技术的未来展望


下图是一个企业的数据冰山模型,一家企业随着时间推移,会沉淀大量数据,其中频繁使用的数据可称为“明数据”,但还有大量数据散落在不同品牌的商业存储、虚拟磁带库、直连存储之类的存储设备上,这类数据可称之为“暗数据”。



随着云计算、大数据和人工智能等新技术的兴起,这些数据伴随新产生的数据,很可能就是上述新技术所需要的数据。因为过于分散,暗数据的使用变得异常困难。今天,可以通过多协议的分布式统一存储技术将这些数据整合起来,结合数字技术可以重新挖掘数据的潜在价值,将UMStor与Hadoop的结合正是这种思维的体现。


结合现阶段在项目中的体会、思考以及分布式存储的特性,我们认为下一阶段存储技术的创新将围绕分布式统一存储与新型数字技术的结合来展开。





—End—

点击“阅读原文”,立即下载现场演讲PDF。

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接