分布式存储

分布式存储原理

分布式存储简单的来说,就是将数据分散存储到多个存储服务器上,并将这些分散的存储资源构成一个虚拟的存储设备,实际上数据分散的存储在企业的各个角落。

比如:

假如你要存储10PB的一个视频文件,自己一个人的电脑存储不了,需要存储在多个服务器上,每一个服务器就是一个datanode,当你需要获取文件时,逐一访问效率太低,可以找一个中间人来存放文件在哪台服务器的信息,通过信息可以快速的找到文件。这个中间人就是namenode,存储的有关文件的信息就是元数据。为了数据安全,每一个小的视频(存储单元)复制一份存放到不同服务器上,当有服务器停止运行时,可以通过访问备份来寻找到自己想要的数据,这种存储方式叫做分布式存储。

分布式存储架构由三个部分组成:客户端、元数据服务器和数据服务器。

客户端负责发送读写请求,缓存文件元数据和文件数据。

元数据服务器负责管理元数据和处理客户端的请求,是整个系统的核心组件。

数据服务器负责存放文件数据,保证数据的可用性和完整性。该架构的好处是性能和容量能够同时拓展,系统规模具有很强的伸缩性。

展开阅读全文
分布式存储集群

集群存储是将多台存储设备中的存储空间聚合成一个能够给应用服务器提供统一访问接口和管理界面的存储池,应用可以通过该访问接口透明地访问和利用所有存储设备上的磁盘,可以充分发挥存储设备的性能和磁盘利用率。数据将会按照一定的规则从多台存储设备上存储和读取,以获得更高的并发访问性能。

展开阅读全文
分布式存储应用场景

1、分布式块存储:

(1)云平台,私有云建设,分布式存储非常适合云平台的场景,传统集中式存储,一般都是标准iscsi协议挂载卷到openstack端,每个lun都需要单独挂载。配置MPIO等。而分布式存储是通过rbd协议挂载存储池给openstack,openstack端直接在存储里划分和创建卷,调用快照等高级功能,分布式存储和openstack是天生适配,更加合适openstack的私有云的发展。

(2)容器场景:2018年12月发布Kubernetes 1.13版本,用于容器编排引擎的标准存储接口container storage interface(CSI)已普遍可用。在这些产品中,容器本地数据服务的需求对于支持微服务结构变得非常重要,这些需求包括硬件不可知性、API驱动、基于分布式架构,能够支持边缘、核心或公共云部署等。超过 70% 的容器应用需要有状态数据持久化保存,SDS可以解决:需要敏捷的数据迁移、从多个应用容器同时访问数据的需求。所以容器场景的弹性灵活的需求也是非常适合分布式存储。

2、分布式文件存储:分布式文件适合大容量文件存储场景,横向扩展灵活,性能优于双控存储,例如非线编,共享NAS,高性能计算等等都非常适合,文件存储也是现阶段三种存储中市场使用最高的,但有些也在慢慢转对象存储,对象存储接口协议在逐步开发中,会有一个过渡阶段。

3、分布式对象存储:海量小文件需求,检索需求,大数据方向,金融的影像平台,有互联网传输需求,和公有云整合,企业高校的网盘,监控等等非结构化场景都适合,包括一些医疗的pacs也在逐步过渡到对象存储,未来最有爆发潜力的存储。

文件和对象都针对的非结构化场景,文件往对象转是大势所趋,在于对象S3接口的逐步推广,所以XSKY的对象存储支持文件和对象互操作(文件协议写入,对象方式读出,反之亦然)也是顺应市场需求的产物。

展开阅读全文