文档章节

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

一只小江
 一只小江
发布于 2015/10/10 17:28
字数 627
阅读 2432
收藏 2

准备一台机器:

 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源码

准备下载ceph的源代码 http://ceph.com/resources/downloads/,初学者尽量在官网下载,如果在git上下载有时可能会缺少文件,导致编译不通过。

二、编译源码

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. 安装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-config
root@cci-test3:~/blog#:

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#:

编译成功,这个编译的时间会持续的比较久

4. 编译代码结束后,进入src目录

root@cci-test3:~/blog/ceph-0.94.3/src/#:MON=1 MDS=0 ./vstart.sh -d -n -x
......
root@cci-test3:~/blog/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/#

  5. 调试集群已经启动成功,可以使用命令停止集群

root@cci-test3:~/blog/ceph-0.94.3/src/# ./stop.sh

  6. 接下来就可以更改代码了,修改代码后可以重新编译,然后启动集群。查看编译后的集群。

osd目录:~/blog/ceph-0.94.3/src/dev/
log目录:~/blog/ceph-0.94.3/src/out/

 

总结:按着上面的步骤修改代码调试代码就很方便了,大家可以放开手脚去调试测试代码了。接下来会深入代码去分析,敬请期待

© 著作权归作者所有

一只小江
粉丝 102
博文 21
码字总数 51352
作品 0
杭州
程序员
私信 提问
加载中

评论(6)

zhangwenyu
zhangwenyu
你好,你这是不用安装吗?直接编译之后就模拟一个ceph的环境?
一只小江
一只小江 博主

引用来自“安静美男子”的评论

嗯,明白。只会编译修改过的文件。我以为要全部编译一次,非常感谢。另我看您源码中有些类图,是自己画的还是代码分析工具分析的。思路很是清晰
是 自己 看懂之后 画出来的
安静美男子
安静美男子
嗯,明白。只会编译修改过的文件。我以为要全部编译一次,非常感谢。另我看您源码中有些类图,是自己画的还是代码分析工具分析的。思路很是清晰
一只小江
一只小江 博主

引用来自“安静美男子”的评论

您好!请教一个问题,修改源码后编译怎么选择性编译呢?
你指的是 修改了某个文件 怎么对这个文件相关的和引用文件重新编译? 使用makefile 的编译方法,会自动选择性的编译那些修改过的文件和引用文件,没有变化的文件是不会再次编译的。所以编译的时候仍然可使用 make -j。使用该命令编译的时候注意输出,可以看到只编译了修改的文件和引用的文件。使用make -j5 这样的命令 可以明显的看出 第二次编译 比第一次编译快很多,就是因为第一次编译为全编译,第二次编译只编译的改变的文件。
安静美男子
安静美男子
您好!请教一个问题,修改源码后编译怎么选择性编译呢?
西昆仑
西昆仑
Hi, 你也在研究ceph哈,有空可以加我QQ一起讨论:644657055
ceph源代码部署测试环境

一、下载ceph源代码。 由于通过源代码编译、安装并部署ceph,所以通常从github上下载ceph源代码。 #git clone https://github.com/ceph/ceph.git 二、编译ceph源代码。 最好不要在git的maste...

linuxhunter
2016/06/03
990
1
Ceph编译安装教程

Ceph官方版本目前支持的纠删码很有限,实验室这块希望能够整合我们自主开发的纠删码BRS(Binary Reed–Solomon encoding),所以需要编译Ceph环境。Ceph官方目前推荐的安装方式都是通过Ceph-...

LeeHappen
2017/12/01
0
0
tcmu+librbd ISCSI

tcmu+librbd环境搭建 1.环境 升级内核要求>=4.4.8 备注:解决 targetcoreuser.h 头文件缺失问题 2.安装依赖 2.1 ceph相关 2.1 其他依赖 2.TCMU-runner编译安装 2.1 获取源码 2.2 编译安装 2....

banwh
2018/01/09
217
0
linux环境下kafka的搭建

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 https://blog.csdn.net/changyinling520/article/details/99228607 一.kafka基本实现配置 准...

火腿编程
08/11
0
0
ceph编译(二)

参考:https://my.oschina.net/linuxhunter/blog/682013 一、克隆ceph源码:git clone https://github.com/ceph/ceph.git 完成后进入ceph源码目录 cd ceph。 二、克隆ceph源码的子模块,否则...

zrz11
2016/12/12
187
0

没有更多内容

加载失败,请刷新页面

加载更多

centos7查看修改时区

1、timedatectl查看时间各种状态: image.png 2、timedatectl list-timezones: 列出所有时区 3、timedatectl set-local-rtc 1 将硬件时钟调整为与本地时钟一致, 0 为设置为 UTC 时间 4、tim...

xiaomin0322
28分钟前
4
0
重新开始学Java——File And Streams

注意:这里仅仅描述了基本的使用方法,并没有涉及到NIO中的东西,有关于NIO方面的东西,放到之后的博客中描述。RandomAccessFile放到之后再进行描述 File 在文件系统中,文件名是用于定位存储...

大家都是低调来的
34分钟前
4
0
利用Python+plotly制作接口请求时间的violin图表

本人在做接口测试的过程中,每次请求接口时都会自己计算一个请求时间存在数据库里,时间一长积累了很多数据,在学习Python+plotly进行数据可视化后,终于对接口请求时间这个数据进行了处理,...

八音弦
34分钟前
4
0
阿里P8Java架构师手把手带你玩转Docker实战。

Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,...

Java技术剑
39分钟前
8
0
记安全测试那些事

安全测试又来了。。。。。 第一次 登录请求 要求登陆过一次不能重复登录 跟测试杠了好久 还是按照人家要求改了。 这次 安全测试更多的都是一些 遗漏的问题 开发环境都没配置 加上就好了。 1....

起名字什么的太麻烦了
43分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部