源码编译安装ceph
标签(空格分隔): 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的更多相关文章
- 源码编译安装 ganesha
源码编译安装 ganesha 简介 系统环境:CentOS 7.5 ceph:luminous nfs-ganesha:v2.6 stable 安装步骤 安装依赖 首先需要安装编译会用到的公共库 1 ...
- 十四.自定义yum仓库、源码编译安装
pc7:192.168.4.7 1.自定义yum仓库1.1 源码仓库下:/root/tools/other]# createrepo .]# ls ntfs-3g-2014.2.15-6.el6.x8 ...
- SSH/SSL 源码编译安装简易操作说明
环境:CentOS 6.7 安全加固需求,由于某盟扫描系统主机有SSL系列漏洞,客户要求必须修复: 解决方案:将SSH/SSL升级到最新版本,删除SSL旧版本(实测不删除旧版本某盟扫描无法通过). 当 ...
- 源码编译安装 MySQL 5.5.x 实践
1.安装cmakeMySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. # wget ht ...
- 烂泥:mysql5.5数据库cmake源码编译安装
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 以前也写过一篇有关mysql5.0源码编译的文章,该文章为<烂泥:mysql5.0数据库源码编译安装>.但是MySQL自5.5版本以后,就开 ...
- Centos7.X 源码编译安装subversion svn1.8.x
说明:SVN(subversion)的运行方式有两种:一种是基于Apache的http.https网页访问形式:还有一种是基于svnserve的独立服务器模式.SVN的数据存储方式也有两种:一种是在B ...
- centos6.5环境源码编译安装mysql5.6.34
centos6.5环境源码编译安装mysql5.6.34 源码下载地址http://dev.mysql.com/downloads/mysql/5.6.html#downloads 选择Generic ...
- centos 6.5源码编译安装subversion 1.8.10
一.简介 CentOS 6.5的yum源可以安装的SVN客户端版本太低了,1.6.11,所以需要升级到1.8.10,而官网有没有找到1.8.10的安装包,只能选择源码编译安装. 二.安装步骤 参考官网 ...
- Linux环境PostgreSQL源码编译安装
Linux环境PostgreSQL源码编译安装 Linux版本: Red Hat 6.4 PostgreSQL版本: postgresql-9.3.2.tar.gz 数据存放目录: /var/post ...
随机推荐
- crm开发(基于ssh)(五)
1 信息查询 (1)多条件组合查询 -拼接hql语句 -使用离线对象 2 添加数据字典表 (1)改造添加客户功能 3 统计分析 (1)调用普通sql实现 (2)结果处理操作 4 使用ssh注解整合 ( ...
- angular-schema-form 自动表单生成
基本用法 通过bower安装之后,将schemaForm模块载入到模块定义中,fuse中安装第三方包需要在app/core/core.module.js中声明. 然后在controller里面,将sc ...
- Strust2遇到的问题
前端发一次请求,后台执行execute方法多次,最后发现Acion类继承ActionSupport类,且覆盖了execute,当用户数量一上来就会出现执行多次的BUG,所以千万要注意不能给此方法加An ...
- CMD下利用subst命令将一个文件夹镜像成本地的一个虚拟磁盘
我们都知道net use可以建立网络驱动器映射,这里不说了. 我今天刚看到这命令的,叫镜像虚拟磁盘subst命令,这个命令可以简化好多操作,比如一个常用的文件放在一个路径很深的文件夹中,每次我们想要操 ...
- 玩转maven
Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Depen ...
- MySQL index merge
深入理解 index merge 是使用索引进行优化的重要基础之一. [ index merge] 当where谓词中存在多个条件(或者join)涉及到多个字段,它们之间进行 AND 或者 ...
- JSON和list之间的转换
谷歌的Gson.jar: //list转换为json Gson gson = new Gson(); List<Person> persons = new ArrayList<Per ...
- NODE 性能优化
五个手段 “如果你的 node 服务器前面没有 nginx, 那么你可能做错了.”—Bryan Hughes Node.js 是使用 最流行的语言— JavaScript 构建服务器端应用的领先工具 ...
- PostgreSQL归档日志 手动触发归档 select pg_switch_xlog()
(转,做记录) 一 环境信息--1.1 PostgreSQL 版本 9.3.0 --1.2 postgresql.conf wal_level = hot_standbyarchive_mode = ...
- Ubuntu下VirtualBox kernel driver not installed
解決方案: 1.sudo apt-get install virtualbox-ose-source2.cd /usr/src3.sudo tar xjvf virtualbox*.bz24.cd m ...