前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ceph调试开发环境搭建

Ceph调试开发环境搭建

作者头像
Lucien168
发布2020-07-20 11:11:56
1.5K0
发布2020-07-20 11:11:56
举报
文章被收录于专栏:分布式存储分布式存储

一、相关依赖包安装

1. 安装依赖包

代码语言:javascript
复制
yum install  libtool  gcc gcc-c++  libuuid-devel   keyutils-libs-devel  libblkid-devel   redhat-lsb   libedit-*
 
yum  install libatomic_ops-devel snappy-devel leveldb-devel   libudev-devel  cryptopp-*  fuse-devellibaio-devel xfsprogs-devel  automake autoconf boost-devel   expat-devel

2.安装调试依赖包

代码语言:javascript
复制
yum install  lttng-tools* lttng-ust* lttng*

3.下载源码

代码语言:javascript
复制
wget http://download.ceph.com/tarballs/ceph_12.2.2.orig.tar.gz

二、源码编译

1.解压ceph

代码语言:javascript
复制
tar xvf ceph_12.2.2.orig.tar.gzcd ceph_12.2.2

2. 安装官方依赖包

代码语言:javascript
复制
./install-deps.sh
./run-make-check.sh

3. 开始编译

代码语言:javascript
复制
#编译源码是个漫长的过程,根据机器配置指定。如果是虚拟机可能需要好几个小时。还会出现各种依赖包缺失的情况,非常耗时。
 
mkdir build
cd build
cmake ..
make -j40 (可以多核编译加快编译速度)
make install

三、测试环境部署

1. 启动开发集群

代码语言:javascript
复制
#此处有一个非常大的坑,折腾了半天。
#必须在build目录下面执行启动脚本,否则一直报缺少libec_jerasure.so,即使配置到系统变量里面也不行。
load dlopen(/libec_jerasure.so): /libec_jerasure.so: cannot open shared object file: No such file or directory
 
#启动开发集群
cd build
MON=1 MDS=0 OSD=3  ../src/vstart.sh -d -n -x
 
参数说明:
        -m 指出monitor节点的ip地址和默认端口6789;
        -n 指出此次部署为全新部署;
        -d 指出使用debug模式(便于调试代码);
        -r 指出启动radosgw进程;
        --mon_num 指出部署的monitor个数;
        --osd_num 指出部署的OSD个数;
        --mds_num 指出部署的MDS个数;
        --bluestore 指出ceph后端存储使用最新的bluestore;

2. 停止开发集群

代码语言:javascript
复制
#启动开发集群
cd build
../src/stop.sh all

3. 运行单元测试

代码语言:javascript
复制
cd build
make check

四、源码分析工具

1. gdb

擅长做精细化的调试。比如查看变量内容,查看内存内容,条件断点等。

2.lttng

ceph自带,兼容性好。适当的时候可以打印关键变量内容

3.systemtap

擅长分析代码流程,打印函数调用关系,不需要修改源码,据说还能分析性能瓶颈

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、相关依赖包安装
    • 1. 安装依赖包
      • 2.安装调试依赖包
        • 3.下载源码
        • 二、源码编译
          • 1.解压ceph
            • 2. 安装官方依赖包
              • 3. 开始编译
              • 三、测试环境部署
                • 1. 启动开发集群
                  • 2. 停止开发集群
                    • 3. 运行单元测试
                    • 四、源码分析工具
                      • 1. gdb
                        • 2.lttng
                          • 3.systemtap
                          领券
                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档