Ceph源码编译和调试vstart版本

Ceph源码编译和调试vstart版本,第1张

ceph调试环境及版本

  • ubuntu18.04
  • ceph v14.2.22

        ceph调试源码部署一个完整集群,使用ceph源码vstart脚本部署。

1.克隆源码仓库

git clone --recursive https://github.com/ceph/ceph.git

2.导出v14.2.22版本的ceph源码

git archive v14.2.22 | gzip > v14.2.22.tar.gz
mkdir v14.2.22
tar -zvxf v14.2.22.tar.gz -C ./v14.2.22

3.安装依赖库

屏蔽install-deps.sh以下两个地方

#*Bionic*)

#install_boost_on_ubuntu bionic

cd v14.2.22
./install-deps.sh

        error:

sudo rm -rf /var/lib/apt/lists/*

sudo apt-get update

重新执行./install-deps.sh

4、编译ceph源码。

4.1  开启debug模式

        修改ceph源码根目录下CMakeList文件,在set(VERSION 14.2.22)后添加

set(CMAKE_PREFIX_PATH "/root/src/ceph_v14_build")
set(CMAKE_BUILD_TYPE "Debug")
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -Wall -g -lpthread -lssl -lcrypto")
set(CMAKE_CXX_FLAGS "-O0 -Wall -g -lpthread -lssl -lcrypto")
set(CMAKE_C_FLAGS "-O0 -Wall -g -lpthread -lssl -lcrypto")

4.2  构建build目录:

执行./do-cmake.sh

执行./run-cmake-check.sh

4.3  编译:

cd build
#方式1:全部编译
make all -j4
#方式2:单独编译osd某块
make ceph-osd -j4
#查看所有模块
make help

5 集群部署

5.1  ceph部署开发集群脚本:vstart.sh   该脚本利用本地IP和不同端口配置MON、MGR、OSD等。在build目录下,部署新集群。

MON=1 OSD=6 MDS=1 MGR=1 RGW=1  ../src/vstart.sh -d -n  -x

参数解释:

MON、 OSD、 MDS、 MGR是配置相应的个数
-d:debug,开启debug模式
-n:new,新建一个集群
-x:cephx,cephx认证

        出现dashboard不能部署,

5.1.1 查看群状态,

bin/ceph -s

问题: 在health后边,Module 'dashboard' has failed  dependency:No module named 'cherrypy'

参考使用pip命令产生错误:[ModuleNotFoundError: No module named 'cherrypy'] - 大大大大大圣归来 - 博客园

未安装依赖的cherrypy,安装。

执行命令:pip install cherrypy

5.1.2 出现问题

        

         参考网页解决:python pip 错误 ModuleNotFoundError: No module named pip._internal 解决办法_whatday的博客-CSDN博客

        执行命令:

        

python -m pip install --upgrade pip
sudo apt install --fix-missing python3-pip
wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
python get-pip.py
rm get-pip.py
wget https://bootstrap.pypa.io/pip/3.6/get-pip.py
python get-pip.py
pip install cherrypy
pip3 install cherrypy

cd ceph/build
MON=1 OSD=6 MDS=1 MGR=1 RGW=1 ../src/vstart.sh -d -n -x

输出:

 配置部署成功。

查看状态 bin/ceph -s

 

参考:

Linux下Ceph源码编译和调试--vstart版本_siscte的博客-CSDN博客_ceph源码目录

Ceph调试开发环境搭建 - 云+社区 - 腾讯云

记一次ceph bug gdb调试 - 博客 - 编程圈

解决C++: fatal error: Killed signal terminated program cc1plus_lucky__peng的博客-CSDN博客

Prometheus升级指南 - 云+社区 - 腾讯云

如何在Ubuntu 16.04上安装Prometheus - 云+社区 - 腾讯云

Linux开机出现welcome to emergency mode! 解决方法after logging in ,type “journalctl -xb” to view system logs_萧然陈外的博客-CSDN博客

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/905415.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-15
下一篇2022-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存