宝德云存储技术白皮书1.宝德分布式存储系统架构

宝德云存储技术白皮书1.宝德分布式存储系统架构
宝德云存储技术白皮书1.宝德分布式存储系统架构

宝德云存储技术白皮书

1.宝德分布式存储系统架构

宝德分布式存储系统是基于开源的Ceph存储系统进行整合和优化并做二次开发,宝德分布式文件系统是一个Linux PB 级文件系统。

宝德分布式存储系统在一个统一的系统中同时提供了对象、块、和文件存储功能。它可靠性高、管理简单,并且是开源软件。分布式存储系统的强大可以改变贵公司的IT 基础架构和海量数据管理能力。分布式存储系统可提供极大的伸缩性——支持数千客户端访问EB级数据。分布式存储系统的节点可以充分利用硬件资源和智能OSD守护进程,而一个分布式存储系统存储集群容纳了大量节点,它们相互通讯、复制数据、动态地重分布数据;分布式存储系统监视器也能组成集群来监控整个分布式存储系统存储集群内的分布式存储系统节点,确保它们运行正常。

?一个对象存储:分布式存储系统的对象存储为RADOS,是分布式存储

系统FS 文件系统、RADOS 网关、和分布式存储系统块设备的存储部件。

?多个存储接口:在同一个分布式存储系统对象存储集群中,,您可以使

用分布式存储系统文件存储、分布式存储系统对象存储、或者分布式存储系统块存储接口,你也可以同时使用这三个接口,无需为三种不同接口分别建设存储集群!

?使用普通硬件:您可以用普通硬件部署分布式存储系统,而不需要购买

昂贵的专用存储或网络硬件。

分布式存储系统的底层是RADOS(Reliable, Autonomic, Distributed Object Store,即可靠的、自动化的、分布式的对象存储)。RADOS由两个组件组成:

?OSD:Object Storage Device,提供存储资源;

?Monitor:维护整个分布式存储系统集群的全局状态。

存储集群的客户端和各个OSD 守护进程使用CRUSH 算法高效地计算数据位置,而不是查询某个表。分布式存储系统基于RADOS提供了一个可无限伸缩的对象存储系统,它的高级功能包括:基于librados 的对象存储系统原生接口、和多种服务接口,它们有:

?SAN/块设备:RBD 服务提供了大小可调、支持快照和克隆的块设备。

为提供高性能,分布式存储系统把块设备条带化。分布式存储系统同

时支持直接使用librbd的内核对象(KO)和QEMU 管理程序,避免

了虚拟系统上的内核模块开销;

?RESTful 网关:RADOS网关(RADOS Gateway, RGW)服务提供了

和Amazon S3和Swift 兼容的RESTful API;

?NAS文件系统:分布式存储系统文件系统兼容POSIX,可以直接挂载

或挂载为用户空间文件系统(FUSE)。支持NAS标准协议,提供支持

NFS、SMB、FTP、NDMP等协议。

1.1.高效的对象寻址机制

分布式存储系统通过CRUSH 算法高效地计算数据位置,而不是查表,寻址流程示意图如下:

分布式存储系统中的寻址至少要经历以下三次映射:

(1)File -> object映射

将用户要操作的file按照object的最大size对file进行切分,映射为RADOS 能够处理的object,相当于RAID中的条带化过程。每一个切分后产生的object 将获得唯一的oid。

(2)Object -> PG映射

将每个object独立地映射到一个PG中去,将oid进行哈希得到的值和mask 按位相与,得到最终的PG序号(pgid),其计算公式是:

(3)PG -> OSD映射

将作为object的逻辑组织单元的PG映射到数据的实际存储单元OSD。RADOS采用CRUSH算法,将pgid代入其中,然后得到一组共n个OSD。这n个OSD即共同负责存储和维护一个PG中的所有object。

1.2.可靠的数据操作流程

此处将首先以file写入过程为例,对数据操作流程进行说明。file写入流程可以表示为下图:

如图所示,当某个client需要向分布式存储系统集群写入一个file时,将file 变为一个object,然后找出存储该object的一组三个OSD。这三个OSD具有各自不同的序号,序号最靠前的那个OSD就是这一组中的Primary OSD,而后两个则依次是Secondary OSD和Tertiary OSD。

找出三个OSD后,client将直接和Primary OSD通信,发起写入操作(步骤1)。Primary OSD收到请求后,分别向Secondary OSD和Tertiary OSD发起写入操作(步骤2、3)。当Secondary OSD和Tertiary OSD各自完成写入操作后,将分别向Primary OSD发送确认信息(步骤4、5)。当Primary OSD 确信其他两个OSD的写入完成后,则自己也完成数据写入,并向client确认object写入操作完成(步骤6)。

1.3.智能的集群维护

由若干个monitor共同负责整个分布式存储系统集群中所有OSD状态的发现与记录,并且共同形成cluster map的master版本,然后扩散至全体OSD以及client。OSD使用cluster map进行数据的维护,而client使用cluster map 进行数据的寻址。

相关主题
相关文档
最新文档