Ceph分布式存储学习指南3.1 Ceph存储架构

简介:

第3章

Ceph架构和组件

本章将涵盖以下几大主题:

Ceph存储架构

Ceph RADOS

Ceph对象存储设备(OSD)

Ceph monitor(MON)

librados

Ceph块存储

Ceph对象网关

Ceph MDS和CephFS

3.1 Ceph存储架构


Ceph存储集群由几个不同的软件守护进程组成,每个守护进程负责Ceph的一个独特功能并将值添加到相应的组件中。每个守护进程是彼此独立的。这是保持Ceph存储集群比黑匣子似的商业存储系统更加便宜的诸多特性中的一个。

下图简要阐述了每个Ceph组件的功能。

可靠、自动、分布式对象存储(Reliable Autonomic Distributed Object Store,RADOS)是Ceph存储集群的基础。Ceph中的一切都以对象的形式存储,而RADOS就负责存储这些对象,而不考虑它们的数据类型。RADOS层确保数据一致性和可靠性。对于数据一致性,它执行数据复制、故障检测和恢复,还包括数据在集群节点间的迁移和再平衡。

一旦应用程序访问Ceph集群执行写操作,数据将会以对象的形式存储在Ceph对象存储设备(OSD)中。这是Ceph集群中存储实际用户数据并响应客户端读操作请求的唯一组件。通常,一个OSD守护进程与集群的一个物理磁盘绑定。所以,一般来说,物理磁盘的总数与Ceph集群中负责存储用户数据到每个物理磁盘的OSD守护进程数是相等的。

Ceph monitor(MON)组件通过一系列的map来跟踪整个集群的健康状态,这些map是指下面几个组件的map:OSD、MON、PG和CRUSH。所有的集群节点都向monitor节点报告状态,并分享每一个状态变化的信息。一个monitor为每一个组件维护一个独立的map。monitor不存储实际数据,这是OSD的工作。

librados库是一种用来简化访问RADOS的方法,它目前支持PHP、Ruby、Java、Python、C和C++语言。它提供了Ceph存储集群的一个本地接口RADOS,并且是其他服务(如RBD、RGW)的基础,以及为CephFS提供POSIX接口。librados API支持直接访问RADOS,使得开发者能够创建自己的接口来访问Ceph集群存储。

Ceph块设备原来叫做RADOS块设备(RBD),它对外提供块存储,它可以被映射、格式化进而像其他磁盘一样挂载到服务器。Ceph块设备具备商业存储的特性,如精简制备和快照。

Ceph对象网关也称为RADOS网关(RGW),它提供了一个兼容Amazon S3(Simple Storage Service)和OpenStack对象存储API(Swift)的restful API接口。RGW还支持多租户和OpenStack的Keystone身份验证服务。

Ceph元数据服务器(MDS)跟踪文件层次结构并存储只供CephFS使用的元数据。Ceph块设备和RADOS网关不需要元数据,因此它们不需要Ceph MDS守护进程。MDS不直接给客户端提供数据,因此可以避免系统中的一个单点故障。

Ceph文件系统(CephFS)提供了一个任意大小且兼容POSIX的分布式文件系统。CephFS依赖Ceph MDS来跟踪文件层次结构,即元数据。目前CephFS不推荐在生产环境使用,但它已进入POC测试的候选序列。它的进展速度非常快,我们相信它很快就能在生产环境中使用了。

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
相关文章
|
2月前
|
Dubbo Java 应用服务中间件
Apache ShenYu 架构学习指南
Apache ShenYu 是一款高性能、插件化的微服务API网关,基于Spring WebFlux + Reactor 构建,支持多协议、动态配置与实时数据同步。本指南以通俗类比和实战路径,带你深入理解其架构设计、核心流程与源码实现,助力快速掌握并参与贡献。
408 12
|
2月前
|
Kubernetes Go API
Kubeflow-Model-Registry-架构学习指南
Kubeflow Model Registry 是一个用于管理机器学习模型元数据的基础设施,采用 Go、Python、React 和 Kubernetes 技术栈,支持模型版本、注册与存储追踪。本指南系统解析其分层架构、核心流程与代码结构,提供从环境搭建到贡献代码的完整学习路径,助力开发者深入掌握模型管理实践。
184 0
|
2月前
|
Kubernetes Go 调度
Kubeflow-Trainer-架构学习指南
本指南系统解析Kubeflow Trainer架构,涵盖核心设计、目录结构与代码逻辑,结合学习路径与实战建议,助你掌握这一Kubernetes原生机器学习训练平台的原理与应用。
498 139
|
2月前
|
Kubernetes API 开发工具
Kubeflow-Pipelines-架构学习指南
本指南带你深入 Kubeflow Pipelines 架构,从零掌握 ML 工作流编排。涵盖核心组件、代码结构、开发调试及贡献流程,结合实战练习与学习路径,助你由使用者进阶为贡献者。
439 139
|
2月前
|
Kubernetes Cloud Native Go
Kubeflow-KServe-架构学习指南
KServe是基于Kubernetes的生产级AI推理平台,支持多框架模型部署与管理。本指南从架构解析、代码结构到实战部署,系统讲解其核心组件如InferenceService、控制器模式及与Knative、Istio集成原理,并提供学习路径与贡献指南,助你快速掌握云原生AI服务技术。
536 139
|
2月前
|
并行计算 PyTorch 算法框架/工具
vLLM 架构学习指南
本指南深入解析vLLM高性能推理引擎架构,涵盖核心创新PagedAttention与连续批处理技术,结合代码结构、学习路径与实践建议,系统指导用户从入门到贡献源码的全过程。
863 2
vLLM 架构学习指南
|
2月前
|
缓存 Cloud Native 中间件
《聊聊分布式》从单体到分布式:电商系统架构演进之路
本文系统阐述了电商平台从单体到分布式架构的演进历程,剖析了单体架构的局限性与分布式架构的优势,结合淘宝、京东等真实案例,深入探讨了服务拆分、数据库分片、中间件体系等关键技术实践,并总结了渐进式迁移策略与核心经验,为大型应用架构升级提供了全面参考。

热门文章

最新文章