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

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介:

第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测试的候选序列。它的进展速度非常快,我们相信它很快就能在生产环境中使用了。

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
22天前
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2
|
22天前
|
负载均衡 Java 应用服务中间件
微服务分布式系统架构之zookeeper与dubbor-1
微服务分布式系统架构之zookeeper与dubbor-1
|
1月前
|
存储 JSON 数据库
Elasticsearch 分布式架构解析
【9月更文第2天】Elasticsearch 是一个分布式的搜索和分析引擎,以其高可扩展性和实时性著称。它基于 Lucene 开发,但提供了更高级别的抽象,使得开发者能够轻松地构建复杂的搜索应用。本文将深入探讨 Elasticsearch 的分布式存储和检索机制,解释其背后的原理及其优势。
138 5
|
3月前
|
存储 分布式数据库 数据库
Hbase学习二:Hbase数据特点和架构特点
Hbase学习二:Hbase数据特点和架构特点
59 0
|
1月前
|
设计模式 架构师 Java
Java开发工程师转架构师需要学习什么
Java开发工程师转型为架构师需掌握多项技能:精通Java及框架、数据库与分布式系统;熟悉设计模式与架构模式;积累项目经验;提升沟通与领导力;持续学习新技术;培养系统设计与抽象能力;了解中间件及开发工具;并注重个人特质与职业发展。具体路径应结合个人目标与实际情况制定。
51 18
|
24天前
|
机器学习/深度学习 算法 自动驾驶
深度学习之分布式智能体学习
基于深度学习的分布式智能体学习是一种针对多智能体系统的机器学习方法,旨在通过多个智能体协作、分布式决策和学习来解决复杂任务。这种方法特别适用于具有大规模数据、分散计算资源、或需要智能体彼此交互的应用场景。
43 4
|
1月前
|
存储 块存储
ceph分布式存储系统常见术语篇
关于Ceph分布式存储系统的常见术语解释和概述。
66 1
ceph分布式存储系统常见术语篇
|
1月前
|
存储 Kubernetes 数据安全/隐私保护
k8s对接ceph集群的分布式文件系统CephFS
文章介绍了如何在Kubernetes集群中使用CephFS作为持久化存储,包括通过secretFile和secretRef两种方式进行认证和配置。
40 5
|
2月前
|
存储 NoSQL Java
一天五道Java面试题----第十一天(分布式架构下,Session共享有什么方案--------->分布式事务解决方案)
这篇文章是关于Java面试中的分布式架构问题的笔记,包括分布式架构下的Session共享方案、RPC和RMI的理解、分布式ID生成方案、分布式锁解决方案以及分布式事务解决方案。
一天五道Java面试题----第十一天(分布式架构下,Session共享有什么方案--------->分布式事务解决方案)
|
2月前
|
弹性计算 Cloud Native Windows
核心系统转型问题之核心系统需要转型到云原生分布式架构的原因如何解决
核心系统转型问题之核心系统需要转型到云原生分布式架构的原因如何解决