Ceph在Ubuntu下编译打包

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

准备

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

下载源码

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

git clone git@github.com:ceph/ceph

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

git submodule update --init --recursive

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

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

http://ceph.com/resources/downloads/

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

这次我编译的是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-06decaba704c
     health HEALTH_OK
     monmap e1: 1 mons at {a=192.168.138.95:6789/0}
            election epoch 2, quorum 0 a
     osdmap e9: 3 osds: 3 up, 3 in
      pgmap v2689: 8 pgs, 1 pools, 0 bytes data, 0 objects
            54178 MB used, 48713 MB / 105 GB avail
                   8 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
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ceph是一个分布式存储系统,可以提供高性能、可靠性和可扩展性的存储解决方案。Ceph的文件系统(CephFS)是其核心组件之一,可以提供类似传统文件系统的访问方式。 要搭建CephFS,首先需要从源码编译Ceph。以下是一个大致的步骤: 1. 下载Ceph源码:可以从Ceph官方网站上获取源码的压缩包,也可以通过Git从Ceph的代码仓库中克隆最新的源码。 2. 安装依赖项:编译Ceph需要一些依赖项,如CMake、GCC、Python等。确保这些依赖项已经安装在系统中。 3. 配置编译选项:进入Ceph源码目录,运行命令"CMake ."来生成编译脚本。可以根据需要配置编译选项,例如启用CephFS支持。 4. 编译源码:运行命令"make -j"进行编译,"-j"选项可以并行编译以加快编译时间。 5. 安装二进制文件:编译完成后,运行命令"sudo make install"将二进制文件安装到系统路径中。 6. 配置Ceph集群:在搭建CephFS之前,需要先配置一个Ceph集群。这包括设置监视器(Monitor)和存储后端(OSD),以及创建认证密钥等。 7. 创建CephFS:在Ceph集群配置完成后,可以通过命令"ceph fs new cephfs_data metadata"来创建一个名为cephfs_data的CephFS。这将在集群中的一个数据池中创建CephFS的元数据。 8. 挂载CephFS:在创建CephFS后,可以使用命令"sudo mount -t ceph <MONITOR_IP>:6789:/ /path/to/mount"将CephFS挂载到本地文件系统中。将<MONITOR_IP>替换为Ceph监视器的IP地址。 通过以上步骤,您应该能够成功编译和搭建CephFS。然后,您可以通过CephFS提供的类似传统文件系统的API和工具来管理和访问分布式存储。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值