Ceph client 写入osd 数据的两种方式librbd 和kernel rbd

news2024/11/18 0:48:56

在Ceph存储系统中,客户端(Ceph client)写入OSD(Object Storage Daemon)数据确实可以通过两种主要方式:librbd和kernel rbd。这两种方式各有特点和适用场景,下面将分别进行详细介绍。

librbd方式

  1. 概述
    librbd是Ceph提供的块存储接口的抽象,它提供了多种编程语言的接口,如C/C++、Python等。通过librbd,客户端可以直接与Ceph集群进行交互,实现对块设备的访问和管理。

  2. 工作原理
    当客户端使用librbd方式写入数据时,它不会将rbd设备映射到内核中,而是直接调用librbd提供的接口。librbd会对要写入的二进制块进行分块,每块默认大小为4MB,并给每个块命名,成为一个对象。然后,librbd会调用librados(Ceph的底层对象存储接口)将对象写入Ceph集群。librados会根据CRUSH算法计算出对象所对应的主OSD,并与该OSD建立TCP/IP连接,发送写入请求。主OSD负责将数据写入其磁盘,并同时向一个或多个次OSD写入副本,以保证数据的高可用性和冗余性。

  3. 特点与优势

    • 不需要在客户端产生块设备文件,直接通过接口访问和管理块设备。
    • 提供了灵活的编程接口,适用于多种开发语言和场景。
    • 支持数据的并发写入和高效管理。

kernel rbd方式

  1. 概述
    kernel rbd是另一种使用Ceph块存储的方式,它将rbd设备映射到内核中,形成一个虚拟的块设备。这个虚拟块设备与其他通用块设备一样,可以使用标准的块设备操作进行管理。

  2. 工作原理
    在kernel rbd模式下,客户端首先会创建一个rbd设备,并将其映射到内核中。映射成功后,客户端可以看到一个虚拟的块设备文件(如/dev/rbd0)。然后,客户端可以对这个块设备文件进行格式化、挂载等操作,就像操作普通的块设备一样。当客户端向这个块设备写入数据时,数据会通过内核的块设备驱动程序传递到librbd和librados,最终写入到Ceph集群中的OSD上。

  3. 特点与优势

    • 提供了与标准块设备兼容的接口,方便现有应用系统的迁移和集成。
    • 适用于需要直接操作块设备的场景,如虚拟机磁盘、数据库存储等。
    • 借助内核的块设备驱动程序,可以提供更好的性能和稳定性。

总结

librbd和kernel rbd是Ceph客户端写入OSD数据的两种主要方式。librbd提供了灵活的编程接口和高效的数据管理功能,适用于多种开发语言和场景;而kernel rbd则提供了与标准块设备兼容的接口,方便现有应用系统的迁移和集成。在选择使用哪种方式时,需要根据具体的应用场景、性能需求以及开发人员的技能水平进行综合考虑

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

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

相关文章

现代密码学|古典密码学例题讲解|AES数学基础(GF(2^8)有限域上的运算问题)| AES加密算法

文章目录 古典密码凯撒密码和移位变换仿射变换例题多表代换例题 AES数学基础(GF(2^8)有限域上的运算问题)多项式表示法 | 加法 | 乘法X乘法模x的四次方1的乘法 AES加密算法初始变换字节代换行移位列混合轮密钥加子密钥&#xff08…

【idea】更换快捷键

因为个人习惯问题需要把快捷键替换一下。我喜欢用CTRLD删除一下,用CTRLY复制一样。恰好这两个快捷键需要互换一下。 打开file——>setting——>Keymap——>Edit Actions 找到CTRLY并且把它删除 找到CTRLD 并且把它删除 鼠标右键添加CTRLY 同样操作在Delet…

关于强化学习的一份介绍

在这篇文章中,我将介绍与强化学习有关的一些东西,具体包括相关概念、k-摇臂机、强化学习的种类等。 一、基本概念 所谓强化学习就是去学习:做什么才能使得数值化的收益信号最大化。学习者不会被告知应该采取什么动作,而是必须通…

通过JS删除当前域名中的全部COOKIE教程

有时候需要通过JS来控制一下网站的登录状态,就例如:网站登出功能,我们可以直接通过JS将所有COOKIE删除,COOKIE删除之后,网站自然也就退出了。 那么今天我就给大家分享一段JS的函数,通过调用这段函数就可以实现删除COO…

【Mysql】Mysql的多表查询---多表联合查询(上)

