宏杉科技:分布式存储探索与创新之道

宏杉科技跟数据存储峰会是老朋友了,今天希望借着线上的机会,来把宏杉科技在分布式存储这个领域的一些探索和创新跟大家分享。

这几年宏杉科技在存储产品技术上做了非常多的创新,主要集中在以下三点。

第一,极致的性能,包括NVMe全闪存性能、文件协议优化、海量小文件性能的优化、多通道备份技术等,这些都涉及到存储性能的提升。

第二,关于数据存储的安全可靠,比如宏杉首创RAID X能够容忍一个RAID组同时故障三块硬盘,在国内最早提出基于存储战略的双活技术,紧耦合的四控和宏杉在分布式当中基于目录的智能纠删算法,这都是宏杉在安全可靠的数据方面做的一些创新。

第三,在用户对数据的智能管理方面,包括宏杉CloudSUN统一的架构,包括宏杉无中断的数据迁移、数据的智能巡检,以及宏杉非结构化数据平台文件和对象相互转换,这都是宏杉在近几年在整个存储领域做的一些创新。

下面宏杉就具体跟各位介绍一下宏杉在分布式存储这个领域的一些探索。

宏杉其实也是比较早的接触分布式存储这块产品的,其实在公司成立之初,宏杉就有一款叫做MC3000的存储产品,这一款产品基于分布式架构,但它的硬件采用定制化的硬件,主要是在一些科研的领域、一些高性能计算领域来为用户提供服务。在之后宏杉提出了CloudSUN,宏杉特有的技术架构,宏杉把泛存储和非结构化存储统一在一起,形成统一的资源池来进行统一管理,实质也就是借助分布式存储。在2018年开始,宏杉推出了宏杉通用型的分布式存储产品,叫做MSmart,也是今天着重要跟各位介绍的一款产品。

现在看到的是MSmart分布式存储基础的逻辑架构图,整个MSmart产品能够提供的存储服务分成了对象、文件、块几个不同方面,都提供多种协议支持,可实现数据共享,在一个统一架构之下实现,宏杉多个节点去并发的提供完整的数据服务,这是宏杉MSmart基本的架构。

海量数据存储

宏杉MSmart产品有几个方面的特色,一是海量的数据存储,这从架构的设计上来体现,宏杉MSmart分布式存储可以提供最多1万个节点的横向扩展能力,而且宏杉整个性能和容量是可以实现完全线性的扩展。宏杉MSmart可以忽略后端网络设置,在图上后端网络是用虚线进行连接的,采用宏杉特有的增强型文件或者块协议,可以不配置后端网络的,通过前端网络、通过前端客户端去实现分片或数据的分发,来提高更大的存储并发性能。

另外一个方面,节点容量空间、磁盘空间利用率。在传统分布式存储当中大家都知道,一般情况下宏杉在数据分布都是采用像一致性哈希算法实现数据的分布,可能会存在一个问题,它的数据分布是不完全均匀的,当存储容量达到80%左右的时候,宏杉就需要对整个存储系统进行扩容了。原因就于宏杉不管是用一致性纠删,还是类似的哈希算法进行数据的分布,它的数据不完全均衡,有些硬盘多一些,有些硬盘当中少一些,为了保证整个存储空间可用程度,所以说当宏杉整体存储利用率达到80%的时候,宏杉就需要尽快的对存储空间进行扩容。

那这种情况其实也是对宏杉整个存储可用空间的浪费。那么对宏杉MSmart来说,宏杉采用了自研的一种智能数据分布算法,宏杉不均衡可以控制在5%以下,换句话说,宏杉可以把宏杉整个存储每个节点每块硬盘的使用率提升到95%以上,大大提升了系统整体的可用容量空间。

第三,除了存储容量之外,宏杉MSmart还有一个比较大的特色,宏杉支持融合存储的模式,它跟超融合是有一些区别,超融合一般是采用虚拟化的方式去提供计算资源的,但是在MSmart存储当中,底层是采用内核级服务来提供的,宏杉可以支持部署其他一些应用软件,这些应用软件是不会对宏杉内核态的存储服务进行干扰的,这种融合模式的好处可以在很多应用方案中得到体现,比如很多视频监控应用,基本上采用的都是监控直存的方案,前端摄像头的数据流下来之后直接到存储当中去了,需要存储本身具备视频解析、视频转发的功能,这个时候就可以把流媒体转发的软件直接部署在存储节点上,去实现视频的直存,而且这种直存方式不区分任何监控平台和摄像头厂家。

再比如说网盘的解决方案,很多用户在使用分布式存储的时候,更多是提供一个网盘服务,可以在分布式存储的基础上直接部署网盘软件,去实现一体化的网盘方案,这也是宏杉在存储融合这一块所做的一个创新。

