240 发简信
IP属地:四川
  • ceph-rgw读写事务性

    背景 rgw写一个对象的时候需要更新文件内容,又要更新index pool中的索引,如何保证多个操作的一致性,也就是如何保证多个操作的事务性。有没可能只更新了文件内容而没更新...

  • vscode c++ clangd环境搭建

    背景 利用原生的vscdoe c/c++插件在智能提示方面并不完善,因此想通过clangd插件来完善 问题 1) 主要在linux上编译,操作vscode在windows上,...

  • ptmalloc、tcmalloc与jemalloc理解

    较好的文章:https://www.anquanke.com/post/id/241239[https://www.anquanke.com/post/id/241239]h...

  • ceph较好的文章

    介绍读流程: http://bean-li.github.io/ceph-read-flow/[http://bean-li.github.io/ceph-read-flow...

  • rgw配额控制

    配额有用户级别的控制,也有bucket级别的限制,其中用户分为对该用户下每个bucket的控制,也有总的控制 当有bucket级别的配额控制,又用用户级别的控制的时候,以bu...

  • cephadm部署

    背景 自从用了cephadm部署之后,很多工具使用与以前不同。 相关命令 配置文件通过中心化数据库配置,参考配置数据库[https://documentation.suse....

  • dmclock理解

    参考资料 中文博客[//www.greatytc.com/p/35dc8e47f277]视频讲解[https://www.youtube.com/watch?v=D...

  • rgw元数据同步流程

    步骤 RGWMetaSyncProcessorThread, 最开始从这个线程开始 RGWMetaSyncStatusManager.run() thread 调用该接口开启...

  • clangd安装

    背景 vscode依赖clangd服务做代码解析、跳转, 然而centos7上对预编译的二进制clangd支持不友好,提示GLIBC_2.18 not found 解决方式 ...

  • ceph rgw 中租约分析

    1、租约意义 sharding需要同步,但是这里rgw是无状态的,因此有多个rgw,到底哪个rgw负责实施同步流程,需要一个机制来保证只有唯一一个rgw来实施,否则就会导致数...

  • 120
    radosgw的multisite元数据不同步问题分析

    1 现象 在一个机房里面创建bucket之后再另外的机房一直不能同步, 命令radosgw-admin sync status 发现一直有个40 sharding behin...

  • 120
    ceph编译

    背景 想要修改或者调试ceph代码,编译代码是少不了的。一些升级工作,也是需要替换二进制,从而需要编译。 步骤do_cmake.sh 1 首先下载代码 参考https://g...

  • redis缓存一致性思考

    背景 现在主流的缓存加速都用的redis, 但是redis不负责持久化, 往往需要mysql或者其它持久化数据库来配合, 这就带来一个问题:如何保持两边数据的一致性。 设计 ...

  • 再读raft

    背景 raft以前看过, 认为自己懂了, 偶尔再回忆又发现不懂了, 感觉还是没看到本质, 再做下简单总结。 是什么 raft实际是日志复制一致性算法,特别是当服务器宕机之后仍...

  • ceph srub 调整

    1 背景 经过测试发现scrub比较影响性能,所以想降低scrub对线上业务的影响,基本策略是选择业务低峰期进行scrub,且降低scrub的速率 2 调参 设置凌晨2点到4...

  • 分布式定时器的设计

    1、背景 如何设计一个分布式定时器服务 2、设计 2.1、版本v1 设计:所有服务都轮训所有的任务,但是为了避免重复,执行每个任务的时候都会获取对应的锁,获取到的执行,没获取...

  • 120
    ceph crush论文分析

    1、题目 CRUSH: Controlled, Scalable, Decentralized Placement of Replicated Data, 翻译为"可控的,可...

  • 120
    ceph rgw 双活数据同步

    设计 线程模型是什么样的?答: 一个zone对应一个线程, 参考int RGWRados::init_complete() -> RGWDataSyncProcessorTh...

  • 120
    ceph-perf源码分析

    1、类图 2、分析 2.1、指标 couter只增不减,除非系统重置,反应速率 gauge可增可减,反应当前状态,例如内存大小 histogram 是统计图,例如统计延迟,统...

  • 120
    ceph日志代码分析

    1 类结构 2 流程 Log在CephContext构造函数里面进行构造 Log::m_subsys由配置构建,Option::subsys>=0来控制是否是日志系统的等级设...