自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 FOR UPDATE和LOCK IN SHARE MODE的正交关系

是一种共享锁,它允许其他事务对同一行数据进行读取和共享锁定,但阻止其他事务对同一行数据进行修改或使用。是一种排他锁,它阻止其他事务对同一行数据进行修改或锁定;当一个事务(事务A)对一行数据使用了。当一个事务(事务A)对一行数据使用了。

2024-03-16 15:13:01 635 1

原创 漏桶算法【转载】

假设在某个时刻我们的存储桶为[200,500,400,500,100][ 2 0 0 ,5 0 0 ,4 0 0 ,5 0 0 ,1 0 0 ]。如果许多主机连接到网络并且不断向网络发送突发流量,则可能会导致数据包丢失和意外延迟,从而降低服务质量,并且数据包可能会积压。然后我们想要开发一种算法,假设数据可用,该算法将以统一的速率发送5 Mbps 的数据。是一种流量整形算法,用于通过平均发送到网络的数据速率将突发流量转换为平滑流量。现在,在每次迭代中,我们将传输数据包,以使每个数据包的大小总和不大于泄漏率。

2024-01-05 15:37:53 1927 1

原创 RBD: Exclusive Lock 原理

一种分布式的实现,如果一个LUN配置了排它锁feature,对于一些配置流程:如创建快照、clone等,IO流程:如写IO。客户端会去获取排他锁,防止同时有两个客户端对同一个LUN进行操作。

2023-11-15 14:58:01 704 1

原创 Blustore: 从读流程了解各个关键结构体

以上是整个读流程的调用栈。

2023-09-19 11:03:36 836 2

原创 rbd基于存储池设置qos和基于image设置qos的区别和原理

相关参数还有设置效果可以看到是设置在了rbd_info这个omap属性中。

2023-09-04 17:25:18 598 1

原创 pg lock 与读写锁

由于读流程是同步的,因此整个流程都会持有PG Lock和Read Lock,同步读到数据后,释放Read Lock后,再释放PG Lock。

2023-08-25 21:29:30 354 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 534 1

原创 查看rados对象属性

做以下操作之前需要先停掉osd。

2023-08-17 20:40:55 391 1

原创 ceph osd find_object_context 代码解读

find_object_context是要获取一个对象的上下文,关键的流程在代码中已经进行了解释。

2023-08-17 17:33:27 251 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 409

原创 RBD cache 是否开启的逻辑

在初始化ObjectCacherObjectDispatch的时候,先根据配置项。默认是true,因此默认不开启cache。

2023-07-20 11:15:07 238 1

原创 ceph-csi rbd挂载点的元数据查看方法

在ceph-csi重建之后,需要恢复挂载点的信息,rbd_healer.go会调用相关函数去恢复,以nbd为例,在恢复的时候不会调用map命令,而是调用attach,而attach的时候需要指定设备名称,如/,这些信息就是通过这个元数据而获得的。

2023-05-31 15:05:30 400 1

原创 ceph-csi rbd 如何快速找到卷和pvc的对应关系

现在已经知道对应的设备了,去ceph-csi对应的母机上运行命令就是pvc。

2023-05-31 11:49:20 540 1

原创 JuiceFs buildSlice实现

有点类似于二叉树排序树,但是比二插排序树要简单,最终构建出来的结果是:父亲节点的pos大于等于所有左边孩子的pos+length。父亲节点的pos小于等于所有右边边孩子的pos。

2023-05-16 15:09:46 148 1

原创 ceph-csi rbd 容器部署

由于下载不到国外的镜像,只能使用这个笨办法了。

2023-05-12 18:03:08 598 1

原创 ceph-csi cephfs 容器部署

由于下载不到国外的镜像,只能使用这个笨办法了。

2023-05-12 14:35:59 951 1

原创 搭建K8s集群

根据规划设置主机名。

2023-05-12 14:31:15 124 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除