智能数据算法

基于宏杉智能数据算法,宏杉智能的数据算法也在很多方面得到体现,比如说宏杉其实在SAN存储的一个著名算法,叫做IDDC主动式磁盘诊断中心,简单来说,通过IDDC这个技术,宏杉可以智能的主动去检测硬盘相关的故障,包括慢盘、磁盘故障等等故障,通过主动的去检测,去预防当文件写到这个位置的时候出现报错的情况,这也是IDDC给用户带来的最大的便利。

宏杉也把IDDC的功能SAN存储移植到分布式存储当中,宏杉分布式存储也可以支持IDDC数据自检、自动重建的功能,而且通过优化的数据重建算法,可以保证哪怕是在最小集群、最小硬盘数的状态之下,平均每TB数据重建时间也不会超过30分钟,这是非常快的数据重建速度。这个IDDC算法是宏杉宏杉分布式存储在智能算法这一块所做的新创新。

其他一些智能算法包括小文件聚合,在分布式存储当中叫做Nest技术,简单来说就是把小文件聚合成大文件,然后再分片并发的向分布式存储当中去写入,这样的过程减少了存储对于小文件负载,不论在写入,还是在查询和读取的时候,其实都会对性能有非常大的提升。

宏杉自己内部也做了一个验证,在大量小文件随机读写的状态之下,通过小文件聚合的技术,可以把整体存储性能提升30%以上,这也是宏杉在存储智能算法方面去做的一些创新努力。

另外还有一个方向,就是分布式全闪存,因为我们都知道分布式存储对存储性能的要求逐步提高,宏杉MSmart现在也全面支持了分布式闪存,尤其支持全NVMe的配置,通过分布式存储给用户输出极致的存储性能。

基于闪存的存储介质,其实对存储相关算法都会有比较特殊的一些要求。比如说快照,宏杉分布式存储是可以支持无限快照一资源设置的,对快照的数量完全没有限制。基于这一点,宏杉在全闪存配置之下,快照基于ROW快照方式去实现的,ROW的好处是本身没有写放大,对于磁盘擦写次数是比COW快照方式要少的,所以也是通过这种方式,尽可能保护SSD的寿命。

第三,基于全闪存的方式,去重写优化数据分布算法,会尽可能的把所有的文件打散,均匀分布的写在所有硬盘当中。包括在数据进行重建的时候,也会考虑到不同的SSD的寿命问题,尽可能对读写进行均衡,以此来延长整体SSD的寿命,这是宏杉在全闪存这一块所做的一些智能算法优化。

高效的数据共享

宏杉对分布式存储想所的提升,是在更高效的数据共享方面。

第一,宏杉能够提供丰富的接口类型,比如说访问接口,基于文件的NFS/CIFS、FTP、Http、HDFS、S3/Swift接口,iSCSI块接口,在宏杉分布式存储当中,通过一个集群就可以直接实现,而且是所有节点全部可以同时参与,去提供所有接口访问,不需要去分域来提供服务,这是宏杉比较大的一个特色。

在网络接口这一块,宏杉是可以支持各种各样的接口,包括万兆25G、100G的接口,给用户在不同场景之下最极致的存储带宽性能。

除了常见的一些通用接口协议之外,宏杉分布式存储有一个比较大的特色,就是宏杉有一个自有的增强型智能存储协议,以同时支持文件协议和块协议,是在用户的客户端可以安装宏杉增强型智能存储协议的客户端,它可以实现最大的优势是可以在客户端层面上直接去实现前端切片,不管是做副本还是做纠删,都可以在客户端上把切片完成。然后通过多个节点并发的向节点里面写,通过这种方式实现多线程的并发读写,去进一步的增强宏杉存储本身的并发性能。

第二,基于宏杉增强型的存储可以提供更高级的权限控制,一共可以提供七种权限灵活设置,七种权限组合在一起,有大概127种权限组合,能够完全满足用户对权限安全方面的要求。

还有一个优势,前面其实也提到了,通过增强型的存储协议,是可以不配置后端网络的,因为存储文件直接在前端就进行切片了,然后通过分片分线程的方式向所有节点并发读写,所以在这种情况下我是可以不配置后端网络的,这是关于增强型的智能存储协议,能够对数据共享来达到更高层面的提升。

第三,基于前面提到的,不论一些公有的文件协议、对象协议,还是增强型的文件协议,针对所有非结构化数据相关协议,宏杉都可以实现类似数据湖的多协议融合互通访问的功能,包括NFS、CFS、增强型的POSIX接口,包括S3/Swift的对象接口,像HDFS的大数据接口,这些所有的协议都可以在一个统一的全局空间之下,去实现数据的融合互通访问。

