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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习Day-14:RNN实现心脏病预测

🍨 本文为:[🔗365天深度学习训练营] 中的学习记录博客 🍖 原作者:[K同学啊 | 接辅导、项目定制] 要求: 本地读取并加载数据;了解循环神经网络RNN的构建过程;测试集accuracy达到87%…

自己搭建的大疆无人机RTMP流媒体服务延迟太大

流程:无人机摄像头->图传->遥控器->流媒体服务器->取流播放,延迟有10秒来的,大家有没有什么好的方案。

C# 结合JavaScript实现手写板签名并上传到服务器

应用场景 我们最近开发了一款笔迹测试功能的程序(测试版),用户在手写板上手写签名,提交后即可测试出被测试者的心理素质评价分析。类似功能的场景还比如,在银行柜台办理业务,期间可能需要您使用手写设备进…

2023最新!nginx安装配置保姆级教程

2023最新!nginx安装配置保姆级教程 这篇文章了参考了这位的教程:https://blog.csdn.net/qq_36838700/article/details/129971765 导航 文章目录 2023最新!nginx安装配置保姆级教程一、nginx下载二、编译安装nginx安装pcre安装openssl、zlib、gcc依赖安装nginx 二、拓展 一、n…

低空经济+飞行汽车:载人无人机技术详解

低空经济与飞行汽车是近年来备受关注的话题。随着科技的不断进步,尤其是无人机技术的快速发展,飞行汽车已经从科幻概念逐渐变为现实。以下是对低空经济与飞行汽车,特别是载人无人机技术的详解: 1. 低空经济: 定义&…

javaEE--多线程学习-进程调度

进程调度不明白?看这一篇文章就够了,逻辑衔接严密,文末附有关键面试题,一个海后的小故事让你瞬间明白这里面的弯弯绕绕! 目录 1.什么是进程? 2.进程控制块(PCB) 2.1 一个PCB就是一…

已解决java.lang.IllegalThreadStateException: 非法线程状态异常的正确解决方法,亲测有效!!!

已解决java.lang.IllegalThreadStateException: 非法线程状态异常的正确解决方法,亲测有效!!! 目录 问题分析 场景描述 报错原因 解决思路 解决方法 检查线程状态 正确管理线程生命周期 异常处理 总结 博主v&#xff1a…

JavaEE >> Spring Boot(1)

Spring Boot 前面已经介绍了 Spring ,是为了简化 Java 程序开发的,而在前面创建的过程中就会发现其实 Spring 还是有点复杂,此时 Spring Boot 就诞生了, Spring Boot 是为了简化 Spring 程序开发的。 Spring Boot 即 Spring 脚手…

history日志发送到远程日志服务器

主要目标是设置history信息包含谁、源IP、在哪个目录下、做了什么工作,并实时将日志发送到日志审计服务。 (一)基础知识 1.logger 是一个shell接口,可以通过该接口使用rsyslog的日志模块 2./etc/profile.d/history.sh比配置/etc…

Android某钉数据库的解密分析

声明 1 本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 目的 1 解密app数据库,用数据库软件打开查看信息内容 入手…

【后端】python与django的开发环境搭建指南

安装Git 双击Git 客户端安装文件,在安装页面,单击“Next” 在安装路径选择页面,保持默认,单击“Next” 在功能组件选择页面,保持默认,单击“Next” 在开始菜单文件夹设置页面,保持默认&am…

浅谈rDNS在IP情报建设中的应用

在当今数字化世界中,互联网已经成为人们日常生活和商业活动中不可或缺的一部分。在这个庞大而复杂的网络生态系统中,IP地址是连接和识别各种网络设备和服务的基础。然而,仅仅知道一个设备的IP地址并不足以充分理解其在网络中的角色和行为。为…

win11 桌面图标突然多 绿色小对勾,如何去除掉

突然间桌面图标每个上面都有一个绿色小狗狗,如下图所示,以为中病毒了,后来一查不是。 去除方法 1、鼠标在桌面空白处单击,选择“个性化”(或直接按“windows键I键”)调出设置菜单。 2、在左侧选择“主题”…

C++:const成员和取地址操作符

目录 一、const成员 二、取地址及const取地址操作符重载 一、const成员 将const修饰的“成员函数”称之为const成员函数,const修饰类成员函数,实际修饰该成员函数 隐含的this指针,表明在该成员函数中不能对类的任何成员进行修改。 注&…

21.基础乐理-等音调扩展篇、为何一共十五个大调

首先 等音调 的概念是基于 等音 的概念,比如下图中的音名:因为用的按键相同,音名不同,所以被称为等音调 然后音名一共有35个,如下图:所以在理论上它会有35个大调,但是人总是倾向于选择简单、简洁…

MAC如何重装系统(怒冲30大洋,才拿到的教程~,收藏点赞兄弟们)

背景 应该是之前装了一些远程的软件,卸载一直不干净,导致电脑很卡,而且网络貌似出现了问题,钉钉直接登陆不上了。其余软件网络倒是还好。所以就去PDD,买了个教程,重装了一下。才发现是mac自带,…

云赛道---AI开发框架

MindSpore 旨在提供端边云全场景的 AI 框架。 MindSpore 可部署于端、边、云不同的 硬件环境,满足不同环境的差异化需求,如支持端侧的轻量化部署,支持云侧丰富的 训练功能如自动微分、混合精度、模型易用编程等。 MindSpore 全场景的几个重…

交互式探索微生物群落与生态功能的关系

微生物群落在生态系统中发挥则重要功能,我们在对微生物群落进行分析时,会将不同分类水平(从门到属)的微生物类群的相对丰度与测定的某一生态功能进行相关性分析。但由于微生物类群数较多,又有不同的分类水平&#xff0…

leetcode-二叉树的镜像-91

题目要求 思路1 1.遍历一遍二叉树,将左边的结点对应创建一个右边的结点 2.用此方法空间复杂度O(n),并不是最优 思路2 1.将一个结点的左右子树进行交换,如果左子树还有左右结点,就再交换左子树的左右结点,以此递归下去…

Kubernetes:云原生时代的核心引擎

文章目录 一、Kubernetes简介:引领云原生潮流二、K8s的核心特性:自动化与智能化三、K8s的实践应用:打造高效云原生应用架构四、K8s的挑战与应对:安全与性能并重五、K8s的未来展望:无限可能与挑战并存《Kubernetes快速进…