ceph介绍

embedded/2024/9/24 7:50:27/

一、前言

    Ceph 是一个完全分布式的系统,它将数据分布在整个集群中的多个节点上,以实现高可用性和容错性,ceph支持对象存储、块存储、文件存储所以被称为统一存储,ceph的架构由以下组件组成:mon、mgr、osd、mds、cephfs、rgw,以下就来详细的介绍ceph各个组件的功能和ceph集群的工作原理

二、特点

可扩展性

Ceph 可以轻松地扩展到数千甚至数百万台服务器,并处理大规模的数据存储需求

它采用分布式架构,允许用户根据需要动态添加或移除存储节点,以满足不断增长的存储需求

高可用性

Ceph 采用了数据冗余备份和自动修复机制,确保数据的可靠性和容错性

它支持多副本和纠删编码等技术,以防止数据丢失和数据损坏

数据分布式存储

Ceph 将数据分布存储在集群中的多个节点上,并使用 CRUSH 算法确保数据的均衡分布和负载均衡

数据分布存储提高了系统的并发访问性能,同时降低了存储节点的压力和单点故障的风险

数据强一致性:

当客户端向 Ceph 写入数据时,Ceph 会等待所有副本都成功写入后才返回写入成功的响应。这确保了数据写入的原子性和一致性

如果任何一个副本写入失败,Ceph 会自动尝试重新写入数据,直到所有副本写入成功

统一存储接口

Ceph 提供了统一的存储接口,包括对象存储(RADOS)、块存储(RBD)和文件系统(CephFS)等,使得用户可以使用相同的存储平台处理不同类型的数据和应用场景

二、组件介绍

Monitor(监视器):

监视器维护了集群的状态和拓扑信息

负责监控 OSD 的健康状态和群集的运行状况

提供了客户端和其他组件所需的集群元数据信息

在集群中动态添加或删除 OSD 时,负责维护和更新集群拓扑

Object Storage Daemon(OSD)

存储实际的数据对象,并提供数据访问的接口

负责数据的读取、写入、复制和恢复等操作

使用 CRUSH 算法确定数据的存储位置,并实现数据的均衡分布

具有自我修复功能,能够在节点故障或数据损坏时自动恢复数据

Manager(mgr)

管理器负责监控和管理集群的状态和性能。

提供了集群管理、性能调优和故障排除等功能。

支持插件机制,允许用户扩展和定制管理器的功能

CephFS(Ceph 文件系统)

提供了一个分布式文件系统,允许用户在整个集群中共享和访问文件

支持 POSIX 兼容的文件系统接口,使得 CephFS 可以集成到现有的应用程序和工具中

使用元数据服务器(MDS)来管理文件系统的元数据,并确保文件系统的一致性和可靠性

RADOS Gateway(RGW)

提供了一个面向对象的存储接口,允许用户通过 HTTP 或 S3/Swift API 访问 Ceph 存储

作为对象存储服务的门户,提供了对象存储、数据复制和访问控制等功能

支持多租户和多协议,能够同时处理不同类型的数据和请求

MDS:

MDS 负责管理文件系统的元数据,包括目录结构、文件属性和权限信息等

当客户端请求读取或写入文件时,MDS 负责将请求转发到正确的 OSD 上,并确保数据的一致性和完整性

三、ceph存储资源划分

Ceph 的资源划分主要涉及到存储池、PG(Placement Group)、CRUSH 映射等方面

存储池(Pool)

存储池是 Ceph 中用于管理数据的逻辑单元,用户可以在存储池中定义数据的副本数、CRUSH 规则、数据压缩等策略

存储池可以根据数据的不同需求划分,例如可以根据数据的访问模式、重要性和性能要求等进行划分

每个存储池都可以包含多个 PG

Placement Group(PG)

PG 是 Ceph 中数据的分布单元,用于实现数据的分布和复制

PG 根据 CRUSH 算法将数据均匀地分布在 OSD 上,并确保数据的复制和冗余

PG 的数量和大小对集群的性能和可靠性有重要影响,用户可以根据需要调整 PG 的数量和大小

pg的数量越多数据分布的越均衡

CRUSH 映射

CRUSH 是 Ceph 集群中用于数据分布和故障域管理的算法

