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

ceph架构及 IO流程

CEPH是由多个节点构成的集群,它具有良好的可扩展性和可靠性。节点之间相互通信以达到:

存储和检索数据

数据复制

监控集群的健康状况

保证数据的完整性

检测故障并恢复

基本架构如下图:

分布式对象存储系统RADOS是CEPH最为关键的技术,主要由OSD和Monitor组成。

CEPH是一个完全无中心架构的计算模式的存储系统。client通过设备映射关系计算出其写入数据的位置,这样client可以直接与存储节点通信,从而避免中心节点的性能瓶颈。很厉害的样子,身为写IO,感觉我只需要跟OSD打交道了。

CEPH也是一个拥有雄心壮志的存储系统,同时支持块、文件和对象三类存储。本次client准备将CEPH作为块存储使用。

在发起写IO之前,client做了很多工作。同其他系统类似,想要跟CEPH集群通信,首先需要得到认证。拿到接头暗号之后,就可以创建映像和将映像映射为块存储并使用了。

Client写数据之前已经获取了集群map信息,并将我解体……我被切分成多个object(如果我是大IO), 每个object都有一个唯一的object ID。然后计算寻址每个object的存储位置:object根据Hash被映射到不同的PG,然后又根据CRUSH算法找出存储object的一组OSD的Primary OSD。

接着Client直接和Primary OSD进程通信并发起写入操作。然后由Primary OSD写到Secondary OSD和Tertiary OSD(如果配置为3副本)。等他们都写完之后,再由Primary OSD给主机打个招呼知会一下。

由于我被切分成多个object, 多个object可以并行发到多OSD。等所有object都操作完成之后, 我完成了使命。

以上是一个典型写IO对于写流程的简单描述。

http://www.lryc.cn/news/148294.html

相关文章:

  • ssh 基本用法与免密登录
  • Unity3D 如何在ECS架构下,用Unity引擎进行游戏开发详解
  • Kotlin协程flow的debounce与管道Channel
  • 在JavaScript中,你可以使用多种方法来查找包含特定元素的数组或对象
  • 实力认证!OceanBase获“鼎信杯”优秀技术支撑奖
  • 分布式锁实现一. 利用Mysql数据库update锁
  • 第一百三十一回 如何使用MethodChannel
  • 贝锐蒲公英异地组网方案,如何阻断网络安全威胁?
  • CTFhub-文件上传-无验证
  • Java“牵手”京东商品详情数据,京东API接口申请指南
  • 瓜分双十一10亿红包设计:在线分享教程?
  • day 43 | ● 123.买卖股票的最佳时机III ● 188.买卖股票的最佳时机IV
  • 客路旅行(KLOOK)面试(部分)(未完全解析)
  • 时序预测 | MATLAB实现基于QPSO-BiGRU、PSO-BiGRU、BiGRU时间序列预测
  • el-select码值枚举
  • 【多面体:知识蒸馏:Pansharpening】
  • 【python爬虫】4.爬虫实操(菜品爬取)
  • 深圳发墨西哥专线要多久才能清关?
  • Java-泛型
  • 【python爬虫】8.温故而知新
  • vue3组合式api 父子组件数据同步v-model语法糖的用法
  • 环境异常总结
  • [论文笔记]DSSM
  • Skip Connection——提高深度神经网络性能的利器
  • EXCEL中点击单元格,所在行和列都改变颜色
  • HAProxy(一)
  • LeetCode--HOT100题(46)
  • 深度探索JavaScript中的原型链机制
  • 一种基于WinDump自动抓包实现方法
  • taro 支付宝/微信小程序/h5 上传 - base64的那些事儿