自建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 ...
 
随机推荐
- Android RealativeLayout 布局gravity不能居中的解决办法
			
对于LinerLayout中的gravity发现复制到realativeLayout布局中发现不起作用,后来发现只要在他的每个子组件中使用 android:layout_centerVertical ...
 - 在SQL Server 2018 Management Studio中修改表字段顺序
			
有时我们可能需要为一个已存在的数据库表添加字段,并且想让这个字段默认排的靠前一些,这时就需要为表字段重新进行排序,默认情况下在Management Studio中调整顺序并保存时会提示“不允许保存更改 ...
 - springmvc处理过程理解(一)
			
DispatcherServlet前端控制器:接收request,进行response HandlerMapping处理器映射器:根据url查找Handler.(可以通过xml配置方式,注解方式) H ...
 - Algorithm 算法基础知识(未完成
			
基础概念不讲,记录课上关键部分 时间复杂度(Time Complexity) 算法所需要花的时间 比较时间复杂度(主要看问题的规模) 时间频度(算法执行次数)T(n)和T(n1),如果两个时间频度为等 ...
 - git difftool和mergetool图形化
			
1.当然是先安装Beyond Compare3 (此处省略安装步骤,自行百度) 2.设置difftool git config --global diff.tool bc3 git config -- ...
 - NativeWindow_01_CreateWindow(Ex)_VC6
			
1. #include <windows.h> LRESULT CALLBACK ProcWindow(HWND hwnd, UINT uMsg, WPARAM wParam, LPARA ...
 - Maven命令行创建java或javaWeb项目
			
Maven命令行创建java或javaWeb项目 1.命令行创建普通java项目 mvn archetype:generate -DgroupId=com.fxust -DartifactId=d ...
 - unittest单元测试简单介绍
			
unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果.今天笔者 ...
 - vs2015多行注释与取消多行注释
			
注释: 先CTRL+K,然后CTRL+C 取消注释: 先CTRL+K,然后CTRL+U
 - English Voice of <<Dream it passible>>
			
Dream It Possible(梦想成为可能) - DelaceyI will run I will climb I will soar.我奔跑,我攀爬 我要飞翔.I'm undefeated我所 ...