ceph 目录说明
1 根目录
- src :各功能某块的源代码
- qa :各个模块的功能测试(测试脚本和测试代码)
- wireshark : wireshark 的 ceph 插件 。
- admin :管理工具,用于架设文档服务器等
- debian :用于制作 debian(Ubuntu)安装包的相关脚本和文件
- doc :用于生成项目文档,生成结果参考< http://ceph.com/docs/master/>
- man :ceph 各命令行工具的 man 文件
- configure.ac:用于生成 configure 的脚本
- Makefile.am:用于生成 Makefile 的脚本
- autogen.sh:负责生成 configure。
- do_autogen.sh:生成 configure 的脚本,实际上通过调用 autogen.sh 实现
- ceph.spec.in:RPM 包制作文件
2 src 目录
- include:头文件,包含各种基本类型的定义,简单通用功能等。
- common:共有模块,包含各类共有机制的实现,例如线程池、管理端口、节流阀等。
- log:日志模块,主要负责记录本地 log 信息(默认/var/log/ceph/目录)
- global:全局模块,主要是声明和初始化各类全局变量(全局上下文)、构建驻留进程、信号处理等。
- auth:授权模块,实现了三方认知机制。
- crush:Crush 模块,Ceph 的数据分布算法
- msg:消息通讯模块,包括用于定义通讯功能的抽象类 Messenger 以及目前的实现 SimpleMessager
- messages:消息模块,定义了 Ceph 各节点之间消息通讯中用到的消息类型。
- os:对象(Object Store)模块,用于实现本地的对象存储功能,
- osdc:OSD 客户端(OSD Client),封装了各类访问 OSD 的方法。
- mon:mon 模块
- osd:osd 部分
- mds:mds 模块
- rgw:rgw 模块的
- librados:rados 库模块的代码
- librdb:libbd 库模块的代码
- client:client 模块,实现了用户态的 CephFS 客户端
- mount:mount 模块
- tools:各类工具
- test:单元测试
- perfglue:与性能优化相关的源代码
- json_spirit:外部项目 json_spirit
- leveldb:外部项目 leveldb from google
- gtest:gtest 单元测试框架
- doc:关于代码的一些说明文档
- bash_completion:部分 bash 脚本的实现
- pybind:python 的包装器
- script:各种 python 脚本
- upstart:各种配置文件