CRUSH 算法根据设定的规则将数据分布在不同的 OSD 上,并考虑了数据的复制和故障域的因素

CRUSH 映射将存储池中的 PG 映射到实际的 OSD 上,并负责数据的读取和写入操作

Ceph 存储过程

Ceph 将文件切分为大小相等的小块,默认为4M,并将这些小块通过hash算法分别存储到不同的 PG 中,再根据存储池配置的副本数,默认为3个,通过crush算法分配到不同的osd

 

四、后端存储引擎的介绍

新版本的ceph中默认使用bluestore,相对来说filestore还需要调用文件系统,性能没有bluestore好,bluesotre可以直接使用磁盘作为osd

FileStore

FileStore 是 Ceph 最早引入的 OSD 后端存储引擎,它使用文件系统来管理 OSD 中的数据FileStore 将每个对象存储为一个文件,使用 XFS 或者 ext4 等文件系统来管理这些文件

FileStore 的优点包括成熟稳定、易于部署和管理,适用于旧版本的 Ceph 集群和传统的硬盘存储

BlueStore

BlueStore 是 Ceph 新一代的 OSD 后端存储引擎,它直接管理 OSD 中的存储设备,不依赖于传统的文件系统

BlueStore 将数据以对象的形式直接存储到底层设备上,并使用 RocksDB 来管理元数据

BlueStore 的优点包括更高的性能、更低的存储开销、更好的数据完整性保障和更好的管理灵活性

BlueStore 适用于新版本的 Ceph 集群和要求更高性能和可靠性的应用场景,特别是在 SSD 和 NVMe 存储设备上的表现更加优越


http://www.ppmy.cn/embedded/2121.html

相关文章

(最新)华为 2024 届实习招聘-硬件通⽤/单板开发——第十一套和十二套

(最新)华为 2024 届实习招聘-硬件通⽤/单板开发——第十一套和十二套 部分题目分享,完整版带答案(有答案和解析,答案非官方,未仔细校正,仅供参考)(共十套)获取&#xff…

「GO基础」文件名规范、关键字与标识符

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

选购AWS服务时需要注意哪些问题?九河云详细评测

随着云计算技术的广泛应用,亚马逊网络服务(AWS)受到越来越多企业的欢迎。这是因为他们提供了丰富的云计算产品和服务,可满足企业不同阶段的IT需求。但在选购AWS服务时,企业仍需谨慎考虑以下几个方面: 首先要确定自身的需求,并评估成本效益。企业在选择A…

[C++][算法基础]有向图求最短路径(Floyd)

给定一个 n 个点 m 条边的有向图,图中可能存在重边和自环,边权可能为负数。 再给定 k 个询问,每个询问包含两个整数 x 和 y,表示查询从点 x 到点 y 的最短距离,如果路径不存在,则输出 impossible。 数据保…

平板设备IP地址设置指南

在数字化时代,平板电脑作为便携且功能强大的设备,广泛应用于日常生活和工作中。为了确保平板能够正常接入网络并与其他设备进行通信,正确设置IP地址是至关重要的。虎观小二将为您介绍如何设置平板的IP地址,帮助您轻松完成网络配置…

C语言.指针(6)

指针(6) 前言1.代码11.1代码解析:1.2简化的内存布局图 2.代码22.1代码解析:2.2简化的内存布局图 3.代码33.1代码解析:3.2简化的内存布局图 4.代码44.1代码解析:4.2简化的内存布局图 5.代码55.1代码解析&…

Leetcode 3117. Minimum Sum of Values by Dividing Array

Leetcode 3117. Minimum Sum of Values by Dividing Array 1. 解题思路2. 代码实现 题目链接:3117. Minimum Sum of Values by Dividing Array 1. 解题思路 这一题思路上就是一个动态规划,我们只需要考察每一个元素是否需要放在当前的group当中还是作…

HTML的超链接

前言&#xff1a; 如图&#xff0c;我们在浏览网页时经常可以看到这样的字体&#xff08;点击便跳转到了别的地方了&#xff09;&#xff0c;今日就和各位一起学习一下超链接的相关知识。 相关知识1&#xff1a; 超链接的标签为&#xff1a;a ~使用格式为&#xff1a; <a h…