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

用git clone代码导出的v14.2.22版本可能子模块不全,导致后边编译不通过。可以直接下载代码。

下载地址:https://mirrors.aliyun.com/ceph/debian-nautilus/pool/main/c/ceph/ceph_14.2.22.orig.tar.gz

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

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 cherrypycd ceph/build
MON=1 OSD=6 MDS=1 MGR=1 RGW=1 ../src/vstart.sh -d -n -x

问题:Module 'dashboard' has failed dependency: cannot import name _bcrypt

参考:记录一下升级Python3.9.0后 cannot import name ‘_bcrypt‘ from partially initialized module ‘bcrypt‘的问题_泪寒雪的博客-CSDN博客

执行命令:

pip install --upgrade bcryptcd ceph/build
MON=1 OSD=6 MDS=1 MGR=1 RGW=1 ../src/vstart.sh -d -n -x

输出:

将dashboard urls即https://192.168.226.139:41113拷贝到谷歌浏览器,输入用户名密码:admin/admin,即可看到视图。

配置部署成功。

查看状态 bin/ceph -s

6.调试

参考:

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博客

Ceph源码编译和调试vstart版本(一)相关推荐

  1. Ceph源码编译和调试之vstart方式

    存储系统:ceph-14.2.22 操作系统:ubuntu-server-18.04 前言 调试ceph源码需要提前部署好一个完整的集群,部署集群的方法很多,比如:通过ceph源码自带的vstart脚 ...

  2. 【flink】Flink源码编译:Flink1.11+版本编译及部署

    1.概述 转载:Flink源码编译:Flink1.11+版本编译及部署

  3. 下载AOSP源码编译、调试、刷机

    一.准备工作 系统最好是Linux或者mac OS(本文基于Ubuntu). Ubuntu设置永不休眠,在setting中搜索power.blank-screen选择never. 一块大一点儿的硬盘, ...

  4. Mysql源码编译和调试debug

    下载源码 直接从github 上下载了源码.git 地址:https://github.com/mysql/mysql-server 下载路径如:/work/mysql-server 编译 依赖 ma ...

  5. OpenCPN + Ubuntu 18.04 源码编译 + Codeblocks 调试 + wxFormBuilder 安装

    OpenCPN + Ubuntu 18.04 源码编译 文章目录 一.参考资料 二.源码编译流程 三.利用 IDE 编译 四.利用 IDE 调试 四.测试界面开发工具 一.参考资料 OpenCPN - ...

  6. Win7+VS2010:mysql 源码编译与调试

    win7+vs2010源码编译mysql 最近由于在实习,工作重点在于一些数据库的开发,为了更好的理解数据库的实现机制,目前萌生了要研究一下mysql数据库源码的想法.那么好吧,说干就干,首先我们需要 ...

  7. CentOS7 源码编译安装NodeJS 最新版本Shell脚本

    1,环境: 操作系统   CentOS Linux release 7.6.1810 (Core) 服务器环境   "腾讯云"服务器 cat /etc/centos-release ...

  8. 【MySQL】ubuntu16.04安装mysql,然后源码编译Qt5.12.4版本的libqsqlmysql.so

    一.Ubuntu16.04.5 安装 MySQL 1.使用apt命令安装 sudo apt install mysql-server 安装过程会提示,推荐设置MySQL的root用户密码(注意:这里r ...

  9. 可视化工具VisIt源码编译教程(Windows,图文讲解)

    我新建了一个VisIt软件的交流qq群:1169585995,欢迎大家加入一起交流,一起学习! 所用软件及其版本 用于源码编译的软件及版本如下: Windows版本:win10 VisIt版本:vis ...

最新文章

  1. js和Java分别正则匹配小数点后多余的0
  2. 对高并发流量控制的一点思考 推荐
  3. python 多继承的问题
  4. 前端系统化学习【JS篇】:(四-3)基本数据类型之Boolean篇
  5. 性能测试的需求如何确定
  6. 随手记_C++常考面试题
  7. inode客户端 linux,Ubuntu 11.10 H3C iNode 客户端下载及安装图解
  8. 联邦学习 OR 迁移学习?联邦迁移学习不香吗
  9. html同页框架间本地信息传递,[MUI] mui框架实现页面间传值
  10. django相关报错知识整理
  11. python葡萄酒数据集_葡萄酒质量数据集分析
  12. 基于事件触发的二阶多智能体领导跟随一致性
  13. 计算机知识与技能竞赛配图,“高教杯”全国大学生先进制图技术与技能大赛
  14. 三相电网的共模与差模
  15. 高效程序猿的狂暴之路
  16. mac 开启终端代理
  17. 1181: 零起点学算法88——偶数求和(C语言)
  18. [转]60个英文阅读网站强力推荐
  19. (reply-code=406, reply-text=PRECONDITION_FAILED - unknown delivery tag 1, class-id=60, method-id=80)
  20. 策略死守“传统数据”招招落于人后?-也许您需要另类数据

热门文章

  1. 地理信息系统的雷达回波图
  2. [状态更新]MSE三个月快速复习计划,成功考上复旦软工
  3. 主流七款web服务器软件点评,7款主流WEB服务器软件.pdf
  4. VMware VCSA 8.0 Install
  5. Redis系列(三)-Redis哨兵模式(一篇文章让你全面的了解reids哨兵模式)
  6. Hive列转行 (Lateral View + explode)详解
  7. Vegas如何使用透明图像作遮罩?
  8. 中国市场的三因子模型简单实践(1)_基于python(简单使用)
  9. 带你读懂测绘4D产品
  10. 常用计算机的外部接口,笔记本电脑常见的外部接口及作用介绍