「Ceph」- 概念术语

  CREATED BY JENKINSBOT

问题描述

我们将快速阅读官方文档,并摘录的关键信息(至少在我们看来是重要的内容),以形成对 Ceph 的整体认识;

该笔记将记录:本章节,是与 Ceph 相关概念及术语,足以让我们形成对 Ceph 的基本认识。子章节,将对我们关心的特定概念进行深入地了解;

解决方案

该笔记是根据我们的理解所记录,仅是为了快速理解,详细内容建议阅读官方文档;

概览架构

OSD(核心组件):Object Storage Device,是进行存储数据的物理磁盘;每个磁盘、分区都可以成为一个 OSD;

OSD Daemon(核心组件):负责管理物理磁盘;与 OSD 为 1:1 关系;进行数据写入与读取;主要功能包括存储数据,处理数据的复制、恢复、回补、平衡数据分布,并将一些相关数据提供给 Ceph Monitor ,例如 Ceph OSD 心跳等。一个 Ceph 的存储集群,至少需要两个 Ceph OSD 来实现 active+clean 健康状态和有效的保存数据的双副本(默认情况下是双副本,可以调整);

MON(核心组件):Ceph Monitor,其负责维护集群状态,其他组件周期向 MON 汇报自身状态;主要功能是维护整个集群健康状态,提供一致性的决策,包含 Monitor map 、OSD map 、PG map、CRUSH map ;Client 从 MON 得知集群状态;

MDS(核心组件):仅供 CephFS 使用,仅用于存储文件的元数据,并不存储实际的数据;Ceph Metadata Server ,主要保存的是 CephFS 的元数据。Ceph 的块存储和 Ceph 的对象存储都不需要 Ceph MDS 。Ceph
MDS 为基于 POSIX 文件系统的用户提供了一些基础命令,例如 ls 、find 等命令;

Client:从 MON 获取集群状态,通过 CRUSH 算法得到用于读取或写入数据的 OSD;
MGR、ORCH、Plugin:集群的其他组件;

librados:是个类库,其用于访问 RADOS 服务,其允许应用程序直接使用,支持 C/C++ 、Java 和 Python 等语言;
RADOS:RADOS 具备自我修复等特性,提供可靠、自动、智能的分布式存储;

RBD:RBD 通过 Linux Kernel 客户端和 QEMU/KVM 驱动,来提供完全分布式的块设备;
RADOSGW:RADOSGW 是套基于当前流行的 RESTful 协议的网关,并且兼容 S3 和 Swift 协议;
CephFS:Ceph FS 通过 Linux 内核( Kernel )客户端结合 FUSE ,来提供一个兼容 POSIX 的文件系统;

常用词汇术语

该部分为与 Ceph 有关的术语,其关键术语将详细进行解释说明,其非关键术语则简单概述;

Ceph Project:Ceph 的人员、软件、使命、基础设施的总称,指 Ceph 相关的所有内容;
cephx:Ceph 的认证协议;
Ceph,Ceph Platform:所有 Ceph 软件,包括 https://github.com/ceph 的所有代码;
Ceph System,Ceph Stack:两个或多个 Ceph 组件的集合;
Ceph Node,Node,Host:在 Ceph System 内的任何节点;
Ceph Storage Cluster,Ceph Object Store,RADOS,RADOS Cluster,Reliable Autonomic Distributed Object Store:存储用户数据的核心存储软件集(MON+OSD);

Ceph Object Storage:我们常说的对象存储,类似 S3 Swift 等等,本质上使用 Ceph Storage Cluster 与 Ceph Object Gateway 组成;
Ceph Object Gateway,RADOS Gateway,RGW:Ceph 的 S3/Swift 网关组件;
Ceph Block Device,RBD:当与某些(例如 librbd、虚拟化等等)技术结合使用时,提供块存储功能;
Ceph File System,CephFS,Ceph FS:Ceph 的 POSIX 文件系统组件,提供本地可用的文件系统;

