Cehp的基础服务架构ObjectStorage Device(OSD),Monitor和MDS

Cehp的基础服务架构

Cehp的基础服务架构主要包括了ObjectStorage Device(OSD),Monitor和MDS。基于此,Ceph提供了Librados原生对象基础库、Librbd块存储库、Librgw基于S3和Swift兼容的对象库和Libceph文件系统库。

OSD(Object Storage Device)负责存储数据,处理数据复制、数据恢复、数据再均衡以及通过心跳机制监测其它OSD状况并报告给Ceph Monitors。

Monitor负责监控集群状态,包括监控自身状态、集群OSD状态、PlacementGroup(存储组织和位置映射)状态、CRUSH状态(Controlled Replication Under Scalable Hashing,一种伪随机数据分布算法)。同时,Monitor还会记录它们的每一个历史状态改变版本信息,以确定集群该遵循哪个版本。

MDS负责文件系统的元数据存储和管理,也就是如前所说,块存储和对象存储服务是不需要这个模块的。MDS负责提供标准的POSIX文件访问接口。

搭建一台Ceph系统至少需要1个Ceph Monitor和2个Ceph OSD逻辑角色,而Ceph Metadata server仅仅是运行CephFS时存储文件元数据。但在物理部署上,这些逻辑角色可以运行在同一台物理机上的。Ceph存储数据默认是2副本拷贝,所以不管是提供Object、Block还是File system服务,最小的Ceph系统需要2台OSD存储服务器。

9000的基础服务架构

9000是一个比较庞大的集群系统,在内部又由很多个负责不同角色的小集群组成。这些集群都部署在普通存储节点之上,ISM、CMS和Monitoring集群分别负责GUI管理配置、系统集群管理和状态监控,节点处于Active Standby模式保证系统可靠性。

CA(Client Agent)负责文件系统协议的语义解析执行,是文件系统业务发动机,文件切片、数据组合都由CA完成。9000支持标准CIFS、NFS和私有客户端;在私有客户端场景下,CA/SCA安装在服务器上,基于VFS文件系统开发并兼容Posix接口标准。

MDS(MetaData Service)管理文件系统的元数据,在9000中元数据和用户数据都保持在存储节点上,元数据采用高可靠多副本存储。元数据管理服务管理着整个系统的元数据和文件数据的布局信息,负责系统的资源分配。每个存储节点都是元数据节点。

Cehp的基础服务架构ObjectStorage Device(OSD),Monitor和MDS插图

客户端对对象服务的请求,通过OSC对象接口服务来响应,首先查找OMD对象存储元数据,然后根据查找结果获取对象位置并读写对于对象。OMD以集群的模式提供对象元数据服务,部署在每个对象存储物理节点上。

OBS是整个系统的基础服务器系统,基于对象存储系统,数据通过Key-Value的形式存储在磁盘上,基于OBS系统提供上层NAS和Object存储服务。OBS-C是客户端、负责数据的操作;OBS-S是服务端、提供数据存储服务,数据以对象的形式存放在数据子域中。

Cehp的软件体系架构

(1)基础存储系统RADOS

RADOS(Reliable, Autonomic, Distributed Object Store)一层本身就是一个完整的对象存储系统,包括Cehp的基础服务(MDS,OSD,Monitor),所有存储在Ceph系统中的用户数据事实上最终都是由这一层来存储的。而Ceph的高可靠、高可扩展、高性能、高自动化等等特性本质上也是由这一层所提供的。因此,理解RADOS是理解Ceph的基础与关键。

RADOS在物理形态上由大量的存储设备节点组成,每个节点拥有自己的硬件资源(CPU、内存、硬盘、网络),并运行着操作系统和文件系统。

(2)基础库librados

这一层的功能是对RADOS进行抽象和封装,并向上层提供不同API,以便直接基于RADOS进行原生对象或上层对象、块和文件应用开发。特别要注意的是,RADOS是一个对象存储系统,因此,基于librados实现的API也只是针对对象存储功能的。

RADOS所提供的原生librados API包括C和C++两种。Librados在部署上和基于其上开发的应用位于同一台机器。应用调用本机上的librados API,再由后者通过socket与RADOS集群中的节点通信并完成各种操作。

(3)高层存储应用接口

这一层包括了RADOSGW(RADOS Gateway)、 RBD(Reliable Block Device)和Ceph FS(Ceph File System)三个部分,其作用是在librados库的基础上提供抽象层次更高、更便于应用或客户端使用的上层接口。

RADOS GW是一个提供与Amazon S3和Swift兼容的RESTful API的gateway,以供相应的对象存储应用开发使用。RADOS GW提供的API抽象层次更高,但功能则不如librados强大。因此,开发者应针对自己的需求选择使用。

RBD则提供了一个标准的块设备接口,常用于在虚拟化的场景下为虚拟机创建volume。如前所述,Red Hat已经将RBD驱动集成在KVM/QEMU中,以提高虚拟机访问性能。

CephFS是一个POSIX兼容的分布式文件系统。目前还处在开发状态,因而Ceph官网并不推荐将其用于生产环境中。

(4)服务器客户端层

这一层就是不同场景下对于Ceph各个应用接口的各种应用方式,例如基于librados直接开发的对象存储应用,基于RADOS GW开发的对象存储应用,基于RBD实现的云硬盘等等。
Ceph Client是基于Fuse层(User SpacE)和VFS文件系统开发,兼容Posix接口标准。在Ceph存储系统中,Ceph Metadata Daemon 提供了元数据服务器,而Ceph Object Storage Daemon 提供了数据和元数据的实际存储。Ceph对DFS、Block和Object数据写入和读取,都需Client利用Crush算法(负责集群中的数据放置和检索的算法)完成存储位置计算和数据组装。

欢迎使用66资源网
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
7. 本站有不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别!

66源码网 » Cehp的基础服务架构ObjectStorage Device(OSD),Monitor和MDS

提供最优质的资源集合

立即查看 了解详情