【理论学习】Ceph功能模块与RADOS

Ceph架构图

    Ceph存储系统的逻辑层次结构大致划分为4部分:
          ◎ 基础存储系统RADOS
          ◎  基于RADOS实现的CephFS
          ◎  基于RADOS的LIBRADOS层应用接口
          ◎  基于LIBRADOS的应用接口RBD、RADOSGW

          ● RADOS:RADOS具备自我修复等特性,提供了一个可靠、自动、智能的分布式存储。
          ● LIBRADOS:LIBRADOS库允许应用程序直接访问,支持C/C++、Jave和Python等语言。
          ● RADOSGW:RADOSGW是一套基于当前流行的RESTful协议的网关,并且兼容S3和Swift。
          ●  RBD:RBD通过Linux内核(Kernel)客户端和QEMU/KVM驱动,来提供一个完全分布式的块设备。
          ● Ceph FS:Ceph FS通过Linux内核(Kernel)客户端结合FUSE,来提供一个兼容POSIX的文件系统。

1.  基础存储系统RADOS

         RADOS这一层本身就是一个完整的对象存储系统,事实上,所有存储在Ceph系统中的用户数据都是由这一层来存储的。Ceph的很多优秀特性本质上也是借由这一层设计提供。理解RADOS是理解Ceph的基础与关键。物理上,RADOS由大量的存储设备节点组成,每个节点拥有自己的硬件资源(CPU、内存、硬盘、网络),并运行着操作系统和文件系统。

2. 基础库LIBRADOS

        LIBRADOS层的功能是对RADOS进行抽象和封装,并向上层提供API,以值直接基于RADOS进行应用开发。
        RADOS是一个对象存储系统,因此,LIBRADOS实现的API是针对对象存储功能的。
        RADOS采用C++开发,提供的原生LIBRADOS API包括C和C++两种。
        物理上,LIBRADOS和基于其上开发的应用位于同一台机器,因而也被称为本地API。应用调用本机上的LIBRADOS API,再由后者通过socket与RADOS集群中的节点通信并完成各种操作。

3. 上层应用接口

       Ceph上层应用接口涵盖了RADOSGW(RADOS Gateway)、RBD(Reliable Block Device)和Ceph FS(Ceph File System),其中,RADOSGW和RBD是在LIBRADOS库的基础上提供抽象层次更高、更便于应用或客户端使用的上层接口。

4. 应用层

         应用层就是不同场景下对于Ceph各个应用接口的各种应用方式,例如基于LIBRADOS直接开发的对象存储应用,基于RADOSGW开发的对象存储应用,基于RBD实现的云主机硬盘等。

你可能感兴趣的:(【理论学习】Ceph功能模块与RADOS)