Ceph调试开发环境搭建

编程入门 行业动态 更新时间:2024-10-09 11:28:07

Ceph调试开发<a href=https://www.elefans.com/category/jswz/34/1771403.html style=环境搭建"/>

Ceph调试开发环境搭建

一、相关依赖包安装

1. 安装依赖包

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.安装调试依赖包

yum install  lttng-tools* lttng-ust* lttng*

3.下载源码

wget .2.2.orig.tar.gz

二、源码编译

1.解压ceph

tar xvf ceph_12.2.2.orig.tar.gzcd ceph_12.2.2

2. 安装官方依赖包

./install-deps.sh
./run-make-check.sh

3. 开始编译

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

三、测试环境部署

1. 启动开发集群

#此处有一个非常大的坑,折腾了半天。
#必须在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. 停止开发集群

#启动开发集群
cd build
../src/stop.sh all

3. 运行单元测试

cd build
make check

四、源码分析工具

1. gdb

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

#待续

2.lttng

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

#待续

3.systemtap

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

#待续

更多推荐

Ceph调试开发环境搭建

本文发布于:2024-02-27 15:45:34,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1707194.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:环境   Ceph

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!