ceph介绍

一、前言

    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 存储设备上的表现更加优越

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/557705.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

域名信息查询同款WHOIS源码

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 域名查询一般是指查询域名的whois注册信息,域名WHOIS是当前域名系统中不可或缺的一项信息服务。在使用域名进行Internet冲浪时,很多用户希望进一步了解域名、名…

Kotlin语法入门--变量声明(2)

Kotlin语法入门–条件控制和循环语句(2) 文章目录 Kotlin语法入门--条件控制和循环语句(2)二、条件控制和循环语句1、if...else2、when2.1、常规用法2.2、特殊用法--并列:2.3、特殊用法--类型判断:2.4、特殊…

【笔试训练】day6

1.大数加法 思路&#xff1a; 高精度板子&#xff0c;停留一下都是罪过&#xff01; 代码&#xff1a; class Solution { public:string solve(string s, string t) {vector<int> a;vector<int> b;for(int is.size()-1;i>0;i--)a.push_back(s[i]-0);for(int …

AOP

代理模式 提出问题 现有缺陷 假设我们有一个计算类&#xff0c;里面有加减乘除四个方法&#xff0c;现在我们要为这四个方法添加日志&#xff0c;即在方法执行的前后分别输出一句话&#xff0c;这时我们会发现如下缺陷&#xff1a; 1.对核心业务有干扰。核心业务是加减乘除…

Transformer中的位置编码详解

什么是位置编码 位置编码概述 位置编码的目的是为了补充序列的位置信息&#xff0c;这是因为自注意力机制本身不包含位置的概念&#xff08;例如顺序信息&#xff09;。位置编码的具体作用是&#xff0c;对于不同的输入序列成分&#xff0c;赋予其不同的位置标识&#xff0c;确…

C++-命名空间

C 命名空间是一种用于组织代码的机制&#xff0c;可以帮助避免命名冲突&#xff0c;提高代码的可读性和可维护性。命名空间将代码分组到逻辑单元中&#xff0c;允许在不同的代码单元中使用相同的名称而不会产生冲突。 命名空间通过将代码放置在一个命名空间内部来实现。在 C 中…

被Claude3的图生代码技术秀到了,前端开发效率,提升到秒级

被Claude3的图生代码技术秀到了&#xff01;前端开发效率&#xff0c;提升到秒级 上传一张网站图片&#xff0c;用Claude3 生成实现这个网站的代码的教程来啦&#xff01; 在Claude3 的中文网站上一分钟就能实现&#xff0c;生成前端代码。中文网站地址是https://askmanyai.c…

探索 IntelliJ IDEA 2024.1最新变化:全面升级助力编码效率

探索 IntelliJ IDEA 2024.1最新变化&#xff1a;全面升级助力编码效率 文章目录 探索 IntelliJ IDEA 2024.1最新变化&#xff1a;全面升级助力编码效率摘要引言 IntelliJ IDEA 2024.1 最新变化关键亮点全行代码补全 Ultimate对 Java 22 功能的支持新终端 Beta编辑器中的粘性行 …

解决跨域和https不能访问的问题。

本地安装了项目,是一键安装的,安装之后还是apache的web服务器,有个视频服务用的是https的服务,要对这个项目进行二次开发,本地调用没问题,可是别人已调用就跨域。只能本地访问。 现在有两个问题:1.解决跨域问题 2.还要解决https访问的问题。 解决思路,用nginx 的ssl证…

本地项目如何设置https——2024-04-19

问题&#xff1a;由于项目引用了html5-qrcode插件&#xff0c;但是该插件在本地移动端调试时只能使用https访问&#xff0c;所有原本的本地地址是http&#xff0c;就需要改成https以方便调试。 解决方法&#xff1a;使用本地https证书 1&#xff09;从项目文件下打开cmd逐步输…

Springboot配置文件(application.yml)的加载顺序

