摘要
如果想继续深入的了解ceph,就必须亲手去调试ceph的代码。当我们不断的修改ceph的代码或者添加调试的代码时,就要学会编译ceph代码,而且要学会搭建ceph的测试调试环境。 参考博客:http://blog.163.com/yandong_8212/blog/static/132****142****12****10857/
环境说明:
root@test3:~# cat /proc/version Linux version 3.13.0-32-generic (buildd@kissel) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014
一、源码下载
准备下载ceph的源代码 ,初学者尽量在官网下载,如果在git上下载有时可能会缺少文件,导致编译不通过。
二、编译源码
2.1. 下载源码后,将源码包(ceph-0.94.3.tar.gz)导入到 虚拟机中,然后解压源码包
root@cci-test3:~/blog#:tar -xvf ceph-0.94.3.tar.gz ............................................. ceph-0.94.3/config.sub# ceph-0.94.3/py-compile ceph-0.94.3/README root@cci-test3:~/blog# ls ceph-0.94.3 ceph-0.94.3.tar.gz root@cci-test3:~/blog#
2.2 安装ceph需要依赖的的库
root@cci-test3:~/blog#apt-get install autotools-dev autoconf automake cdbs
gcc g++ git libboost-dev libedit-dev libssl-dev libtool libfcgi libfcgi-dev
libfuse-dev linux-kernel-headers libcrypto++-dev libcrypto++ libexpat1-dev
pkg-configroot@cci-test3:~/blog#:
2.3 安装库完成后,进入ceph源码根目录
root@cci-test3:~/blog/ceph-0.94.3#:./autogen.sh ................... root@cci-test3:~/blog/ceph-0.94.3#:./configure ............... root@cci-test3:~/blog/ceph-0.94.3#: make -j5 .......... root@cci-test3:~/blog/ceph-0.94.3#:
编译成功,这个编译的时间会持续的比较久
2.4.编译代码结束后,进入src目录
ceph-0.94.3/src/#:MON=1 MDS=0 ./vstart.sh -d -n -x...... ceph-0.94.3/src/#:./ceph -s*** DEVELOPER MODE: setting PATH,
PYTHONPATH and LD_LIBRARY_PATH *** cluster 05f0dc34-4a98-498a-9e89-06decaba704c health HEALTH_OK monmap e1: 1 mons at {a=192.168.138.95:6789/0} election epoch 2, quorum 0 a osdmap e9: 3 osds: 3 up, 3 in pgmap v2689: 8 pgs, 1 pools,
0 bytes data, 0 objects
54178 MB used, 48713 MB / 105 GB avail 8 active+clean root@cci-test3:~/blog/ceph-0.94.3/src/#
2.5 调试集群已经启动成功,可以使用命令停止集群
root@cci-test3:~/blog/ceph-0.94.3/src/# ./stop.sh
2.6 接下来就可以更改代码了,修改代码后可以重新编译,然后启动集群。
查看编译后的集群。
osd目录:~/blog/ceph-0.94.3/src/dev/ log目录:~/blog/ceph-0.94.3/src/out/
总结:按着上面的步骤修改代码调试代码就很方便了,大家可以放开手脚去
调试测试代码了。接下来会深入代码去分析,敬请期待
adapted from ceph中国社区源码群@小江