1、介绍 多表查询就是同时查询两个或者两个以上的表,因为有的时候,用户在查看数据的时候,需要显示的数据来自多张表,多表查询有以下分类: (1)交叉连接查询(产生笛卡尔积&#xff0…

华为Mate 70临近上市:代理IP与抢购攻略

随着科技的飞速发展,智能手机已经成为我们日常生活中不可或缺的一部分。而在众多智能手机品牌中,华为一直以其卓越的技术和创新力引领着行业的发展。近日,华为Mate 70系列手机的发布会正式定档在11月26日,这一消息引发了众多科技爱…

计算机毕业设计Python+Neo4j知识图谱医疗问答系统 大模型 机器学习 深度学习 人工智能 大数据毕业设计 Python爬虫 Python毕业设计

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

vxe-grid table 校验指定行单元格的字段,只校验某个列的字段

Vxe UI vue vxe-table 中校验表格行是非常简单的,只需要配置好校验规则,然后调用 validate 方法就可以自动完成校验,但是由于项目淡色特殊需求,在某个单元格的值修改后需要对另一个列的值就行校验,这个时候又不需要全部…

记录大学Linux运维上机考试题目和流程

备注:今年的Linux操作系统考试已经全部结束,仅作为一个记录和留念 前提:配置环回网卡和环境和nat网卡 1、搭建dns服务器 2、Apache和http服务 3、搭建postfix邮件服务器实现邮件发送 4、搭建vsftpdFTP服务器实现文件上传 题目如下&…

2024-11-16-机器学习方法:无监督学习(1) 聚类(上)

文章目录 机器学习方法:无监督学习(1) 聚类(上)1. 聚类的基本概念1.1 聚类的概念1.2 聚类的功能1.3 聚类的算法 2. 相似度或距离2.1 闵可夫斯基距离2.2 相关系数2.3 夹角余弦 3 类或簇3.1 类的特征 4 类与类之间的距离…

kafka和Flume的整合

目录 一、Kafka作为Source 【数据进入到kafka中,抽取出来】 1、在我的flume的conf文件夹下,有个myconf文件夹: 2、 创建一个flume脚本文件: kafka-memory-logger.conf 3、测试 二、kafka作为Sink 【数据从别的地方抽取到kafka里…

打造专业问答社区:Windows部署Apache Answer结合cpolar实现公网访问

文章目录 前言1. 本地安装Docker2. 本地部署Apache Answer2.1 设置语言选择简体中文2.2 配置数据库2.3 创建配置文件2.4 填写基本信息 3. 如何使用Apache Answer3.1 后台管理3.2 提问与回答3.3 查看主页回答情况 4. 公网远程访问本地 Apache Answer4.1 内网穿透工具安装4.2 创建…

MySQL 8.4.3 Windows绿色安装与主从配置

下载 下载安装包链接: https://dev.mysql.com/downloads/mysql/ 安装配置 假设解压后的目录为C:\mysql-8.4.3-winx64 将C:\mysql-8.4.3-winx64\bin 加入path环境变量在C:\mysql-8.4.3-winx64中创建data文件夹在C:\mysql-8.4.3-winx64中创建my.ini文件 [mysqld]…

文件的简单操作

路径&#xff1a; 代码&#xff1a; main.c #include <stdio.h> #include <stdlib.h> #include <errno.h>int main() {/** 打开文件* FILE *fopen(const char *pathname, const char *mode);*///以追加的方式打开文件FILE* fp fopen("a.txt", &…

【网络】什么是交换机?switch

交换机&#xff08;Switch&#xff09;意为“开关”&#xff0c;是一种用于电&#xff08;光&#xff09;信号转发的网络设备。以下是关于交换机的详细解释&#xff1a; 一、交换机的基本定义 功能&#xff1a;交换机能为接入交换机的任意两个网络节点提供独享的电信号通路&am…

1 图的搜索 奇偶剪枝

图论——图的搜索_Alex_McAvoy的博客-CSDN博客 语雀版本 1 深度优先搜索DFS 1. 从图中某个顶点 v0 出发&#xff0c;首先访问 v0 2. 访问结点 v0 的第一个邻接点&#xff0c;以这个邻接点 vt 作为一个新节点&#xff0c;访问 vt 所有邻接点&#xff0c;直到以 vt 出发的所有节…

【Linux庖丁解牛】—Linux基本指令(下)!

目录 1、grep指令 2、zip/unzip指令 3、sz/rz指令 4、tar指令 ​编辑 5、scp指令 6、bc指令 7、uname –r指令 8、重要的几个热键 9、关机 10、完结撒花 1、grep指令 grep是文本过滤器&#xff0c;其作用是在指定的文件中过滤出包含你指定字符串的内容&#xff0c;…

Oracle19C AWR报告分析之Top 10 Foreground Events by Total Wait Time

Oracle19C AWR报告分析之Top 10 Foreground Events by Total Wait Time 一、分析数据二、详细分析2.1 Top 10 Foreground Events by Total Wait Time各项指标及其解释2.2 分析和总结 一、分析数据 二、详细分析 2.1 Top 10 Foreground Events by Total Wait Time各项指标及其解…

Android Framework AMS(14)ContentProvider分析-1(CP组件应用及开机启动注册流程解读)

该系列文章总纲链接&#xff1a;专题总纲目录 Android Framework 总纲 本章关键点总结 & 说明&#xff1a; 说明&#xff1a;本章节主要解读ContentProvider组件的基本知识。关注思维导图中左上侧部分即可。 有了前面activity组件分析、service组件分析、广播组件分析的基…

计算机视觉 1-8章 (硕士)

文章目录 零、前言1.先行课程&#xff1a;python、深度学习、数字图像处理2.查文献3.环境安装 第一章&#xff1a;概论1.计算机视觉的概念2.机器学习 第二章&#xff1a;图像处理相关基础1.图像的概念2.图像处理3.滤波器4.卷积神经网络CNN5.图像的多层表示&#xff1a;图像金字…