最近项目组需要ceph环境,第一次搭建ceph,各种不顺,装了卸,卸了装,一遍又一遍地按照官网的操作进行。最气人的是网速差,从官网取包太慢。一轮尝试就浪费一上午。

因此想到本地新建yum源。

首先,按照官网http://docs.ceph.com/docs/master/start/搭建,(自恃高明的开发人员肯定是把防火墙全部关掉,搭建环境一律用root用户,暂且不提)

当走到STEP 2: STORAGE CLUSTER中

“ceph-deploy install node1 node2 node3”命令的时候就非常慢了,甚至还会报错,

不过网上有大神说直接:yum -y install ceph ceph-radosgw(回头想想,确实没有问题,问题是还是不够快)。

安装完成node1之后,用ceph --version查看,原来centos7上官网给适配的是“10.2.9”的版本。

二话不说,下载“10.2.9”版本的源码http://download.ceph.com/tarballs/ceph-10.2.9.tar.gz,安装各种编译命令。

[root@lh ceph-10.2.9]#yum install -y make automake autoconf boost-devel fuse-devel gcc-c++ libtool libuuid-devel libblkid-devel keyutils-libs-devel cryptopp-devel fcgi-devel libcurl-devel expat-devel gperftools-devel libedit-devel libatomic_ops-devel snappy-devel leveldb-devel libaio-devel xfsprogs-devel git libudev-devel libcrypto++-dev libcrypto++-utils

然后解压包:

[root@lh ceph-10.2.9]#tar -zxvf ceph-10.2.9.tar.gz
[root@lh ceph-10.2.9]#cd ceph-10.2.9

修改spec文件

[root@lh ceph-10.2.9]# vim ceph.spec
#%if %{with lowmem_builder}
#%if 0%{?jobs} > 8
#%define _smp_mflags -j8
#%endif
#%endif
%define _smp_mflags -j24

 找到这几行代码注释掉,并在此处添加红色部分的代码。其中-24j表示用24个cpu超线程编译。这要看你的cpu是几核的,可以用top 1查看。

还有把source0:改为源码包所在的路径。

开始编译rpm包

[root@lh ceph-10.2.9]rpmbuild -bb ceph.spec

用top 1查看时,看到它居然真的把所有核都跑成了100%,持续20多分钟,rpm包就在“~/rpmbuild/RPMS/x86_64”目录下。

此时生成yum源

[root@lh ceph-10.2.9]yum install createrepo
[root@lh ceph-10.2.9]cd ~/rpmbuild/RPMS/x86_64
[root@lh ceph-10.2.9]createrepo .

然后布一个nginx,指向这个rpm包的目录,添加“autoindex on;”配置项,这就是一个完美的yum源了。

在ceph的部署节点中修改ceph的yum源,把红色的部分baseurl配置成nginx的访问地址,nginx的root配置为"~/rpmbuild/RPMS/",红色部分gpgcheck=0禁止掉校验。

[root@lh ceph-10.2.9]vim /etc/yum.repos.d/ceph.repo
[Ceph]
name=Ceph packages for $basearch
baseurl=http://192.168.0.2:8022/$basearch
enabled=
gpgcheck=0
type=rpm-md
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
priority=

然后yum update后,再按照官网的做法做,一切都很顺利。耗时也少了。

当然最后折腾了好几遍,主要问题不在于安装,在于配置和部署。之前不成功是因为只布了1个osd,建的pool size大于1,导致不成功,说多了都是泪。

  

