概念介绍

Ceph是一个开源的分布式系统,提供多种存储方式。

一个Ceph集群由两种类型的后台进程(Daemon)组成。OSD Daemon和Ceph Monitor

  • Ceph Monitor

    它主要负责管理全部集群。当你运行一个Ceph集群时,你就会需要Ceph Monitor每天帮你检查集群的健康情况和状态。管理一个集群需要每天做很多工作比如检测所有OSD的状态和文件系统或数据块状态。

  • Object Storage Device(OSD)

    是集群中重要组成部分。OSD可以存储文件或者数据的内容。它使用文件系统来存储数据。OSD Daemon主要负责管理集群中的所有磁盘。OSD Daemon还负责在本地文件系统存储数据,并为不同的客户软件或存取媒介通过网络提供数据访问。而且,OSD Daemon还负责添加和删除磁盘,磁盘分区,管理OSD、低层空间 管理,提供安全措施和磁盘数据的可复制性。

Ceph可以提供对象存储、块存储和文件系统三种类型的存储

  • Block Storage

    相当于一块硬盘,你可以在上面建立新的文件系统,你可以添加多块,随意改变文件系统,格式化。但它并不是真正的一块硬盘。可以看成类似阿里云的云盘

  • Object Storage

    对象存储,系统是搭建好的。开放了一些API,可以对存放里面的文件进行处理,主要用于文件,附件。可以看成类似如如阿里云的OSS。

  • CephFS

    可以看成是NFS或者NAS。给多台主机挂载使用。

基本架构

系统可以大致划分为四部分:

  1. 客户端

     使用Ceph的终端用户
    
  2. 元数据服务器

     缓存和同步分布式元数据
    
  3. 对象存储集群

     将数据和元数据作为对象存储执行其他关键职能
    
  4. 集群监视器

     执行监视功能。
    

元数据服务器管理数据位置,以及在何处存储新数据。值得注意的是,元数据存储在一个存储集群,但实际I/O发生在客户和对象存储集群之间。

组件

  • Ceph Client

    Ceph文件系统的用户

  • Ceph Metadata Daemon(MDS)

    元数据服务器,代表存储元数据的Ceph文件系统(注意Ceph块设备和对象存储不使用MDS)。Ceph的元数据服务器使用POSIX文件系统,用户可以执行基本命令如ls,find等。并且不需要在Ceph集群上造成巨大负载。

  • Ceph Object Storage Daemon(OSDs)

    Ceph的守护进程,存储数据,处理数据复制,恢复,回填,重新调整,并通过检查其他Ceph OSD守护程序作为一个心跳向Ceph监视器报告一些检测信息。Ceph集群至少需要二个OSD守护进程来保持一个Active+Clean状态。(Ceph默认为2个备份)

  • Ceph Monitors

    Ceph监控,保持集群状态映射,包括OSD映射,分组(PG)映射,和CRUSH映射。