源码编译安装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 ...
随机推荐
- js 小秘密
1.RegExp 对象方法 test检索字符串中指定的值.返回 true 或 false. 支持正则表达式的 String 对象的方法
- shell read
#!/bin/bash read -p "Enter your account:" acct #提示用户输入用户名read -s -p "Enter your passw ...
- python random使用生成随机字符串
应用python random标准库做一个随机生成密码的程序,可以随机生成任意多个字符.(基于python2.7,如果是python3需要修改下) 案例: #-*-coding:utf-8 -*-#a ...
- 复制文件夹的方法 .net
void CopyDirectory(string SourcePath,string DestinationPath) { //创建所有目录 foreach(string dirPath inDir ...
- day26 CRM search && 增删改查
代码:https://github.com/liyongsan/git_class/tree/master/day26/LuffyCRM ORM查询之Q学习 http://www.cnblogs.co ...
- Flask安装配置
倒腾了一下午了,还是不太顺利,顺便记录一下. 硬件环境:win8.1 64位 + python2.7.9 32位 安装easy_install 需要先下载ez_setup.py(需要复制该链接中的内容 ...
- 28-THREE.JS 扇形圆形
<!DOCTYPE html> <html> <head> <title></title> <script src="htt ...
- 【python】self用法详解
在介绍Python的self用法之前,先来介绍下Python中的类和实例我们知道,面向对象最重要的概念就是类(class)和实例(instance). 类是抽象的模板,比如学生这个抽象的事物,可以用一 ...
- mongodb倒排索引
这周主要都花时间搞mongodb上了,业务场景是上游产出几个城市的全量道路code值,每个城市的数据量大概在100w~200w之间,每条数据对应好几个feature,形如: { code: 0, fe ...
- NSSet基本使用
int main(int argc, const char * argv[]) { @autoreleasepool { //创建一个集合对象 注:如果集合中写了两次或多次同一个对象 打印只能看到一个 ...