千家信息网

ceph源码安装的示例分析

发表于:2024-11-13 作者:千家信息网编辑
千家信息网最后更新 2024年11月13日,这篇文章将为大家详细讲解有关ceph源码安装的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. ceph源码编译1.1 ceph源码下载Ceph的源码获取
千家信息网最后更新 2024年11月13日ceph源码安装的示例分析

这篇文章将为大家详细讲解有关ceph源码安装的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

1. ceph源码编译

1.1 ceph源码下载

Ceph的源码获取地址常用的有3个,其中官方发布的源代码路径为:

http://download.ceph.com/tarballs/

在该路径下下载相应发行版本的源代码tar包即可;

同时也可以使用git版本管理工具获取最新的开发版本的源代码:

git clone --recursive https://github.com/ceph/ceph

也可以下载srpm包进行安装,这种更方便一点;http://download.ceph.com/rpm-infernalis/el7/SRPMS/ (I版本ceph srpm包地址)

1.2 建立编译环境

编译打包ceph需要相应的工具链以及一系列的第三方库,而建立合适的yum源可以使得编译事半功倍,但仍然不能解决所有的问题,如果有缺失的依赖,编译体系进行构建时会报错,需要根据日志安装相应的依赖。

下面编译打包的过程基于srpm包和redhat7.1进行,在此之前需要配置yum源。

1.2.1 ceph的yum源配置

官方的yum源有时候会遇到网速慢的问题,推荐阿里的ceph源,比如这个是我配置的f版本的:

[Ceph]  name=Ceph packages for $basearch  baseurl=http://mirrors.aliyun.com/ceph/rpm-firefly/el7/$basearch  enabled=1  gpgcheck=1  type=rpm-md  gpgkey=http://mirrors.aliyun.com/ceph/keys/release.asc  priority=1   [Ceph-noarch]  name=Ceph noarch packages  baseurl=http://mirrors.aliyun.com/ceph/rpm-firefly/el7/noarch  enabled=1  gpgcheck=1  type=rpm-md  gpgkey=http://mirrors.aliyun.com/ceph/keys/release.asc   priority=1   [ceph-source]  name=Ceph source packages  baseurl=http://mirrors.aliyun.com/ceph/rpm-firefly/el7/SRPMS  enabled=1  gpgcheck=1  type=rpm-md  gpgkey=http://mirrors.aliyun.com/ceph/keys/release.asc   priority=1

如此,完成了本地yum源的配置。

1.2.1.2 网络yum源配置

自行配置;

完成本地和网络yum源配置后:

#yum makecache

1.3 ceph源码编译打包

该过程实际上主要是rpm相关工具的使用。

执行rpmdev-setuptree生成rpm打包工具所需要的~/rpmbuild目录与一系列子目录以及~/.rpmmacros文件,当然如果不使用工具的话,也可以手工进行创建这些目录与文件。

rpm -ivh [下载的srpm包]

执行rpmbuild --ba ~/rpmbuild/SPECS/ceph.spec开始编译打包,如果一切顺利,会在~/rpmbuild/RPMS及~/rpmbuild/SRPMS分别生成所有的二进制rpm包和源代码rpm包。

此时,还有一些依赖库需要安装,根据日志逐一进行安装(如果是库版本不一致,需要卸载当前库,安装所需库):

完成rpmbuild之后,在~/rpmbuild/BUILD/【cpeh-版本】/src 目录下进行make install

注意:整个过程对内存的要求较高,内存较小的时候,编译时间较长且容易报错,可多次执行或者建议内存7GB以上。

关于"ceph源码安装的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

0