标签(空格分隔): ceph,ceph安装,ceph运维


centos7系统,aarch64架构下安装最新版本的ceph(13.0.0),x86架构的环境无需修改脚本即可。

一,物理环境:

内核版本:

[root@localhost ~]# uname -r
4.11.0-3.hxt.aarch64

可以看到内核版本是aarch64

操作系统:

[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (AltArch)

可以看到操作系统是arm架构的cenots7

cpu内核数:

[root@localhost ~]# cat /proc/cpuinfo | grep "processor" | wc -l
48

可以看到内核共有48核,make的时候全部用上加快速度,太少的内核数make就会非常非常耗时

内存大小:

[root@localhost ~]# free -g
total used free shared buff/cache available
Mem: 63 0 33 0 29 53
Swap: 15 0 15

可以看到内存为63g,make的时候非常吃内存,一开始是32g可是make到百分之九十多内存耗尽出错,又加了32g才make成功

二,下载源码:

1. 安装git:

[root@localhost ~]# yum install -y git

2.克隆源码:

[root@localhost ~]#  git clone --recursive https://github.com/ceph/ceph.git

此处需要等待较长时间。需要说明的是如果想要使用下面的脚本安装必要的库和工具,那么就必须从git上克隆源码不可。由于公司网速较慢,一开始我通过下载github上提供的ceph的源码压缩包进行安装,而且,网上看到确实有人通过下载压缩包进行源码安装的。结果在安装必要的库和工具这一步就会提示error,发现是检查git版本的问题,通过注释掉这一部分,发现还是不行。也就是说这种方法安装需要修改较多的代码,所以,最简单有效的方法就是git克隆了

三,安装ceph:

安装之前需要根据当前主机的系统和架构修改一下,安装依赖包的脚本才可以

1.修改install_deps.sh:

[root@localhost ~]# vi install_deps.sh

因为主机os为centos7,架构为aarch64,所以需要把脚本中的x86_64修改为aarch64。需要找到下面这一行:

$SUDO yum-config-manager --add-repo https://dl.fedoraproject.org/pub/epel/$MAJOR_VERSION/x86_64/

修改为:

$SUDO yum-config-manager --add-repo https://dl.fedoraproject.org/pub/epel/$MAJOR_VERSION/aarch64/

此处我走了很多弯路,卡在yum源这里很久,最终确认yum源配置和资源库没有问题。可是执行脚本提示缺少一些安装包,我手动下载安装后再次执行脚本出现,nss和nspr相关的版本错误,始终提示required xx版本,installed xx1版本,反正就是当下安装的版本无法被更新。

尝试手动卸载相应的包,然后下载更新的版本安装,结果还是不行。最终问题定位应该就是yum源的问题:因为手动安装了一些非官方rpm包,同时又使用了多个yum源所致。

2.安装必要的库和工具:

先进入ceph目录:

[root@localhost ~]# cd ceph

脚本安装必要的库和工具:

[root@localhost ceph]# ./install-deps.sh

3.编译:

用脚本构建:

[root@localhost ceph]# ./do_cmake.sh

构建成功,进入build目录:

[root@localhost ceph]# cd build

使用全部内核进行make:

[root@localhost build]# make -j48

4.安装:

make成功后进行安装:

[root@localhost build]# make install

确认是否安装成功:

[root@localhost build]# ./bin/ceph -v
*** DEVELOPER MODE: setting PATH, PYTHONPATH and LD_LIBRARY_PATH ***
ceph version 13.0.0-3540-g4b64756 (4b64756166cf3ffcbc114def98fb7953c59ea566) mimic (dev)

至此已经安装成功,下面就可以开始使用了

参考文档:

http://docs.ceph.com/docs/master/install/build-ceph/

源码编译安装ceph的更多相关文章

  1. 源码编译安装 ganesha

    源码编译安装 ganesha 简介 系统环境:CentOS 7.5 ceph:luminous nfs-ganesha:v2.6 stable 安装步骤 安装依赖 首先需要安装编译会用到的公共库 1 ...

  2. 十四.自定义yum仓库、源码编译安装

    pc7:192.168.4.7 1.自定义yum仓库1.1 源码仓库下:/root/tools/other]# createrepo .]# ls ntfs-3g-2014.2.15-6.el6.x8 ...

  3. SSH/SSL 源码编译安装简易操作说明

    环境:CentOS 6.7 安全加固需求,由于某盟扫描系统主机有SSL系列漏洞,客户要求必须修复: 解决方案:将SSH/SSL升级到最新版本,删除SSL旧版本(实测不删除旧版本某盟扫描无法通过). 当 ...

  4. 源码编译安装 MySQL 5.5.x 实践

    1.安装cmakeMySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. # wget ht ...

  5. 烂泥:mysql5.5数据库cmake源码编译安装

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 以前也写过一篇有关mysql5.0源码编译的文章,该文章为<烂泥:mysql5.0数据库源码编译安装>.但是MySQL自5.5版本以后,就开 ...

  6. Centos7.X 源码编译安装subversion svn1.8.x

    说明:SVN(subversion)的运行方式有两种:一种是基于Apache的http.https网页访问形式:还有一种是基于svnserve的独立服务器模式.SVN的数据存储方式也有两种:一种是在B ...

  7. centos6.5环境源码编译安装mysql5.6.34

    centos6.5环境源码编译安装mysql5.6.34 源码下载地址http://dev.mysql.com/downloads/mysql/5.6.html#downloads 选择Generic ...

  8. centos 6.5源码编译安装subversion 1.8.10

    一.简介 CentOS 6.5的yum源可以安装的SVN客户端版本太低了,1.6.11,所以需要升级到1.8.10,而官网有没有找到1.8.10的安装包,只能选择源码编译安装. 二.安装步骤 参考官网 ...

  9. Linux环境PostgreSQL源码编译安装

    Linux环境PostgreSQL源码编译安装 Linux版本: Red Hat 6.4 PostgreSQL版本: postgresql-9.3.2.tar.gz 数据存放目录: /var/post ...

