在之前写的《ceph-ansible安装部署指南(centos-7.6)》中,主要是直接使用社区发布的release版本,进行部署与安装。但大部分情况是,开发人员自己进行了二次开发或其他代码修改,那每次部署时还使用社区发布的版本部署后再手动替换就很不方便。所以本文档针对这种自编译的Ceph工程提供编译和部署的方式和说明。
首先确定环境可以正常编译Ceph代码,确定方法就是直接在Ceph代码中运行:
bash install-deps.sh
将所有需要安装的依赖都装成后,运行:
bash do_cmake.sh
生成build目录未报错,说明依赖均已安装完成,可以开始下面的rpm编译和部署过程。
部署的版本号是拿社区v14.2.20为例,实际编译时版本号可以修改为其它,主要是需要ceph.spec文件。
<一> 编译rpm包
一、 获取版本信息
下载:
wget https://download.ceph.com/tarballs/ceph-14.2.20.tar.gz
解压后,获取ceph.spec文件。
二、 获取源码
源码可以直接使用我们自己维护的Ceph代码:
git clone XXXXX
三、 安装依赖
安装rpmbuild需要的依赖:
yum install gcc make python-devel openssl-devel graphviz autoconf automake rpm-build redhat-rpm-config libtool
四、 创建rpmbuild目录结构
mkdir rpmbuild/{
BUILD,SOURCES,SPECS,RPMS,BUILDROOT} –pv
或直接rpmdev-setuptree。
五、 压缩代码为bz2包
tar jcvf ceph-14.2.20.tar.bz2 ceph-14.2.20/
六、 拷贝ceph.spec到rpmbuild/SPEC中
七、 拷贝ceph-14.2.20.tar.bz2到rpmbuild/SOURCE中
八、 开始编译及生成rpm包
rpmbuild -ba ~/rpmbuild/SPECS/ceph.spec
生成的rpm包均在rpmbuild/RPMS下。
<二> 使用ceph-ansible部署自编译rpm包
一、 挂载源目录
A、在某个非ceph节点的机器根目录下,新建mgtv_ceph_source等一系列目录:
mkdir –p /mgtv_ceph_source/rpm-nautilus/el7
B、将编译好的rpm包,放到/mgtv_ceph_source/rpm-nau


697

被折叠的 条评论
为什么被折叠?



