初识 Ceph 组件

无论是要向云平台提供 Ceph 对象存储和/或 Ceph 块设备服务,部署 Ceph 文件系统还是出于其他目的使用 Ceph,一切 Ceph 存储集群的部署工作都要从设置每个 Ceph 节点,网络和 Ceph 存储集群开始。 一个 Ceph 存储群集至少需要一个Ceph MonitorCeph ManagerCeph OSD(对象存储守护进程)。 如果需要运行 Ceph 文件系统客户端,还需要Ceph Metadata Server

  • Ceph 监视器(Monitors)
    Ceph 监视器(ceph-mon)维护集群状态的映射,包括监视器(mon)映射,管理器(mgr)映射,OSD 映射,MDS 映射和 CRUSH 映射。 这些映射是 Ceph 守护程序相互协调群集状态所需的关键要素。 监视器还负责管理守护进程和客户端之间的身份验证。 通常至少需要三个监视器节点才能实现冗余和高可用性。注意,多个 Monitor 的信息需要强一致性,因此要求 Monitor 节点之间的系统时间是一致的,并且网络延时要低。
  • 管理器(Managers)
    Ceph Manager 守护程序(ceph-mgr)负责跟踪运行时的指标和 Ceph 集群的当前状态,包括存储利用率、当前性能指标和系统负载。Ceph Manager 守护程序还托管基于 python 的模块以管理和暴露 Ceph 集群信息,包括 Web 端的Ceph Dashboard和 REST API。 通常,至少需要两个管理器才能实现高可用性。
  • Ceph 对象存储设备(Object Storage Device|OSDs)
    Ceph OSD(对象存储守护进程,Ceph - OSD)用于存储数据,处理数据复制、恢复、再平衡,并通过检查其他 Ceph OSD 守护进程的心跳来为 Ceph 监视器和管理器提供一些监视信息。通常需要至少3 个Ceph OSD 才能实现冗余和高可用性。
  • Ceph 元数据服务器(MDS、Ceph-MDS)
    Ceph 元数据服务器存储代表 Ceph 文件系统(Ceph FS)的元数据。(亦即:Ceph 块设备存储和 Ceph 对象存储不使用 MDS)。Ceph 元数据服务器允许 POSIX 文件系统用户执行基本命令(如 ls、find 等),而不会给 Ceph 存储集群带来巨大的负担。
    Ceph 将数据作为对象存储在逻辑存储池(VG)中。 使用CRUSH算法,Ceph 计算哪个放置组应包含该对象,并进一步计算哪个 Ceph OSD 守护程序应存储该放置组。 CRUSH 算法使 Ceph 存储集群能够动态扩展,重新平衡和恢复。
  • 对象网关(ceph-radosgw)
    Ceph 对象网关节点上运行 Ceph RADOS 网关守护程序(ceph-radosgw)。它是一个构建在 librados 之上的对象存储接口,也是一个为应用程序提供 Ceph 存储集群的 RESTful 网关。Ceph 对象网关支持两个接口:S3 和 OpenStack Swift。

    架构

    Ceph基础架构组件
    从架构图中可以看到最底层的是 RADOS,RADOS 自身是一个完整的分布式对象存储系统,它具有可靠、智能、分布式等特性,Ceph 的高可靠、高可拓展、高性能、高自动化都是由这一层来提供的,用户数据的存储最终也都是通过这一层来进行存储的,RADOS 可以说就是 Ceph 的核心。

RADOS 系统主要由两部分组成,分别是 OSD 和 Monitor。

基于 RADOS 层的上一层是 LIBRADOS,LIBRADOS 是一个库,它允许应用程序通过访问该库来与 RADOS 系统进行交互,支持多种编程语言,比如 C、C++、Python 等。

基于 LIBRADOS 层开发的又可以看到有三层,分别是 RADOSGW、RBD 和 CEPH FS。

RADOSGW:RADOSGW 是一套基于当前流行的 RESTFUL 协议的网关,并且兼容 S3 和 Swift。

RBD:RBD 通过 Linux 内核客户端和 QEMU/KVM 驱动来提供一个分布式的块设备。

CEPH FS:CEPH FS 通过 Linux 内核客户端和 FUSE 来提供一个兼容 POSIX 的文件系统。

网站记录

twt 企业 IT 交流平台 - talkwithtrend,企业 IT 技术社区,帮助您融入同行

建议最低硬件配置

Process

Criteria

Minimum Recommended

ceph-osd

Processor

  • 1x 64-bit AMD-64

  • 1x 32-bit ARM dual-core or better

RAM

~1GB for 1TB of storage per daemon

Volume Storage

1x storage drive per daemon

Journal

1x SSD partition per daemon (optional)

Network

2x 1GB Ethernet NICs

ceph-mon

Processor

  • 1x 64-bit AMD-64

  • 1x 32-bit ARM dual-core or better

RAM

1 GB per daemon

Disk Space

10 GB per daemon

Network

2x 1GB Ethernet NICs

ceph-mds

Processor

  • 1x 64-bit AMD-64 quad-core

  • 1x 32-bit ARM quad-core

RAM

1 GB minimum per daemon

Disk Space

1 MB per daemon

Network

2x 1GB Ethernet NICs

参考链接