Ceph在Ubuntu下编译打包

编程入门 行业动态 更新时间:2024-10-08 13:34:17

<a href=https://www.elefans.com/category/jswz/34/1766153.html style=Ceph在Ubuntu下编译打包"/>

Ceph在Ubuntu下编译打包

概述
前几天在一台ubuntu测试机上进行了Ceph编译打包,过程也是相当揪心。记录一下过程,方便以后查阅。

准备

准备一台ubuntu机器,物理机虚拟机都行,但应该物理机好一点,在编译的时候可以使用多线程加速。

下载源码

第一种方式是在Github上下载源码

git clone git@github:ceph/ceph

这样下载源码不会下载Ceph的子模块,这样编译的时候会出现问题。
运行以下命令来安装这些子模块:

git submodule update --init --recursive

不知道为啥我电脑用git下载不了源码,所以这个方法自己没有亲身实践。

第二种方式是在官网下载源码

/

官网有个好处就是会将所有子模块一并下载下来,免除掉些许麻烦。

这次我编译的是Ceph-10.2.2版本。

安装依赖

现在Ceph都会自带install-deps.sh来安装所需要的依赖包。
如果出现问题,手动装也是能解决问题的。

sudo 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

若是之后过程中提示缺少什么包,手动安装就好了。

编译方法

在Github上或者自带文档上面都能看到编译方法,也很简单,就这三步,照着做就好了。

./autogen.sh
./configure
make

make的时候可以使用多线程来加速make -j4,可以把4换成你CPU的核数,这样会快些。

编译成功

编译完源码后,你可以启动一个开发模式的 Ceph 集群,命令如下:

cd src
install -d -m0755 out dev/osd0
./vstart.sh -n -x -l
# check that it's there
./ceph health

若是前面一切顺利的话,运行完就成功了。可以进入到编译的目录下去,开始运行测试集群:

root@cci-test3:~/blog/ceph-10.2.2/src/#:MON=1 MDS=0 ./vstart.sh -d -n -x
......
root@cci-test3:~/blog/ceph-10.2.2/src/#:./ceph -s
*** DEVELOPER MODE: setting PATH, PYTHONPATH and LD_LIBRARY_PATH ***cluster 05f0dc34-4a98-498a-9e89-06decaba704chealth HEALTH_OKmonmap e1: 1 mons at {a=192.168.138.95:6789/0}election epoch 2, quorum 0 aosdmap e9: 3 osds: 3 up, 3 inpgmap v2689: 8 pgs, 1 pools, 0 bytes data, 0 objects54178 MB used, 48713 MB / 105 GB avail8 active+clean
root@cci-test3:~/blog/ceph-10.2.2/src/#

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

./stop.sh

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

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

打包

Ubuntu下使用dpkg工具打包

sudo apt-get install dpkg-dev
dpkg-checkbuilddeps        # make sure we have all dependencies
dpkg-buildpackage

要是不出问题的话,慢慢等着就可以了,打包的过程不比编译的过程慢,我这里会先生成一个.dsc文件和源码的tar包,可以上官网看这个.dsc文件干嘛的,我也没去关心了。
最后面打包的结果如下,很多个deb包:

-rw-r--r-- 1 root root     16828 Oct 12 18:34 ceph_10.2.2-1_amd64.changes
-rw-r--r-- 1 root root    999078 Oct 12 17:26 ceph_10.2.2-1_amd64.deb
-rw-r--r-- 1 root root      3744 Oct 12 14:55 ceph_10.2.2-1.dsc
-rw-r--r-- 1 root root  66488177 Oct 12 14:55 ceph_10.2.2-1.tar.gz
-rw-r--r-- 1 root root  53079646 Oct 12 17:27 ceph-base_10.2.2-1_amd64.deb
-rw-r--r-- 1 root root  12683536 Oct 12 17:37 ceph-common_10.2.2-1_amd64.deb
-rw-r--r-- 1 root root 222737196 Oct 12 17:43 ceph-common-dbg_10.2.2-1_amd64.deb
-rw-r--r-- 1 root root   1020478 Oct 12 17:43 ceph-fs-common_10

更多推荐

Ceph在Ubuntu下编译打包

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

发布评论

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

>www.elefans.com

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