自建yum源解决Ceph搭建过程中从官网取包慢的问题的更多相关文章

  1. 自建yum源及分组安装

    最近在研究一套自动化运维方向的框架,在想到远程安装软件包的时候,觉得有yum支持会更方便一些.主要思路是把程序员写的代码或程序打包成rpm,然后提交到自建yum源,并实现按组安装,本地yum源实现步骤 ...

  2. ELK搭建过程中出现的问题与解决方法汇总

    搭建过程中出现的问题 elasticsearch启动过程中报错[1] ERROR: [1] bootstrap checks failed [1]: the default discovery set ...

  3. Hadoop完全分布式搭建过程中遇到的问题小结

    前一段时间,终于抽出了点时间,在自己本地机器上尝试搭建完全分布式Hadoop集群环境,也是借助网络上虾皮的Hadoop开发指南系列书籍一步步搭建起来的,在这里仅代表hadoop初学者向虾皮表示衷心的感 ...

  4. 解决SQL订阅过程中找不到已经创建的订阅

    原文:解决SQL订阅过程中找不到已经创建的订阅 之前有写过一篇博客,主要是图解SQL复制技术:图解SQL 2008数据库复制,当时的测试环境是在我本地同一个服务器上面,所以测试的时候可谓是一帆风顺,最 ...

  5. 自建YUM源以及相关维护

    yum相关概念我这里就不做详细的讲解了,就是一个软件包管理工具.在企业中,很多时候进行编译了自己的RPM包,在搭建YUM的时候,希望将自定义的RPM加入到YUM源中,从而出现了下列方法. 一.配置私有 ...

  6. mongodb副本集搭建过程中的问题和解决技巧

    在我以往的认知中,一个系统一旦正式上线,多半不会轻易的迁移服务器,尤其是那种涉及到多个关联应用,涉及到多台硬件服务器的系统,因为这种迁移将是牵一发而动全身的. 但是,却仍然有这种情况存在,就如我这几天 ...

  7. CentOS7系统局域网内配置本地yum源解决cannot find a valid baseurl for repo

    一.     问题详情 因为服务器无法连接外网,所有直接用yum安装某些功能将受到影响,报错如下: Error: Cannot find a valid baseurl for repo: base ...

  8. 自建 yum 源

    生产环境需要大规模的安装部署rpm包,每次安装,更新,都需要上传,安装,比较麻烦,可以在生产环境中自建一个yum源. 1.http安装 yum -y install httpd systemctl s ...

  9. 关于自建yum源拾遗

    yum参数解释[updates]--->源name=CentOS-$releasever - Updates --->源的名字baseurl=http://mirror.centos.or ...

随机推荐

  1. MySql查询功能梳理

    CREATE DATABASE CristinMysql Create table employee( eId int(9) not null auto_increment, eName varcha ...

  2. 理解 Redis(1) - Redis 简介

    Redis 的含义 全称: REmote DIctionary Server 远程词典服务器 由于支持 string, list, set, ordered set, hash 等多重数据结构, 因此 ...

  3. RedHat(Linux)下安装Python3步骤

    1. 下载解压.$ wget https://www.python.org/ftp/python/3.4.1/Python-3.4.1.tgz$ tar zxvf Python-3.4.1.tgz 2 ...

  4. java GUI 返回图片源码

    返回图片源码,重开一个类粘贴即可 package cn.littlepage.game; import java.awt.Image; import java.awt.image.BufferedIm ...

  5. VS2010_慢

    ZC:IntelliSense 一旦关闭,代码提示 也就没有了... ZC:IntelliSense 和 IntelliTrace,不是一个东西... 1.http://blog.csdn.net/c ...

  6. include

    1. 自己写的文件都用:include "....." 2. 如果A类include了B,那么在主函数中,只用include A类,就可以使用B类了,但是此时不能再include ...

  7. Codeforces 686 D - Kay and Snowflake

    D - Kay and Snowflake 思路: 树的重心 利用重心的一个推论,树的重心必定在子树重心的连线上. 然后利用重心的性质,可知,如果有一颗子树的大小超过整棵树的大小的1/2,那么树的重心 ...

  8. 解决ios下的微信页面背景音乐无法自动播放问题

    在做各种html5场景页面的时候,插入背景音乐是一个很普遍的需求,我们都知道,ios下的safari是无法自动播放音乐的,以至于现在行程一种认知,ios是没有办法自动播放媒体资源的,这个认知其实是错误 ...

  9. 书法字帖 PDF转化为可打印PDF

    书法类的PDF,因为底色是黑色的,打印起来特别费墨,所以需要转化成白底黑字的文件, 才好打印. 1)用 pdfbox 的 ExtractImages 命令,抽出所有的图片 https://pdfbox ...

  10. [转] @JoinColumn 详解 (javax.persistence.JoinColumn)

    原文链接:@JoinColumn详解  原文标的也是转载,但是没有注明原文链接,看起来乱乱的,所以整理一下转载过来,顺便细看一下 1. 一对一 现假设有Person表和Address表,是一对一的关系 ...