自建yum源解决Ceph搭建过程中从官网取包慢的问题
最近项目组需要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搭建过程中从官网取包慢的问题的更多相关文章
- 自建yum源及分组安装
最近在研究一套自动化运维方向的框架,在想到远程安装软件包的时候,觉得有yum支持会更方便一些.主要思路是把程序员写的代码或程序打包成rpm,然后提交到自建yum源,并实现按组安装,本地yum源实现步骤 ...
- ELK搭建过程中出现的问题与解决方法汇总
搭建过程中出现的问题 elasticsearch启动过程中报错[1] ERROR: [1] bootstrap checks failed [1]: the default discovery set ...
- Hadoop完全分布式搭建过程中遇到的问题小结
前一段时间,终于抽出了点时间,在自己本地机器上尝试搭建完全分布式Hadoop集群环境,也是借助网络上虾皮的Hadoop开发指南系列书籍一步步搭建起来的,在这里仅代表hadoop初学者向虾皮表示衷心的感 ...
- 解决SQL订阅过程中找不到已经创建的订阅
原文:解决SQL订阅过程中找不到已经创建的订阅 之前有写过一篇博客,主要是图解SQL复制技术:图解SQL 2008数据库复制,当时的测试环境是在我本地同一个服务器上面,所以测试的时候可谓是一帆风顺,最 ...
- 自建YUM源以及相关维护
yum相关概念我这里就不做详细的讲解了,就是一个软件包管理工具.在企业中,很多时候进行编译了自己的RPM包,在搭建YUM的时候,希望将自定义的RPM加入到YUM源中,从而出现了下列方法. 一.配置私有 ...
- mongodb副本集搭建过程中的问题和解决技巧
在我以往的认知中,一个系统一旦正式上线,多半不会轻易的迁移服务器,尤其是那种涉及到多个关联应用,涉及到多台硬件服务器的系统,因为这种迁移将是牵一发而动全身的. 但是,却仍然有这种情况存在,就如我这几天 ...
- CentOS7系统局域网内配置本地yum源解决cannot find a valid baseurl for repo
一. 问题详情 因为服务器无法连接外网,所有直接用yum安装某些功能将受到影响,报错如下: Error: Cannot find a valid baseurl for repo: base ...
- 自建 yum 源
生产环境需要大规模的安装部署rpm包,每次安装,更新,都需要上传,安装,比较麻烦,可以在生产环境中自建一个yum源. 1.http安装 yum -y install httpd systemctl s ...
- 关于自建yum源拾遗
yum参数解释[updates]--->源name=CentOS-$releasever - Updates --->源的名字baseurl=http://mirror.centos.or ...
随机推荐
- 如何用conda安装软件|处理conda安装工具的动态库问题
conda的确是一个非常好的工具,对于初学者而言,安装软件就跟用XXX软件管理器一样方便.正因为他如此便利,以至于我介绍如何手动安装工具时,总有人问我为啥不用conda. 我用conda,并且用的很好 ...
- RN 上传文件到以及上传文件到七牛云(初步)
本文将介绍: 如何使用原生 Javascript 上传文件 如何使用七牛云 SDK 上传文件到七牛云 在 App 中文件上传是一个非常重要的需求,但是翻遍 React Naitve 的官方文档没有发现 ...
- Vue运行报错--eslint
Errors:? 1? http://eslint.org/docs/rules/no-trailing-spacesYou may use special comments to disable s ...
- 【BZOJ】4008: [HNOI2015]亚瑟王
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4008 这题主要在于:先算概率,再算期望! 一轮一轮的计算似乎很复杂,每一轮它其实是可以看作 ...
- 用html+css+js实现选项卡切换效果
文章转载自:http://tongling.github.io/JSCards/ 用html+css+js实现选项卡切换效果 使用之前学过的综合知识,实现一个新闻门户网站上的常见选项卡效果: 文字素材 ...
- vs2013 报错error C1083: 无法打开包括文件:“gl\glew.h”: No such file or directory\
vs报错诸如如无法打开“gl\xxx.h”时, 解决方法: 1.去http://glew.sourceforge.net/下载相关文件,2.在下载下来的文件里找到xxx.h,将其复制到vs的相关目录下 ...
- cookie被禁用,如何使用session
转载自:https://blog.csdn.net/ai_shuyingzhixia/article/details/80778183 1.禁止使用cookie response.encodeURL( ...
- kbenigne学习3 get-started 2创建实体
https://www.comblockengine.com/docs/1.0/get-started/createentity/ 2 从官网文档复制FirstEntity时,不要把...也给复制了 ...
- python的try finally (还真不简单)
https://www.cnblogs.com/cotton/p/3785999.html def f(): try: print 1 return 1 finally: print 0 return ...
- JAVA基础知识总结:十一
一.内部类 一个类中包含着另外一个类,里面的类被称为内部类,外面的称为外部类 1.成员内部类 和成员变量或者成员方法平级的内部类 语法: 访问权限修饰符 class 外部类类名{ //成员变量 //成 ...