不要Ceph,青云自己做了一套QingStor文件存储系统

常见的存储有三种类型,SAN块存储,对象存储还有NAS文件存储,分别对应热数据,冷数据和温数据,一套完整的企业存储体系中三者缺一不可,2018年7月27日的青云Cloud Insight 2018云计算峰会上,青云发布了QingStor文件系统,补充和完善了QingStor存储产品线。

青云既是云服务厂商,也是企业级ICT服务商,QingStor存储产品线的布局很好地反应了青云的这种特殊性。

QingStor的发展历程中,先是有了话题热度最高的对象存储,互联网公司用的比较多,单位容量价格低,性能较低,安全性高。而后在2017年发布了热度仅次于对象存储的ServerSAN存储——NeonSAN,强调高性能和低延时,支持真正的水平扩展,主要用于核心业务。SAN和NAS则非常企业级,企业级存储公司主要做的就是这两大块,今天终于轮到了NAS文件存储。

用过电脑的人都知道什么是文件存储,简单而言,你打开电脑其实用到了文件系统,在硬盘上找文件就是在用文件系统了,只是因为硬盘大小非常,一般人一块硬盘也就够了,可企业里数据非常多,别说单台电脑了,单台服务器也经常不够用,所以当数据非常多的时候就需要额外的存储空间了,常见的做法是用网络连接一台专门做存储的机器,常用的设备就是NAS(Network Attached Storage网络附加存储),NAS在一定程度上是文件存储的代名词。

很多人都有体会,因为文件多了文件查找的效率就会明显下降,打开电脑找个文件硬盘咯吱咯吱响,文件找的很慢,NAS一般来说性能都比较高,另外,文件不能丢失或者损坏,所以还要有各种数据保护措施,传统大型存储公司如NetApp,EMC都有出色的NAS产品,NAS是很贵的,主要是基于硬件的,做个NAS门槛是很高的,很多企业就靠一款成功的NAS产品便在市场上占据了很高的地位,这是一块大市场。

由于大家都或多或少地知道文件存储的应用场景,所以说明文件存储很普遍,需求非常大,Gartner的分析报告说,文件存储在市场中占主流地位,在媒体、高性能计算领域都会用到。

NAS通常来说是Scaleup类型的,也就是主要靠单台专有设备的实力,性能很高但也有限,扩展很难,产品设计的中心完全以硬件为核心。后来出现带来分布式的文件系统,文件存储的核心转向以分布式存储软件为核心,常见的分布式文件系统有两种:一种是以Hadoop HDFS和LusterFS为代表的集中式索引架构;一种是全对等Hash架构,完全抛弃单独的索引节点,其代表是GLuster和Ceph。

青云QingCloud存储高级技术专家宁安表示,集中式的索引架构问题在于扩展扩容不方便,一致性较差,全队等的Hash架构缺点在于文件数量会受到单节点和索引节点容量限制。虽然有种种问题,但是因为分布式文件系统通常是开源的,跟原来的封闭的集中式NAS截然不同,而且硬件是基于x86的成本会低出很多,所以,分布式存储越来越流行,近年来,随着开源社区在中国的发展,在分布式文件存储系统中Ceph的呼声最高。

这些缺点有四个方面:数据一致性问题,高可用问题,还有扩展性的问题,运维也比较复杂。另外,Ceph的性能问题也广受诟病,在种种问题面前,青云最后还是决定自己做研发,参考一些开源的分布式文件系统的做法自己研发出了一套分布式文件系统,分布式文件存储系统非常复杂。

为了应对这些问题,QingStor文件存储有以下几个特点呢?

首先,QingStor的底层基于分布式块存储NeonSAN,NeonSAN是有高性能、强一致的块存储。这使得QingStor的块存储和文件存储能做到更好的融合,两者共享一个存储池,可以分开管理,底层共用一套设备,如果追求性能和可靠性的话最好还是单独部署,NeonSAN的用户可以直接部署新的文件存储。

第二,支持无限水平扩展。目录和文件分离存储,元数据层存储索引目录,用来定位文件具体位置;控制层负责下层块设备的空间分配和事务管理。宁安介绍说,用Ceph的企业需要一批很懂Ceph的工程师,Ceph在一定数据规模之后会出现许多问题,经常要处理很多坏盘、迁移和扩容的问题,这些问题只有在数据规模很大时才会暴露出来,但这时候已经晚了。

第三,并行处理架构。所有网关节点和NeonSAN节点是全互联的关系,节点间可通过最短路径相互访问。集群内数据复制与业务访问分离,分别通过不同的网络,因此在数据迁移和扩容时,不会对业务有任何影响。

QingStor分布式文件存储的企业级特性非常全面。

其中,通过掉电安全、防篡改、数据加密等手段来提升数据安全性;通过分布式事务加上版本修改的机制实现了强一致性;通过服务无单点、数据无单点、网络无单点,三点来支持高可用;通过NeonSAN的支持来实现高性能。

与Ceph的性能对比

在弹性扩展方面,QingStor文件存储扩容更随意,不用像Ceph一样每次只能扩容一个节点,扩容跟数据迁移量成正比,扩容的过程中,QingStor文件存储没有强制用户迁移数据,扩容过程中对写入没有影响,用户可选择在任意时间进行数据迁移,用户可以操控数据迁移的过程。

在成本方面,通过智能的压缩,自动精简配置,存储分层等手段来提升存储空间利用率,从而优化成本。QingStor文件存储支持对文件类型判断后做压缩,如果是文本文件的话就重点压缩,反正也不影响解压后正常使用,如果是音视频文件的话压缩会有损失,写入的时候就不压缩了。

部署方面,QingStor最小三节点起步,用户可利用现有的交换机去部署TCP/IP网络,内部数据通过RDMA来实现低延迟的数据服务操作。

在实际使用的时候,QingStor支持NFS、Samba协议和FUSE模块加载方式,因为文件存储本来就是服务于常见的应用的,所以与原来的应用没有兼容性问题,像是OA这种传统应用完全没问题,Hadoop、Spark等大数据分析也都没问题,视频剪辑,3D渲染,高性能计算等场景下都可以用。另外,青云最新推出的Anybox也是支持将QingStor文件存储用作存储后端,性能会更好一些。