当前位置: 首页 > article >正文

CEPH的写入流程

在这里插入图片描述

1、客户端程序发起对文件的读写请求,ceph前端接口(RADOS Gateway)将文件切分成多个固定大小的对象(默认大小为4MB)
2、计算文件到对象的映射
(1) 计算OID为每个对象分配一个唯一的OID(Object ID),该OID由文件的inode number(INO)和object number(ONO)组成。INO是文件的唯一标识符,ONO是文件分割后的对象序号
3、根据HASH算法计算文件对应的Pool中的PG,
(1)一致性HASH客户端或CEPH前端使用一致性哈希算法将OID映射到一个PG上,一致性哈希算法可以帮助保持数据分布的均衡性,并且及时在集群变化时也能减少数据迁移
(2)映射计算:通过计算hash(oid)&mask来确定数据应该存储在哪个PG中,mask用来确定PG范围的一个数值
4、通过CRUSH算法将对象映射到PG中的OSD
(1)CRUSH算法:ceph使用CRUSH算法来决定数据应该存储在那个OSD上,CRUSH算法根据集群拓扑结构、权重等来选择OSD,CRUSH算法执行后会给出一组OSD列表,这些OSD负责存储PG中的数据,这些列表中的OSD分为主和备
5、主OSD将数据同步给备份OSD,并等待备份OSD返回确认
(1)数据复制:主OSD将数据复制到备OSD,并等待所有副本完成写入,当备OSD写入完成并向主OSD发送确认信息后,主OSD将知道数据已被持久化,当OSD收到所有备OSD的确认消息,就表明数据以存储成功,主OSD向客户端返回完成写入的消息

可能有些不足,欢迎大佬们来指正


http://www.kler.cn/news/325299.html

相关文章:

  • @JsonFormat与@DateTimeFormat的区别
  • 智能监控,守护绿色能源:EasyCVR在电站视频监控中心的一站式解决方案
  • PostgreSQL数据库与PostGIS在Windows中的部署与运行
  • 25基于python的文本冒险岛游戏(源码+游戏简介+python代码学习攻略)校园招聘面试
  • 解决错误:Failed to add the host to the list of known hosts
  • node节点使用:
  • windows下tp5创建定时任务
  • SSH连接Vscode
  • 解决Qt每次修改代码后首次运行崩溃,后几次不崩溃问题
  • 17 vue3之tsx手写vite tsx插件
  • 智能工牌如何通过自然语义处理技术帮助企业提高业务复盘效率?
  • 打印机共享错误11b解决方法介绍
  • nodejs fs 模块的简介与相关案例
  • 【APM】在Kubernetes中,使用Helm安装loki-distributed 3.1.1
  • 【C++并发入门】摄像头帧率计算和多线程相机读取(上):并发基础概念和代码实现
  • 技术速递|加入 .NET 智能组件生态系统
  • [深度学习]卷积神经网络CNN
  • docker常用命令、如何查看docker 镜像的sha256值
  • 算法分享——《滑动窗口》
  • 等保测评中的数据安全风险评估:企业实战
  • COSCon'24 第九届中国开源年会议题征集正式启动
  • RVC变声器入门
  • Linux信号学习三步走及知识脉络
  • BaseCTF2024 web
  • Qt播放音效或音乐使用QSoundEffect类
  • 小程序-基础知识1
  • 【muduo源码分析】「阻塞」「非阻塞」「同步」「异步」
  • BeautifulSoup4在爬虫中的使用
  • 以旅游购物贸易方式报关出口的货物是什么意思
  • 招联金融内推-2025校招