非结构化存储方案 联系客服

发布时间 : 星期一 文章非结构化存储方案更新完毕开始阅读e27d8c8081eb6294dd88d0d233d4b14e85243e92

非结构化数据存储方案

一、存储类型体系:

1.1 存储类型体系结构图

直接附加存储DAS块存储存储区域网络SANFC SANIP SAN存储类型网络附加存储NAS分布式文件存储HDFS(hadoop分布式文件系统)OpenStack—Swift对象存储ceph

1.2 存储类型体系描述

(1) 块存储:将存储区域划分为固定大小的小块,是传统裸存设备的存储

空间对外暴露方式。块存储系统将大量磁盘设备通过SCSI/SAS或FC SAN与存储服务器连接,服务器直接通过SCSI/SAS或FC协议控制和访问数据。主要包括DAS和SAN两种存储方式。对比如下图:

应用服务器文件系统应用服务器文件系统光纤交换机JBODRAIDRAID直接附加存储DAS以主机为中心,将外部的数据存储设备通过SISC/IDE/ATA等I/O总线直接连接到服务器上,使数据存储设备是服务器结构一部分。SAN采用块数据组织,通过可伸缩的高速专用存储网络互联不同类型的存储设备和服务器,提供内部任意节点间多路可选择的数据交换。

(2) 分布式文件存储:文件存储以标准文件系统接口形式向应用系统提供

海量非结构化数据存储空间。分布式文件系统把分布在局域网内各个计算机上的共享文件夹集合成一个虚拟共享文件夹,将整个分布式文件资源以统一的视图呈现给用户。它对用户和应用程序屏蔽各个节点计算机底层文件系统的差异,提供用户方便的管理资源的手段和统一

的访问接口。主要包括NAS和HDFS两种存储方式。 a) 网络附加存储NAS结构如图:

应用服务器以太网交换机文件系统文件系统RAIDRAID网络附加存储NAS是一种文件网络存储结构,通过以太网及其他标准的网络拓扑结构将存储设备连接到许多计算机上,建立专用于数据存储的存储内部网络

b) HDFS分布式文件系统存储结构如图:

HDFSNameNode(Master服务器)NameNode功能· 处理来自客户端的文件访问· 负责数据块到数据节点之间的映射DataNode功能DataNode(Slave服务器)DataNode(Slave服务器)· 管理挂载在节点上的存储设备· 在NameNode的统一调度下创建、删除和复制数据块??

(3) 对象存储:对象存储为海量非结构化数据提供Key-Value这种通过键-值查找数据文件的存储模式,提供了基于对象的访问接口,有效地合并了NAS和SAN的存储结构优势,通过高层次的抽象具有NAS的跨平台共享数据优点,支持直接访问具有SAN的高性能和交换网络结构的可伸缩性。主要包括swift和ceph两种实现形式。

a) Swift,OpenStack Object Storage(Swift)是OpenStack项目的子项目

之一,被称为对象存储。它构建在比较便宜的标准硬件存储基础设施之上,无需采用RAID(磁盘冗余阵列),通过在软件层面引入一致性散列技术和数据冗余性,牺牲一定程度的数据一致性来达到高可用性和可伸缩性,支持多租户模式、容器和对象读写操作,适合解决非结构化数据存储问题。

b) ceph,Linux下PB级分布式文件系统,可轻松扩展PB容量,提供了

对多种工作负载的高性能和高可靠性。它大致分为四部分:客户端(数据用户),元数据服务器(缓存和同步分布式元数据),一个对象存储集群(包括数据和元数据),以及最后的集群监视器(执行监视功能)。

二、非结构化大数据分布式存储架构 非结构化PB级大数据分布式存储架构,相对于其各自存储结构及不同应用场景,结合国产化大数据平台特性,现给出两种解决方案。第一种是基于OpenStack子项目swift的分布式大数据存储方案,另一种是基于ceph的分布式大数据存储方案 2.1.1基于openStack子项目swift的大数据分布式存储 a) Swift集群部署架构图: 客户端用户clientPUT DATAGET DATALoad Balancer(负载均衡管理器)节点1节点2Proxy ServerObject ServerContainer ServerAccount Server节点3Proxy ServerObject ServerContainer ServerAccount Server节点4Proxy ServerObject ServerContainer ServerAccount Server节点5Proxy ServerObject ServerContainer ServerAccount Server虚拟存储服务器Proxy ServerObject ServerContainer ServerAccount Server b) 实现原理:用户上传文件PUT DATA和下载文件GET DATA,分别请求同一个对象。上传文件时,PUT请求通过负载均衡管理器随即挑选一台Proxy Server,将请求转发给后者,后者通过查询本地Ring文件,选择3个不同节点中的后端来存储文件,然后同时将该文件向这三个存储节点发送文件。这个过程需要满足NWR策略,然后给用户返回写成功的信息。下载文件时,GET请求也通过负载均衡管理器随机挑选一台Proxy Server,后者上的Ring文件查询到这个文件的存储节点位置并同时向后端查询,至少两个节点“表示”可以提供该文件,然后Proxy Server从中选择一个节点下载文件。

c) 架构关键技术说明:

? Proxy Server:是提供Swift API的服务器进程,负责Swift其余组件间的

相互通信。 ? Storage Server:提供了磁盘设备上的存储服务。包含架构图上的Object、

Container和Account。

2.2 基于ceph的大数据分布式存储

a) Ceph集群部署架构图