随机推荐

  1. crm开发(基于ssh)(2)

    今天内容 1 新增客户 2 客户列表 3 修改客户 4 删除客户 5 分页显示客户列表 Hibernate模板里面的方法 1 新增客户 配置 <mapping resource="cn ...

  2. 使用Entity Framework时遇到的各种问题总结

    在这里记录一下之前使用Entity Framework(4.3.1版本)遇到的问题. 更新没有设置主键的表 在默认情况下,EF不能对一个没有主键的表进行更新.插入和删除的动作.用xml方式查看edmx ...

  3. 使用ZooKeeper实现Java跨JVM的分布式锁(优化构思)

    一.使用ZooKeeper实现Java跨JVM的分布式锁 二.使用ZooKeeper实现Java跨JVM的分布式锁(优化构思) 三.使用ZooKeeper实现Java跨JVM的分布式锁(读写锁) 说明 ...

  4. BZOJ3528: [Zjoi2014]星系调查

    唉,看到这题直接想起自己的Day1,还是挺难受的,挺傻一题考试的时候怎么就没弄出来呢…… 这两天CP让我给他写个题解,弄了不是很久就把这个题给弄出来了,真不知道考试的时候在干嘛. 明天就出发去北京了, ...

  5. 原创:Javascript DI!Angular依赖注入的实现原理

    DI是Angular的特色功能,而在Angular 2.0的计划中,DI将成为一个独立的模块,参见 https://github.com/angular/di.js 这意味着它也有机会被用于nodej ...

  6. C / C ++中的数组讲解

    笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D实战核心技术详解 ...

  7. 一个通用Makefile详解

    我们在Linux环境下开发程序,少不了要自己编写Makefile,一个稍微大一些的工程下面都会包含很多.c的源文 件. 如果我们用gcc去一个一个编译每一个源文件的话,效率会低很多,但是如果我们可以写 ...

  8. 你所不知道的 Java 之 HashCode

    之所以写HashCode,是因为平时我们总听到它.但你真的了解hashcode吗?它会在哪里使用?它应该怎样写? 相信阅读完本文,能让你看到不一样的hashcode. 使用hashcode的目的在于: ...

  9. 神经网络中的Softmax激活函数

    Softmax回归模型是logistic回归模型在多分类问题上的推广,适用于多分类问题中,且类别之间互斥的场合. Softmax将多个神经元的输出,映射到(0,1)区间内,可以看成是当前输出是属于各个 ...

  10. Django之搭建学员管理系统

    GET请求传参数的方式: /xxx/?k1=v1&k2=v2 ? 前面的是URL ?后面的是请求的参数 多个参数之间用&分隔 POST请求传数据: 是放在请求体里面的 表结构设计. - ...