
Ceph RBD
文章平均质量分 88
以代码为基础,结合操作实践,记录Ceph RBD学习点滴。
easonwx
这个作者很懒,什么都没留下…
展开
-
Ceph RBD:快照ID(snapid) + 如何生成 + 如何增长 + 初始值
快照id是快照的重要属性,本文介绍快照id的生成策略及其含义。原创 2022-07-27 21:16:45 · 852 阅读 · 0 评论 -
Ceph RBD:快照 + Bluestore/Filestore快照区别
文章目录引言创建卷和快照如何找到快照?rbd_header.{原卷id}创建快照流程快照的数据在哪里?Bluestore创建卷写入8M数据创建快照原卷写5M数据后查看rados对象查看快照数据在磁盘的文件Filestore创建卷写入8M数据创建快照原卷写5M数据后查看rados对象查看快照数据在磁盘的文件引言创建快照就是创建当前存储卷的一个只读副本,用于进行快照回滚等数据恢复操作。Ceph创建快照有如下特点:创建快照数据卷的配置流程,不进行数据操作,创建流程速度很快。快照创建后采用COW(copy原创 2022-04-14 11:14:03 · 1419 阅读 · 0 评论 -
Ceph RBD:exclusive-lock代码详解 + 使用方法
背景exclusive-lock为rbd image的一个feature,是一个分布式锁,主要用于防止多个客户端同时写入image导致数据不一致问题。基本概念介绍见Ceph官方文档即可。本文主要结论exclusive-lock有两种policyStandardPolicy:需要对接librbd的应用程序手动进行加锁、抢锁动作。AutomaticPolicy:librbd客户端自动进行加锁、抢锁等动作。exclusive-lock的时间是基于ceph osd的watch/notify机制。原创 2022-06-05 22:33:54 · 1906 阅读 · 0 评论 -
Ceph RBD:条带(stripe)详解
条带(stripe)是把连续的一段数据按照一定size切分成多个数据块,这些数据块可以存储在指定数量的磁盘中。主要有如下两个概念:如果stripe_unit设置为1M,stripe_num设置为6,那么10M的数据是如何存储的呢?Ceph RADOS层本身是无条带概念的,需要RBD进行控制。RBD将RADOS对象看作是磁盘,其他概念与前文介绍相同。如果stripe_unit设置为1M,stripe_num设置为6,每个RADOS对象可以存储4M数据,那么40M的是按照如下存储的。创建一个stripe_uni原创 2022-06-24 19:50:35 · 3289 阅读 · 0 评论 -
Ceph RBD:写流程 + 写cache + ObjectDispatch框架
本文介绍Ceph RBD写流程,包括写cache、ObjectDispatch写框架等代码解读。原创 2022-07-14 10:17:46 · 634 阅读 · 0 评论 -
Ceph RBD:Cache元数据代码详解
在Ceph中,每个image有自己的内存cache资源。使用cache后,一方面小IO在cache中可以聚合成大IO刷盘,另一方面内存的操作在低负载场景也可以快速完成。上述两方面都有利于提升性能。Cache的核心类及其相关性如下。从上面类的关系可以看出cache访问的方法如下:https://github.com/ceph/ceph......原创 2022-07-07 21:31:41 · 568 阅读 · 0 评论 -
Ceph RBD:克隆 + 克隆卷元数据/数据IO详解
文章目录引言克隆概述本文结论克隆的元数据结构创建卷vol_0创建快照vol_0_snap_0创建克隆卷vol_0_snap_0_clone_0克隆卷元数据克隆卷的元数据有哪些?如何找到clone卷对应的原卷?如何找到clone卷对应的快照?如何通过原卷找到clone卷?主要元数据总结创建clone卷流程克隆卷数据创建卷vol_1,写入8M数据创建快照vol_1_snap_0创建克隆卷vol_1_snap_0_clone_0读克隆卷0-1M位置写克隆卷4M-5M位置读写数据总结扁平化创建卷vol_2,写入8M原创 2022-04-21 21:15:30 · 3012 阅读 · 0 评论 -
Ceph RBD:perfcounter + prometheus性能统计
Perfcounter是在RBD IO处理过程中进行的性能统计,以累加的方式进行,包括IO数量、总计时延、总计带宽等,用户可根据计算得到某一时间段内的IOPS、平郡时延、平均带宽等性能统计数据,这些数据可用户性能展示或性能问题定位。本文基于Ceph N版本进行说明。下文主要基于代码流程进行介绍。在rbd_open流程中进行perfcounter注册。Daemon注册RBD client的使用者在rbd_open之后,需要向ceph-mgr注册daemon,才能正常通过promethues进行统计。1、原创 2022-06-12 22:11:35 · 783 阅读 · 0 评论 -
Ceph RBD:创建image + image元数据详解
文章目录引言Image关键元数据创建卷如何找到卷:rbd_directory卷都有什么属性:rbd_header.{rbd_id}卷的数据在那里:rbd_data.{rbd_id}.{offset_idx}元数据汇总创建卷流程引言在Ceph RBD中,image是一个对外提供的逻辑概念,image由数据和元数据组成,数据和原数据都存储在底层RADOS对象中。因此,image的操作就可以分为:数据操作:IO流程元数据操作:配置流程对于创建image这种配置流程来说,主要就是操作元数据。Imag原创 2022-04-13 20:33:07 · 1946 阅读 · 0 评论