这种方式的好处是实现了所有非结构化数据的协议互通,共享一份数据,不需要进行数据迁移的。举个简单的例子,比如说有一部分通过通常NFS或者SMB这样一些通用的文件协议写入的数据,我需要通过像HDFS接口进行大数据分析的时候,有了数据共享、多协议共享功能之后,不需要把这些文件数据再进行迁移、拷贝、格式的转换等等这些过程,通过NFS或者SMB协议写入的文件,可以直接通过HDFS的协议去访问,而且宏杉可以支持原生的HDFS接口,可以直接替代掉Hadoop当中HDFS组件,给前端一些其他的组件提供存储服务的,这是关于宏杉互联互通的数据共享、协议共享的特色。

灵活管理方式

灵活的管理方式也是很多用户在实际使用过程当中提出来的相关需求,宏杉也把很多用户的需求在现在分布式存储产品当中去做了一些实现。第一,可以实现灵活的节点调整,宏杉分布式集群是以三节点为最小规模起步进行配置的,可以根据业务需求在线的进行扩容,也可以在线的缩小容量,不管是扩容还是缩容,还是节点更换的过程都是可以在线完成的。

而且宏杉分布式存储在节点增减或者更换的过程当中有一个比较大的特色,就是不会强制要求所有节点结构或者配置是完全一致的。比如在初始配置了三个原始节点的情况下,在扩容的时候,如果原始节点配置比较落后,现在有性能更高的节点,用户也可以补充新的不同结构,甚至盘位数不一样,硬盘规格不一样,这些情况下新的节点都是可以加入到原有的存储空间当中去的。

基于这样一种情况,新增的节点它的单节点容量可能就会跟原有节点不一致,所以在做数据自动均衡的时候,实际上也是基于两种不同的维度去实现的。如果所有节点间的可用容量是完全均衡的,直接按照容量的方式在多个节点之间实现数据均衡。当新增的节点比如说它的容量比原有这些节点可用容量要高的时候,宏杉也可以支持基于存储资源的利用率去进行自动均衡,可以保证所有节点空间的利用率是一致的,这是两种不同的自动均衡方式,可以自动的进行切换,也帮助用户不管进行扩容还是缩容还是进行节点更换的时候,能够更灵活的进行管理的方式。

关于数据冗余的设置,都知道分布式存储很多要求纠删、副本等等一系列的冗余模式,但是对于绝大部分产品来说,它会有一个要求,针对我一个集群或者至少在一个故障域之下,用户只能选择一种冗余模式,比如说只能选择4+2纠删,或者只能选择3副本等等一系列冗余模式。对于宏杉的分布式存储来说,很大一个灵活点是在于可以基于任何一个目录去独立设置它的冗余模式,在这个图上也举了个例子,比如说在根目录,根目录在初始设置的时候选择了8+2的纠删,小文件聚合功能是关闭的,存储介质是机械盘。在根目录之下创建了两个2级目录,两个2级目录冗余模式是可以自己手动进行选择的,比如说把其中一个目录可能存的小文件比较多,数据安全性要求比较高,同时对性能要求也比较高。可以把这一个目录设置成四副本的模式,然后把小文件聚合开起,而且可以把这个目录放到SSD硬盘介质上。

然后再往后看他的下一级目录,如果不去单独进行设置的时候,那这个目录就会继承附目录的相关设置属性,当认为这个目录和附目录在文件存储特点上有一些区别的时候,可以对任何一级的任何目录进行单独设置,这也是宏杉在管理方式上非常灵活的一点。

关于权限这一块的控制,前面也简单提到了,宏杉分布式存储本身基于分布式存储这一层可以提供七种不同权限的灵活设置,七种不同权限互相组合的话,是可以达到大概127种左右的权限组合,这种直接基于存储校验底层的访问权限,跟操作系统权限、其他一些相关的权限都是屏蔽开的,可以帮助用户去更好的对存储相关权限进行管理。

小结

前面其实宏杉提到了很多不同场景上、不同维度上做的一些创新。总结来说,主要体现在四个大的方面。

第一,提供了海量的数据存储服务。第二,有大量的智能数据管理算法。第三,提供了高效了数据共享方式。第四,可以提供更多更灵活的存储和数据管理方式。

以上就是今天会介绍到MSmart分布式存储相关的技术探索和创新。

接下来其实宏杉宏杉一直也会以自主创新来引领存储智能的发展,以智能制造服务为口号,来助力百行百业的用户进行数字化的转型。

本文根据宏杉科技产品部副总工张夏男演讲整理而成!