打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Ceph读写流程分析 | tianshan's blog

初步的Ceph读写流程分析。更详细的IO路径整理好了放上来。

Ceph OSD层的数据层级

1.OSD

主要实现 OSD,OSDService ,每个数据节点的守护进程

2.PG

主要实现 PG,ReplicatedPG,ReplicatedBackend,Object的逻辑组织

3.ObjectStore

主要实现 FileStore,KeyValueStore,MemStore,直接操作数据

OSD层和PG层的读写

OSD和ObjectStore层,都有一个线程池(tp)和消息队列(wq),每个线程会从不同消息队列中取出消息然后执行。

  • 下图是OSD的消息入队路径,红色为主要路径

  • 消息入队后,线程池OSDService->op_tp(osd->osd_op_tp)从队列中拿出消息开始工作。详细流程见下图

图中,红色方框都是主OSD的操作,蓝色方框是从OSD的操作。

首先会有主OSD消息,经过一定检查后,执行到右半部分,提交事务前,先将从OSD的op添加到Apply和Commit的等待队列,然后发消息给从PG的OSD,最后提交自己的操作到ObjectStore。

从OSD收到消息后,会注册Apply和Commit事件(在完成事务后执行),然后提交事务到ObjectStore。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
滴滴Ceph分布式存储系统优化之锁优化
ceph pg, osd, pool 之间的一些查找方法
“Ceph浅析”系列之五
ceph工作原理和安装
理解 OpenStack + Ceph (2):Ceph 的物理和逻辑结构 [Ceph Architecture]
Ceph架构剖析 | UnitedStack
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服