从GitHub上Clone Ceph项目,其(ceph version 12.2.11 luminous 版本)目录下主要文件夹和文件的内容介绍如下:

1、一级根目录

[admin]:管理工具,用于架设文档服务器等

[debian]:用于制作debian(Ubuntu)安装包的相关脚本和文件

[doc]:用于生成项目文档,生成结果参考http://ceph.com/docs/master/

[examples]:librados和librdb的helloworld例子

[man]:ceph各命令行工具的man文件

[qa]:各个模块的功能测试(测试脚本和测试代码)

[src]:各功能某块的源代码

2、二级src目录

[auth]:授权模块,实现了三方认知机制。

[client]:client模块,实现了用户态的CephFS客户端

[common]:共有模块,包含各类共有机制的实现,例如配置参数文件options.cc、线程池的相关文件thread.cc、bufferlist、Mutex、节流阀Throttle.cc等。

[crush]:Crush模块,Ceph的数据分布算法

[global]:全局模块,主要是声明和初始化各类全局变量(全局上下文)、构建驻留进程、信号处理等。

[include]:头文件,包含各种基本类型的定义,简单通用功能等。

[kv]:4种kv DB(KVDB\MemDB\LevelDB\RocksDB)的调用接口

[librados]:rados库模块的代码[librdb]:libbd库模块的代码

[log]:日志模块,主要负责记录本地log信息(默认/var/log/ceph/目录)

[mds]:mds模块

[mon]:mon模块

[msg]:消息通讯机制Messenger模块,包括用于定义通讯功能的抽象类Messenger以及3个实现类SimpleMessager、xio、async

[messages]:消息类型定义message模块,定义了Ceph各节点之间消息通讯中用到的消息类型。

[mount]:mount模块

[os]:对象存储后端(Object Store)模块,用于实现本地的对象存储功能。有bluestore,filestore等的实现[osd]:osd节点接口,有OSDMap,PG,PrimaryLogPG,PGBackend, Session,SnapMapper等。[osdc]:OSD客户端(OSD Client),封装了各类访问OSD的方法。

[rbd_fuse]: 把 rbd映像(image)呈现为文件

[rbd_reply]: rbd-replay是一套用于捕获和重放Rados块设备(RBD)工作负荷的工具。

[rgw]:rgw对象存储接口模块

[tools]:各类工具

[test]:单元测试

ceph_mds.cc:驻留程序mds

ceph_mon.cc:驻留程序mon

ceph_osd.cc:驻留程序osd

libcephfs.cc:cephfs库

3、二级src目录下的重要文件夹关系图介绍:

Ceph 撸源码系列(一):Ceph开源项目源代码的关键目录介绍相关推荐

  1. 带着问题撸源码系列-zookeeper-临时节点[ephemeral]是怎么弄的?我写了一堆临时节点为啥我一掉线就全没了?

    问题 带着问题撸源码系列-zookeeper-临时节点[ephemeral]是怎么弄的?我写了一堆临时节点为啥我一掉线就全没了? 猜测 可能是有线程维护着,每个session有一个临时节点列表,一旦客 ...

  2. 推荐 7 个 Vue2、Vue3 源码解密分析的开源项目

    大家好,我是你们的 猫哥,那个不喜欢吃鱼.又不喜欢喵 的超级猫 ~ 1. 为什么要学习源码 ? 阅读优秀的代码的目的是让我们能够写出优秀的代码. 不给自己设限,不要让你周围人的技术上限成为你的上限.其 ...

  3. Android Hawk数据库的源码解析,Github开源项目,基于SharedPreferences的的存储框架

    今天看了朋友一个项目用到了Hawk,然后写了这边文章 一.了解一下概念 Android Hawk数据库github开源项目 Hawk是一个非常便捷的数据库.操作数据库只需一行代码,能存任何数据类型. ...

  4. ofo html源码,Github最火开源项目-一行代码实现ofo小黄车的引导界面

    自定义控件 联网 工具 数据库 源码分析相关面试题 Activity相关面试题 Service相关面试题 与XMPP相关面试题 与性能优化相关面试题 与登录相关面试题 与开发相关面试题 与人事相关面试 ...

  5. ril.java源码_RIL 重构  |  Android 开源项目  |  Android Open Source Project

    Android 7.0 通过一组功能对无线接口层 (RIL) 进行了重构,从而改进了 RIL 的功能.要实现这些功能,合作伙伴需要对代码进行更改:您可以自行决定是否更改,不过我们建议您进行更改.重构更 ...

  6. ceph bluestore源码分析:非对齐写逻辑

    文章目录 环境 原理说明 总结 环境 ceph:12.2.1 场景:ec 2+1 部署cephfs,执行如右写模式:dd if=/dev/zero of=/xxx/cephfs bs=6K count ...

  7. 使用rpmbuild对ceph的源码包进行重新打包

    进入ceph源码包下载ceph相关的rpm包和tar包 我们下载的是ceph-12.1.1-0.el7.src.rpmceph L版本的rpm包 执行命令rpmbuild --rebuild ceph ...

  8. 二、ceph编译源码、单机搭建调试环境

    2019独角兽企业重金招聘Python工程师标准>>> 准备一台机器: root@test3:~# cat /proc/version Linux version 3.13.0-32 ...

  9. 源码解读_入口开始解读Vue源码系列(二)——new Vue 的故事

    作者:muwoo 转发链接:https://github.com/muwoo/blogs/blob/master/src/Vue/2.md 目录 入口开始解读Vue源码系列(一)--造物创世 入口开始 ...

  10. Android 源码系列之二十通过反射解决在HuaWei手机出现Register too many Broadcast Receivers的crash

    转载请注明出处:http://blog.csdn.net/llew2011/article/details/79054457 Android开发适配问题一直是一个让人头疼的话题,由于国内很多厂商都有对 ...

最新文章

  1. IntelliJ IDEA 的 .idea 目录加入.gitignore无效的解决方法
  2. led灯光衰怎么解决_什么是LED光衰,光衰怎么解决?
  3. 企业新站上线应注意的几个问题
  4. NYOJ 734 奇数阶魔方
  5. 如何写windows系统已保护的内存区域
  6. iOS开发UI篇—字典转模型
  7. python数据透视、有的value不能同时输出_python – Pandas数据透视表ValueError:索引包含重复的条目,无法重新整形...
  8. fedora下一些问题的解决方案汇总
  9. python2多线程_python_并发编程——多线程2
  10. Base64(电子邮件传输算法)
  11. 关于Vista的AppInfo服务被禁的问题
  12. Python 量化投资实战教程(5) — A股回测KDJ 策略
  13. 年底互联网寒冬,裁员直线上升
  14. html的外部调用函数,如何在HTML中调用外部JavaScript函数
  15. 18-HTML标签的居中
  16. 第一次组装台式机记录
  17. Unbuntu22.04安装教程以及Unbuntu下C++环境的配置
  18. xxl-job定时任务
  19. Windows 10企业批量部署实战之WDS配置
  20. 华为路由器:虚拟路由冗余协议VRRP的讲解

热门文章

  1. jquery学习之$(document).ready()
  2. vs2012中EF6的BUG
  3. 采用nettcp绑定的wcf宿主到iis7
  4. c# wince 小技巧
  5. spring catch了异常还是回滚了_干货:Spring 踩坑之@Transactional 神奇失效
  6. Cloudera Manager 5.9 和 CDH 5.9 离线安装指南及个人采坑填坑记
  7. 【内购篇】5 分钟教你成为会赚钱的独立开发者
  8. Confluence 6 附件存储配置
  9. python—多进程的消息队列
  10. sqlite3 命令行操作