2. ceph存储组件

ceph存储组件

  • 一、ceph存储介绍
    • 1、ceph介绍
    • 2、ceph提供的存储接口
  • 二、ceph的核心组件
  • 三、crush算法

一、ceph存储介绍

分布式存储/文件系统,数据按特定的算法分散存储到不同的设备上
存在数据副本机制,保证数据的可靠性
典型的开源软件: ceph、glusterfs、hadoop、fastdfs

1、ceph介绍

基于CRUSH算法数据定位
高性能, 支持上千个节点、支持PB级数据
高扩展性
高可用性
为虚拟化平台、云平台提供后端存储

2、ceph提供的存储接口

ceph是统一的分布式文件系统
同时提供三种接口:
文件系统存储
块级别的存储
对象存储, 每个文件被称为一个对象,每个文件有一个唯一的访问地址,快速访问;适用于非结构化数据(图片、视图、音频、动画)
在这里插入图片描述

二、ceph的核心组件

在这里插入图片描述

  • Mon
    作为ceph存储的访问入口
    负责集群管理维护操作

  • OSD
    实际负责数据读写,真实的存储设备

  • PG
    OSD的分组,简化数据对象、OSD的管理

  • MDS
    元数据服务,为文件系统存储提供元数据的管理

  • cephFS
    文件系统存储

  • RBD
    块存储

  • RadosGW
    对象存储

三、crush算法

在这里插入图片描述
File用户需要读写的文件。File->Object映射:
ino (File的元数据,File的唯一id)。
ono(File切分产生的某个object的序号,默认以4M切分一个块大小)。
oid(object id: ino + ono)。

Object是RADOS需要的对象。Ceph指定一个静态hash函数计算oid的值,将oid映射成一个近似均匀分布的伪随机值,然后和mask按位相与,得到pgid。Object->PG映射:
hash(oid) & mask-> pgid 。
mask = PG总数m(m为2的整数幂)-1 。

PG(Placement Group),用途是对object的存储进行组织和位置映射, (类似于redis cluster里面的slot的概念) 一个PG里面会有很多object。采用CRUSH算法,将pgid代入其中,然后得到一组OSD。PG->OSD映射:
CRUSH(pgid)->(osd1,osd2,osd3) 。

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

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

相关文章

申办引调水乙级资质关于办公场所和技术装备的要求

申办引调水乙级资质时,关于办公场所和技术装备的要求主要包括以下几点: 办公场所: 固定办公地点:企业应具备固定的办公场所,作为日常运营和设计工作的基础。办公场所需满足设计团队的工作需求,包括设计绘图…

LabVIEW RT在非NI硬件上的应用与分析

LabVIEW RT(实时操作系统)可运行在非NI(National Instruments)硬件上,如研华工控机,但需要满足特定硬件要求。本文从硬件要求、开发和运行差异、可靠性、稳定性、优势和成本等多角度详细分析在非NI硬件上运…

神经网络字符分类

按照题目要求修改了多层感知机 题目将图片的每个点作为输入,其中大小为28*28,中间有两个大小为100的隐藏层,激活函数是relu,然后输出大小是10,激活函数是softmax 优化器是Adam,结合了AdaGrad和RMSProp算法…

Segmentation fault的原因和例子

最近有用cpp写点东西,然后就碰到Segmentation fault了,调试的时候,ide指出报错的地方看着没问题。后来研究发现,是递归层数太多导致的。 “Segmentation fault”(简称"segfault")是一个常见的计…

机器学习python实践——关于ward聚类分层算法的一些个人心得

最近在利用python跟着参考书进行机器学习相关实践,相关案例用到了ward算法,但是我理论部分用的是周志华老师的《西瓜书》,书上没有写关于ward的相关介绍,所以自己网上查了一堆资料,都很难说清楚ward算法,幸…

Python之Pandas详解

Pandas是Python语言的一个扩展程序库,用于数据分析。 Pandas是一个开放源码、BSD许可的库,提供高性能、易于使用的数据结构和数据分析工具。 Pandas名字衍生自术语 “panel data”(面板数据)和 “Python data analysis”&#x…

