1、在github下载ceph源码:java
git clone --recursive https://github.com/ceph/ceph.git
下载ceph的其余子模块,不然在编译过程当中会出现缺乏库python
git submodule update --force --init --recursive
进入ceph源码目录,git checkout jewel切换到jewel版本。git
注:在ceph官网下载的tar.gz包缺乏文件,用git clone下载的ceph包比较全。github
2、在ceph目录里运行install-deps.sh文件,下载依赖文件。网络
3、ceph编译有两种方式,一种是运行autogen.sh后接着运行configure,接着运行make编译,编译完成后用make install安装。还有一种方式是直接编译成deb包,我选择的是后一种编译方式。ui
依次运行一下命令。ip
apt-get install dpkg-dev
dpkg-checkbuilddeps
dpkg-buildpackageget
ceph编译过程须要很长时间,须要在4核16G的以上的主机进行编译,不然在编译过程当中会出现空间不足的问题。编译完后会在上层目录生成deb包源码
ceph_10.2.3-1_amd64.changes ceph-mon_10.2.3-1_amd64.deb librados2-dbg_10.2.3-1_amd64.deb python-rados_10.2.3-1_amd64.deb
ceph_10.2.3-1_amd64.deb ceph-mon-dbg_10.2.3-1_amd64.deb librados-dev_10.2.3-1_amd64.deb python-rbd_10.2.3-1_amd64.deb
ceph_10.2.3-1.dsc ceph-osd_10.2.3-1_amd64.deb libradosstriper1_10.2.3-1_amd64.deb radosgw_10.2.3-1_amd64.deb
ceph_10.2.3-1.tar.gz ceph-osd-dbg_10.2.3-1_amd64.deb libradosstriper1-dbg_10.2.3-1_amd64.deb radosgw-dbg_10.2.3-1_amd64.deb
ceph-base_10.2.3-1_amd64.deb ceph-resource-agents_10.2.3-1_amd64.deb libradosstriper-dev_10.2.3-1_amd64.deb rbd-fuse_10.2.3-1_amd64.deb
ceph-common_10.2.3-1_amd64.deb ceph-test_10.2.3-1_amd64.deb librbd1_10.2.3-1_amd64.deb rbd-fuse-dbg_10.2.3-1_amd64.deb
ceph-common-dbg_10.2.3-1_amd64.deb ceph-test-dbg_10.2.3-1_amd64.deb librbd1-dbg_10.2.3-1_amd64.deb rbd-mirror_10.2.3-1_amd64.deb
ceph-fs-common_10.2.3-1_amd64.deb libcephfs1_10.2.3-1_amd64.deb librbd-dev_10.2.3-1_amd64.deb rbd-mirror-dbg_10.2.3-1_amd64.deb
ceph-fs-common-dbg_10.2.3-1_amd64.deb libcephfs1-dbg_10.2.3-1_amd64.deb librgw2_10.2.3-1_amd64.deb rbd-nbd_10.2.3-1_amd64.deb
ceph-fuse_10.2.3-1_amd64.deb libcephfs-dev_10.2.3-1_amd64.deb librgw2-dbg_10.2.3-1_amd64.deb rbd-nbd-dbg_10.2.3-1_amd64.deb
ceph-fuse-dbg_10.2.3-1_amd64.deb libcephfs-java_10.2.3-1_all.deb librgw-dev_10.2.3-1_amd64.deb
ceph-mds_10.2.3-1_amd64.deb libcephfs-jni_10.2.3-1_amd64.deb python-ceph_10.2.3-1_amd64.deb
ceph-mds-dbg_10.2.3-1_amd64.deb librados2_10.2.3-1_amd64.deb python-cephfs_10.2.3-1_amd64.debit
4、上面的deb包制做成本地源用apt-get安装的时候会提示ceph-mon、ceph-osd、ceph-mds缺乏依赖安装不上,缘由是上面编译制做的包有些依赖还须要别的deb包,能够在在网络上下载相关包后,再制做本地源。