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包,能夠在在網絡上下載相關包後,再製做本地源。