楔子:之前写过一份源码部署(QQ群 72651441 里有),但是ceph12版本编译完全变了,并且之前的部署方式也不能适应bluestore。
一,源码编译准备工作
1, 下载源码
官网下载地址为:
此次我们用的版本是ceph-12.0.1版本,操作系统为redhat7.1。
这里建议从官方网站上下载源码,而不是在github上git clone源码,经过本人测试git clone下来的源码会造成部分缺失,产生编译错误。
把源码通过ssh把源码上传到linux服务器解压。(注意:一定要上传后解压,而不是windows上解压后上传,不然编译的时候会出现文件权限问题)
2, 安装依赖包
yum install libtool gcc gcc-c++ libuuid-devel keyutils-libs-devel libblkid-devel redhat-lsb libedit-*
yum install libatomic_ops-devel snappy-devel leveldb-devel libudev-devel cryptopp-* fuse-devellibaio-devel xfsprogs-devel automake autoconf boost-devel expat-devel
如果需要分析源码最好把lttng也装一下,lttng需要的包为:
yum install systemd-devel-219-27.fc22.x86_64.rpm userspace-rcu-0.7.16-1.el7.x86_64.rpm userspace-rcu-devel-0.7.16-1.el7.x86_64.rpm lttng-tools-2.4.1-5.el7.x86_64.rpm lttng-ust-2.4.1-4.el7.x86_64.rpm lttng-ust-devel-2.4.1-4.el7.x86_64.rpm lttng-tools-devel-2.4.1-5.el7.x86_64.rpm lttng-ust-debuginfo-2.4.1-4.el7.x86_64.rpm
二,ceph编译
1, 把ceph-12.0.1.tar.gz解压到home目录下
2, 进入ceph源码的目录执行 mkdir build
3, 执行cd build
4, 执行 cmake . –LH 查看下ceph有哪些编译选项,根据自己的需要来选择
5, 这边我执行cmake ..-DWITH_LTTNG=OFF -DWITH_RDMA=OFF -DWITH_FUSE=OFF -DWITH_DPDK=OFF-DCMAKE_INSTALL_PREFIX=/usr 配置我的选项
6, 执行make –j8 编译源码
7, 执行make install 编译安装源码
三,源码的部署前的准备工作
由于老版本的mkcephfs在bluestore上不好用,这次我们选择手动部署,通过手动能了解部署的原理
1, 配置系统属性
关闭防火墙,做互信,做节