zoukankan      html  css  js  c++  java
  • 自建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=1
    gpgcheck=0
    type=rpm-md
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    priority=1

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

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

      

  • 相关阅读:
    singleton 创建static类型的对象
    记忆曲线 遗忘曲线
    创建classic 得到函数 调用函数
    abstract factory 创建相互关联的类
    log4j PatternLayout
    C#中override重写与new隐藏的区别,以及C#与Java的override区别 转
    iptables如何做内网的https端口映射 转
    得到一棵树 取自表内自递归(即ID 与ParentID)
    Common.TcpLibTcpClientT
    得到汉字的首拼音字符 ZT
  • 原文地址:https://www.cnblogs.com/bugutian/p/7413493.html
Copyright © 2011-2022 走看看