一文搞懂分布式软件定义存储

2019年09月 · XSKY

XSKY TWT云社区

XSKY现已入驻TWT云社区,地址http://xsky.talkwithtrend.com/;我们会定期更新XSKY的相关技术内容以及对用户的提问进行专业作答。本文系部分社区中的互动问答内容。

 

Q:分布式存储的应用场景是什么,与异构云产品契合度如何?
A:分布式存储的应用场景涵盖广泛,基本上90%的应用场景均可以适合,主要包括5大场景:
1、虚拟化、云、容器场景:比如VMware、OpenStack、K8s等均有成熟解决方案;
2、海量非结构化数据场景:大规模文件、对象场景广泛支持,比如文档管理系统、银行双录系统、数据湖等;
3、传统应用场景,比如对接数据库,当作SAN存储使用;
4、备份场景;大量的数据备份,使用大量大容量HDD盘替换原有的磁带库或光盘库等;

5、大数据、AI的场景。

与异构云能够很好地契合,可以同时支持VMware等虚拟化、多种版本的OpenStack平台、CloudStack平台,还可以通过S3对接公有云等,这也是与各种HCI架构的不同点之一。

 

Q:主流的分布式存储,在实际落地运用的怎么样?
A:分布式存储一开始会从一些备份或者边缘场景切入,后来主要适用在私有云的建设,特别和OpenStack原生的rbd协议的适用性,得到广泛的使用;
进一步随着海量小文件的需求,分布式对象存储的场景需求越来越广泛,能看到广电(推流)、金融(影像双录)等等都在大规模使用,还有一些例如医疗的PACS、广电的非线编、备份软件等等都在开发对象接口协议,未来分布式对象场景的使用越来越多。

Q:在分布式存储当中,是否需要使用低延迟的网络设备?
A:主要还是看前端应用的需求,分布式存储固有的延迟很难做到集中式存储那样超低,所以双模IT架构是一定存在的。
10多年前做分布式cluster网络使用InfiniBand,比如Isilon有自己的横向内存池机制,必须要超低延迟才能实现;
近些年网络产品进一步提高,使得万兆网络已经可以作为节点间通讯的介质,一般非结构化数据场景都差不多可以支撑,特殊情况下可以选择25或40Gb网络,如果能配合RDMA如RoCE会有更好的效果。

Q:针对普通的共享文件系统,采用分布式存储和集中式存储哪个更好?优势是什么?
A:对于这个问题主要从3个方面考虑:
1、性能方面,主要取决是并发数量、带宽、文件大小等因素,如果是并发用户数量较小、带宽要求较低、以小文件为主的可以采用传统的集中存储,反之更适合分布式文件或对象存储;
2、扩展性方面,从两个维度考虑,一个是容量、一个是性能,集中存储扩展性较差,并且伴随着容量扩容无法提供性能的线性扩展(由于控制器架构和数量确定了其局限性),而分布式文件或对象存储容量扩展的同时性能会线性增长;
3、对于数据湖的支持,未来多种非结构化资源池打通成为必然趋势,包括文件、对象、HDFS等,传统的集中存储无法应对这样的架构,而分布式存储更适合数据湖的架构理念。

Q:分布式存储的文件存储和对象存储的对比?
A:文件存储与对象存储区别主要可从三方面来进行比较:
1、展现模式
文件存储:以盘符/目录的形式展现,优点是符合用户现有使用习惯,用户可以像使用本地硬盘一样使用存储系统,缺点是无法定制化存储元数据信息,对业务系统无优化。
对象存储——与应用系统相结合形式展现,优点是可按需调用存储接口,并为文件设置元数据以及标签属性,可满足业务系统定制化需求,缺点是需要业务系统直接调用存储,用户无法直接调用系统内数据。
2、访问协议
文件存储:NFS/CIFS 协议访问,优点是锁机制可支持多人同时对数据进行修改(锁机制由应用系统决定 , 缺点是为保证数据访问一致性,需要进行数据索引信息同步,对系统并发性能以及系统规模存在较大影响。
对象存储:HTTP传输协议以及RESTful接口访问,优点是通过算法存放文件元数据信息,无元数据同步限制,系统可无限制扩展,且性能随着存储系统规模扩展而线性提升,缺点是采用RESTful接口 Put 、Get 、Delete,不支持多人同时对同一文件修改。
3、数据结构
文件存储:采用树形目录结构,读取和存储数据要经过更长路径才能到达目标位置。随着数据越来越多,目录结构会越来越繁杂,查找以及调取文件的速度会越来越慢(操作系统对目录字节数存在限制);如若出现设备损坏或者扩容时,需要将巨型目录树中的数据重新分配均衡,效率较差。
对象存储:采用扁平目录结构,抛弃了嵌套的文件夹,避免维护庞大的目录树,只保留二级(或三级)目录结构。根下直接就是桶,桶中直接存放对象,桶中不能再建桶(禁止多层文件夹)。每个对象文件都只需要一个ID就能获取对象。
适用场景总结
文件存储:数百TB-PB级数据并行计算类应用;亿级别以内小文件存储类应用;需要在线修改数据类应用系统,如:非编系统。
对象存储:PB-数百PB级数据存储类应用;千亿级海量小文件数据存储以及海量并发访问类应用;大数据分析以及机器学习,需要定制化文件元数据信息以及标签信息类应用。

长按识别上方二维码
即刻关注XSKY TWT云社区
与技术达人近距离对话
掌握SDS最新发展趋势