ceph版本:
~$ ceph --version
ceph version 12.2.11 (26dc3775efc7bb286a1d6d66faee0ba30ea23eee) luminous (stable)
我们知道安装完ceph后,它的配置文件在/etc/ceph/ceph.conf. 用户可以通过ceph-config -D命令来dump出所以的配置参数。
那么从源码哪里可以看到它的所有配置参数值?是XML文件吗?一起来看看。
答案是在src/common/options.cc里,这个7千3多行代码的C++文件里。要改默认值你就得编译,这是它的设计,用户自己配置在/etc/ceph/ceph.conf的值优先覆盖options.cc里的默认值。
这个文件里封装的API主要有下面几个(从名字里能理解这块的参数是哪个section的):
而build_options()负责调用上面的所有API组建一个完整的Ceph参数列表:
现在,我们来看一个例子,osd_objectstore的定义:luminous版本里它的默认值是filestore
如果想知道src下的每个目录大概做什么,请参考:Ceph 进阶系列(一):Ceph源代码目录结构详解