Cloud Platforms,Cloud Stacks:第三方云平台,例如 PVE OpenStack 等等;

Object Storage Device,OSD:物理或逻辑存储单元,在 Ceph 中,被称为 OSD 设备;注意以 Ceph OSD 术语区分;
Ceph OSD Daemon,Ceph OSD Daemons,Ceph OSD:特指 Ceph OSD 软件,负责与 OSD 交互;
OSD id:是 OSD 的标识,在 Monitor 创建新的 OSD 时生成;
OSD fsid:也是 OSD 的标识,目的是进一步提供 OSD 唯一性;它位于 OSD 路径中名为 osd_fsid 的文件中;fsid 与 uuid 可互换;
OSD uuid:与 OSD fsid 类似,也是 OSD 唯一标识符;fsid 与 uuid 可互换;

bluestore:是 OSD daemon 新型后端,与 filestore 不同,bluestore 直接将对象存储在 Ceph block device 中,而无需任何文件系统接口;
filestore:是 OSD daemon 旧后端,需要 Journal 支持,并且文件是写入到文件系统的;

Ceph Monitor,MON:是 Ceph monitor 组件;
Ceph Manager,MGR:是 Ceph manager 软件,将整个集群的信息收集到一处;
Ceph Manager Dashboard,Ceph Dashboard,Dashboard Module,Dashboard Plugin,Dashboard:基于 Web 的管理界面,能够管理集群的方方面面;Dashboard 作为 Ceph Manager 模块来实现;

Ceph Metadata Server,MDS:是 Ceph 元数据软件;
Ceph Clients,Ceph Client:能够访问 Ceph Storage Cluster 的 Ceph 组件的集合,包括:Ceph Object Gateway, Ceph Block Device, CephFS,相应的类库、内核模块、FUSE;
Ceph Kernel Modules:内核模块的集合,用于与 Ceph System 交互;
Ceph Client Libraries:用于与 Ceph System 交互类库集合;
Ceph Release:任何不同编号的 Ceph 版本;
Ceph Point Release:任何仅包含错误或安全修复的临时版本;
Ceph Interim Release:还未经过质量测试的 Ceph 版本,但是或许包含新特性;
Ceph Release Candidate:经过初时测试的 Ceph 主版本,并准备进入 beta 测试;
Ceph Stable Release:Ceph 的主版本,所有来自前临时分支的特性都成功地经过质量测试;

Ceph Test Framework,Teuthology:在 Ceph 上执行脚本化测试的软件集合;
CRUSH,Controlled Replication Under Scalable Hashing:这是 Ceph 用来计算对象存储位置的算法;
CRUSH rule:应用到特定 Pool 的 CRUSH 数据摆放算法;
Pool,Pools:池是用于存储对象的逻辑分区;

systemd oneshot:systemd 的 oneshot 类型的任务,以运行结束为目的,仅用于执行一次性任务(而非服务式的长期运行)
LVM tags:用于 LVM 卷和组的可扩展元数据。用于存储 Ceph 关于设备的特性信息以及其与 OSD 的关系

Ceph Cluster Map,Cluster Map:映射统称,其包括 Monitor map, OSD map, PG map, MDS map, CRUSH map;

ceph-mgr(Manager,Ceph Manager)

1)keep track of runtime metrics and the current state of the Ceph cluster:storage utilization, performance metrics, system load
2)manage and expose Ceph cluster information:a web-based Ceph DashboardREST API
At least two managers are normally required for high availability.

ceph-mds(MDS,Metadata Server)

1)stores metadata on behalf of the Ceph File System (i.e., Ceph Block Devices and Ceph Object Storage do not use MDS).
2)MDS allow POSIX file system users to execute basic commands (like ls, find, etc.) without placing an enormous burden on the Ceph Storage Cluster.

参考文献

Intro to Ceph — Ceph Documentation