AIGC绘画设计:Midjourney V6 来袭,该版本有哪些新功能?

Midjourney V6 支持更自然的语言输入,可以处理更自然地对话式(以前的版本是以关键字为中心的)提示,对复杂提示有了更好的解释能力。大幅增加了每个 /image 的内存,可以处理更长、更详细的提示(从40 直接提升…

Spark 面试题(七)

1. Spark中的Transform和Action,为什么Spark要把操作分为Transform 和Action?常用的列举一些,说下算子原理 ? 在Spark中,操作被分为转换(Transformation)和行动(Action)…

Android framework的Zygote源码分析

文章目录 Android framework的Zygote源码分析linux的fork Android framework的Zygote源码分析 init.rc 在Android系统中,zygote是一个native进程,是Android系统上所有应用进程的父进程,我们系统上app的进程都是由这个zygote分裂出来的。zyg…

Processing java 动态海报 地球日

【Processing java 动态海报 地球日】

12、云服务器上搭建环境

云服务器上搭建环境 12.1 选择一款远程连接工具(mobax) 有很多,比如mobax、xshll等等,我这里选择mobax,下载个免费版的即可 安装完成后,双击打开: 第一步,创建远程连接的用户,用户默认为root,密码为远程服务器的密码 第二步,输入远程公网IP,选择刚刚创建的用…

[C][数据结构][排序][下][快速排序][归并排序]详细讲解

文章目录 1.快速排序1.基本思想2.hoare版本3.挖坑法4.前后指针版本5.非递归版本改写 2.归并排序 1.快速排序 1.基本思想 任取待排序元素序列的某元素作为基准值,按照该排序码将待排序集合分割成两子序列,左子序列中所有元素均小于基准值,右…

技术选型考察哪些方面

在进行技术选型时,需要考虑多个方面,确保所选择的技术能够满足项目的需求,并且在实施过程中具备可行性和可维护性。以下是一些主要考察方面: 1. 业务需求匹配 功能需求:技术能否满足当前及未来的功能需求。性能需求&…

Leetcode.2862 完全子集的最大元素和

题目链接 Leetcode.2862 完全子集的最大元素和 rating : 2292 题目描述 给你一个下标从 1 1 1 开始、由 n n n 个整数组成的数组。你需要从 n u m s nums nums 选择一个 完全集,其中每对元素下标的乘积都是一个 完全平方数,例如选择 a i a_i ai​ 和…

目标检测中的anchor机制

目录 一、目标检测中的anchor机制 1.什么是anchor boxes? 二、什么是Anchor? ​编辑三、为什么需要anchor boxes? 四、anchor boxes是怎么生成的? 五、高宽比(aspect ratio)的确定 六、尺度(scale)的…

工业高温烤箱:现代工业的重要设备

工业高温烤箱,作为现代工业生产中不可或缺的关键设备,以其独特的高温烘烤能力,为各种工业产品的加工与制造提供了强有力的支持。斯博欣将对工业高温烤箱的原理、特点、应用领域及未来发展进行简要介绍。 一、工业高温烤箱的特点 1、高温性能优…

怎么修改Visual Studio Code中现在github账号

git config --global user.name “你的用户名” git config --global user.email “你的邮箱” git config --global --list git push -u origin your_branch_name git remote add origin

编程后端:深入探索其所属的行业领域

编程后端:深入探索其所属的行业领域 在数字化浪潮席卷全球的今天,编程后端作为技术领域的重要分支,其所属的行业领域一直备受关注。本文将从四个方面、五个方面、六个方面和七个方面,深入剖析编程后端所属的行业,并揭…

FastAPI 作为H5中流式输出的后端

FastAPI 作为H5中流式输出的后端 最近大家都在玩LLM,我也凑了热闹,简单实现了一个本地LLM应用,分享给大家,百分百可以用哦~^ - ^ 先介绍下我使用的三种工具: Ollama:一个免费的开源框架&…