1. 程式人生 > >自建yum源解決Ceph搭建過程中從官網取包慢的問題

自建yum源解決Ceph搭建過程中從官網取包慢的問題

pre snappy 真的 spa x86 download crypt file git

最近項目組需要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,安裝各種編譯命令。

[[email protected] 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

然後解壓包:

[[email protected] ceph-10.2.9]#tar -zxvf ceph-10.2.9.tar.gz
[[email protected] ceph-10.2.9]#cd ceph-10.2.9

修改spec文件

[[email protected] 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包

[[email protected] ceph-10.2.9]rpmbuild -bb ceph.spec

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

此時生成yum源

[[email protected] ceph-10.2.9]yum install createrepo
[[email protected] ceph-10.2.9]cd ~/rpmbuild/RPMS/x86_64
[[email protected] ceph-10.2.9]createrepo .

然後布一個nginx,指向這個rpm包的目錄,添加“autoindex on;”配置項,這就是一個完美的yum源了。

在ceph的部署節點中修改ceph的yum源,把紅色的部分baseurl配置成nginx的訪問地址,nginx的root配置為"~/rpmbuild/RPMS/",紅色部分gpgcheck=0禁止掉校驗。

[[email protected] 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,導致不成功,說多了都是淚。

  

自建yum源解決Ceph搭建過程中從官網取包慢的問題