自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 记一次设置norecover标记导致ceph集群业务中断的问题分析

文章目录0. 问题现象1. 理解norecover的含义2. 问题分析3. 结论0. 问题现象1. 理解norecover的含义1.1 norecover标记作用2. 问题分析2.1 恢复过程分析2.1.1 主pg发起恢复请求过程:2.1.2 主pg接收从副本恢复请求响应的处理3. 结论0. 问题现象1. 理解norecover的含义2. 问题分析3. 结论0. 问题现象集群设置...

2019-05-17 19:39:12 1182 2

原创 ceph L版本相对于J版本在scrub机制上做的优化

文章目录1. 优化改动点2. 关键数据结构3. scrub流程变化1. 优化改动点2. 关键数据结构2.1 支持scrub分段执行2.2 支持scrub抢占的设计2.2.1 scrub原子性破坏2.2.2 scrub抢占防止出现校验不一致的问题解决方法2.2.3 scrub抢占条件3. scrub关键流程变化3.1 scrub过程3.2 scrub抢占发生时,主pg状态机变化过程:3.3 buil...

2019-05-12 13:03:29 821

原创 leveldb seek与get调用对指定key查询结果的影响

文章目录1. 问题现象2. 问题分析3. 结论1. 问题现象2. 问题分析2.1 peek_map_epoch接口分析2.2 DBObjectMap::get_values流程分析2.3 leveldb MergingIterator seek过程2.4 ceph-kvstore-tool 查询某个key的流程3. 结论1. 问题现象2. 问题分析3. 结论1. 问题现象osd启动从d...

2019-05-05 14:25:07 1053

原创 leveldb的SSTable文件layout设计

文章目录1. sst文件存储格式设计思想1. sst文件存储格式设计思想1.1 单纯的只存放kv数据,如下图所示1.2 建立索引后的SST文件存储格式1.3 引入重启点加快block内部索引效率1.4 空间优化1.5 key查找优化之bloomfilter1.6 leveldb SSTable layout1. sst文件存储格式设计思想【术语说明】术语说明data bl...

2019-05-03 11:18:28 322

原创 git常用命令汇总

2019-04-30 21:35:52 252

原创 简析ceph DBObjectMap查找key的流程

文章目录1. 分析场景举例2. 过程分析2.1 peek_map_epoch接口分析2.2 DBObjectMap::get_values流程分析2.3 leveldb MergingIterator seek过程2.4 ceph-kvstore-tool 查询某个key的流程1. 分析场景举例分析osd启动过程中加载pg时去leveldb查找pg所对应的版本号整个db操作流程2. 过程分析...

2019-04-30 21:30:56 841

原创 ceph scrub实现机制

0. scrub pg注册及触发pg注册完之后由osd tick线程根据时间和系统压力决定是否启动scrubpg如果满足上述条件则会加入scrub_wq队列,唤醒相应的工作线程进行处理scrub处理过程是由disk_tp线程从scrub_wq队列取PG进行的,一般的主要过程为PrimaryABCINACTIVENEWCHUNKBUILD_MAP_request_scrub_map_r...

2019-04-29 21:45:51 1633

原创 ceph deep-scrub卡住导致业务中断问题分析

1. 问题背景一个pg scrub了14天,前端虚机挂掉大半2. 分析过程2.1 查看scrub pg的主OSD日志从日志里可以看出pg[13.832]:有slow op,该oldest slow op等待时间1199828s==14天这些op 都处于waiting for scrub什么场景会导致op处于waiting for scrub?首先从字面上可以理解这些op是等待...

2019-04-29 21:31:20 3127 1

转载 ceph性能统计实现

https://www.jianshu.com/p/0ddfc9992a79

2019-04-29 20:53:41 418

原创 ceph monitor出现双leader问题分析

1. 问题现象某天mon leader在服务器node0001和node0002节点间一直切换,导致数据库损坏界面告警2. 详细分析2.1 查看mon.b日志通过上图日志信息分析可以得出,mon.b发生的选举都是由于续租超时(lease_timeout)触发的。为什么会出现续租超时呢?2.2 分析续租在mon中是怎么实现2.2.1 续租是谁发出的?续租的操作是由主mon发起的,周期...

2019-04-29 20:46:06 1069

原创 ceph之Watch/Notify机制简介

文章目录Watch/Notify机制1. OverView2. Watch/Notify代码实现过程详解2.1 librados层watch2.2 osdc Linger Op发送2.3 osd处理LingerOp2.4 watch LingerOp reply2.5 watch ping2.6 Notify2.7 osd 处理Notify消息2.8 osd 处理Notify ack消息2.9 n...

2019-04-29 17:48:52 5192 2

空空如也

空空如也

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

TA关注的人

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