ceph
文章平均质量分 72
这名字很喜庆
这个作者很懒,什么都没留下…
展开
-
RBD: Exclusive Lock 原理
一种分布式的实现,如果一个LUN配置了排它锁feature,对于一些配置流程:如创建快照、clone等,IO流程:如写IO。客户端会去获取排他锁,防止同时有两个客户端对同一个LUN进行操作。原创 2023-11-15 14:58:01 · 161 阅读 · 1 评论 -
Blustore: 从读流程了解各个关键结构体
以上是整个读流程的调用栈。原创 2023-09-19 11:03:36 · 201 阅读 · 0 评论 -
rbd基于存储池设置qos和基于image设置qos的区别和原理
相关参数还有设置效果可以看到是设置在了rbd_info这个omap属性中。原创 2023-09-04 17:25:18 · 169 阅读 · 1 评论 -
pg lock 与读写锁
由于读流程是同步的,因此整个流程都会持有PG Lock和Read Lock,同步读到数据后,释放Read Lock后,再释放PG Lock。原创 2023-08-25 21:29:30 · 117 阅读 · 1 评论 -
ceph osd 写流程回调梳理
erase第一点是在ReplicatedBackend::do_repop_reply函数中,这个是接收到客户端消息的处理函,也就是从osd写副本后 ,主osd收到从osd的相应,只有在CEPH_OSD_FLAG_ONDISK的时候才会erase。从代码①处的逻辑可以看出,repop_queue起到了保序的作用,即不是每个IO三副本提交了以后马上就回调,而是按照先入先出的原则,如果一个IO不在队列头,不回调,后来的IO如果在队列头,会驱动前面已经all_committed的IO进行回调。原创 2023-08-25 16:29:06 · 170 阅读 · 1 评论 -
查看rados对象属性
做以下操作之前需要先停掉osd。原创 2023-08-17 20:40:55 · 132 阅读 · 1 评论 -
ceph osd find_object_context 代码解读
find_object_context是要获取一个对象的上下文,关键的流程在代码中已经进行了解释。原创 2023-08-17 17:33:27 · 86 阅读 · 1 评论 -
osd shard queue
shardedthreadpool_worker是线程的处理函数,最终会调用业务队列的处理函数进行处理,在这里就是。①第四个参数就是上面提到的成员1:ShardedThreadPool,决定了该队列处理线程的个数。该变量在构造函数中进行初始化,其中get_num_op_threads的实现如下。成员2:ShardedOpWQ op_shardedwq,该成员是一个内部类。start_threads函数会去启动num_threads的工作线程。成员1:ShardedThreadPool osd_op_tp。原创 2023-08-14 20:04:04 · 129 阅读 · 0 评论