spring boot 启动会扫描一下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件 file…/config/ file…/ classpath:/config classpath:/ 以上是按照优先级从高到低的顺序&#xff0c;所有位置的文件都会被加载&#xff0c;高优先级配置内容会…

代码随想录算法训练营第四十四天| LeetCode70. 爬楼梯 (进阶)、322. 零钱兑换、279.完全平方数

一、LeetCode 70. 爬楼梯 &#xff08;进阶&#xff09; 题目链接/文章讲解/视频讲解&#xff1a;https://programmercarl.com/0070.%E7%88%AC%E6%A5%BC%E6%A2%AF%E5%AE%8C%E5%85%A8%E8%83%8C%E5%8C%85%E7%89%88%E6%9C%AC.html 状态&#xff1a;已解决 1.思路 这道题跟70.爬楼…

突破“三个九”!离子阱量子计算再创新高

如果把量子计算比作一场球赛&#xff0c;Quantinuum无疑又打了一记漂亮的好球。实际上&#xff0c;结合今年春季在量子体积、逻辑量子比特和布线问题等方面的进展&#xff0c;这个团队已经接近于完成一场完美的比赛。 3月&#xff0c;Quantinuum的研究人员证明了QCCD架构的可扩…

JavaScript 流程控制-循环

一、循环 二、 for 循环 重复执行的语句被称为循环体&#xff0c;能否继续重复执行&#xff0c;取决于循环的终止条件。 由循环体及循环的终止条件组成的语句被称为循环语句 1、语法结构 for 循环 主要用于把某些代码循环若干次&#xff0c;通常跟计数有关 for &#xff08…

springboot结合vue实现文件上传下载功能

紧接着上一次的博客&#xff0c;这次来实现一下文件(主要是图片)的上传和下载功能&#xff0c;上一次的博客如下所示&#xff1a; Springboot集成JWT token实现权限验证-CSDN博客 其实文件的上传和下载功能(后端的部分)&#xff0c;在我之前的博客就已经有写了&#xff0c;所以…

力扣经典150题第三十题:长度最小的子数组

目录 力扣经典150题解析之三十&#xff1a;长度最小的子数组1. 介绍2. 问题描述3. 示例4. 解题思路方法一&#xff1a;滑动窗口 5. 算法实现6. 复杂度分析7. 测试与验证测试用例设计测试结果分析 8. 进阶9. 总结10. 参考文献感谢阅读 力扣经典150题解析之三十&#xff1a;长度最…

重构国内游戏账号登录系统的思考和实践

本期作者 背景 账号登录系统&#xff0c;作为游戏发行平台最重要的应用之一&#xff0c;在当前的发行平台的应用架构中&#xff0c;主要承载的是用户的账号注册、登录、实名、防沉迷、隐私合规、风控等职责。合规作为企业经营的生命线&#xff0c;同时&#xff0c;账号登录作为…

数据结构系列-堆的实现

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 堆的实现&#xff0c;其实也就是二叉树的实现&#xff0c;我们在这里是基于数组对其进行实现的&#xff01; typedef struct Heap {HPDataType* a;int size;int capacity; }HP;…

毕业设计做一个linux操作系统怎么样?

毕业设计选择做操作系统的话&#xff0c;不太建议做的规模太大&#xff0c;你可以参考一下Linux内核的代码量&#xff0c;完全从头写的工作量还是挺大的。如果是一行一行从头写&#xff0c;学生期间&#xff0c;一学期写10000-20000行有效代码就很强了&#xff0c;而且还要学习…

【面经】2024春招-云计算后台研发工程师1(3个问题,移动TW等)

【面经】2024春招-云计算后台研发工程师1&#xff08;3个问题&#xff0c;移动&TW等&#xff09; 文章目录 岗位与面经基础1&#xff1a;数据库 & 网络&#xff08;3个问题&#xff09;基础2&#xff1a;系统 & 语法模板3&#xff1a;算法 & 项目&#xff08;移…