通过ceph-deploy安装不同版本ceph

之前有在论坛写了怎么用 yum 安装 ceph,但是看到ceph社区的群里还是有人经常用 ceph-deploy 进行安装,然后会出现各种不可控的情况,虽然不建议用ceph-deploy安装,但是既然想用,那就研究下怎么用好

首先机器需要安装 ceph-deploy 这个工具,机器上应该安装好 epel 源和 base 源,这个可以参考上面的那个连接,也可以自己准备好

安装ceph-deploy

使用yum直接安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@lab8106 yum.repos.d]# yum install ceph-deploy
Loaded plugins: fastestmirror, langpacks, priorities
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package ceph-deploy.noarch 0:1.5.25-1.el7 will be installed
···
===================================================================================================
Package Arch Version Repository Size
===================================================================================================
Installing:
ceph-deploy noarch 1.5.25-1.el7 epel 156 k
···
Installed:
ceph-deploy.noarch 0:1.5.25-1.el7
Complete!

可以看到是从 epel 的 repo 里面下载的版本为1.5.25,如果从ceph源里面下载的这个版本可能会更高一点,这个没什么问题

现在什么都不修改,看下默认的安装会什么样的

1
2
3
4
5
6
7
8
9
[root@lab8106 ~]# ceph-deploy install lab8106
[ceph_deploy.conf][DEBUG ] found configuration file at: /root/.cephdeploy.conf
[ceph_deploy.cli][INFO ] Invoked (1.5.25): /usr/bin/ceph-deploy install lab8106
[ceph_deploy.install][DEBUG ] Installing stable version hammer on cluster ceph hosts lab8106
···
[lab8106][INFO ] Running command: rpm --import https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc
[lab8106][INFO ] Running command: rpm -Uvh --replacepkgs http://ceph.com/rpm-hammer/el7/noarch/ceph-release-1-0.el7.noarch.rpm
[lab8106][INFO ] Running command: yum -y install ceph ceph-radosgw
[lab8106][WARNIN] http://ceph.com/rpm-hammer/rhel7/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found

这个默认的版本没安装成功
这个地方的原因是默认会去下载http://ceph.com/rpm-hammer/el7/noarch/ceph-release-1-0.el7.noarch.rpm 这个包,而这个包是有问题的,安装以后

1
2
3
4
[root@lab8106 yum.repos.d]# cat /etc/yum.repos.d/ceph.repo |grep baseurl
baseurl=http://ceph.com/rpm-hammer/rhel7/$basearch
baseurl=http://ceph.com/rpm-hammer/rhel7/noarch
baseurl=http://ceph.com/rpm-hammer/rhel7/SRPMS

这路径rhel7是根本就没有的,所以这个地方所以会出错,可以去修改repo的方式解决,这里先忽略这个问题,我们换一个ceph-deploy看看会怎样

安装另外版本的ceph-deploy

1
2
[root@lab8106 ~]# yum remove ceph-deploy
[root@lab8106 ~]# rpm -ivh http://download.ceph.com/rpm/el7/noarch/ceph-deploy-1.5.34-0.noarch.rpm

安装好了后,再次执行安装

1
2
3
4
5
6
7
8
9
10
11
[root@lab8106 ~]# ceph-deploy install lab8106
···
[ceph_deploy.install][DEBUG ] Installing stable version jewel on cluster ceph hosts lab8106
···
lab8106][INFO ] Running command: rpm --import https://download.ceph.com/keys/release.asc
[lab8106][INFO ] Running command: rpm -Uvh --replacepkgs https://download.ceph.com/rpm-jewel/el7/noarch/ceph-release-1-0.el7.noarch.rpm
[lab8106][INFO ] Running command: yum -y install ceph ceph-radosgw
···
[lab8106][DEBUG ] --> Running transaction check
[lab8106][DEBUG ] ---> Package ceph.x86_64 1:10.2.2-0.el7 will be installed
···

如果网络好的话,那么可以看到,执行这个命令后会在ceph.com的官网上去下载安装包了,如果网络不好的话,就会卡住了,这里是要说明的是

不同的 ceph-deploy 去 install 的时候会安装不同的版本,这个因为代码里面会写上当时的版本,这样默认安装的就是当时的版本了

到了这里要开始本篇的主题了,主要的目的有两个:

  • 自己选择想安装的 ceph 版本
  • 自己选择通过什么地址安装

第一个是解决了安装自己的版本,第二个是避免ceph.com无法访问的时候无法安装,通过国内的源进行加速

自定义安装ceph

通过阿里云安装ceph-hammer

1
2
[root@lab8106 ~]# rm -rf /etc/yum.repos.d/ceph*
[root@lab8106 ~]# ceph-deploy install lab8106 --repo-url=http://mirrors.aliyun.com/ceph/rpm-hammer/el7/ --gpg-url=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

通过这个命令,就通过阿里云的源安装了ceph的hammer版本的ceph

通过阿里云安装ceph-jewel

1
2
3
[root@lab8106 ~]# yum clean all
[root@lab8106 ~]# rm -rf /etc/yum.repos.d/ceph*
[root@lab8106 ~]# ceph-deploy install lab8106 --repo-url=http://mirrors.aliyun.com/ceph/rpm-jewel/el7/ --gpg-url=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

总结

安装的方式有很多,对于新手来说如果想用 ceph-deploy 去安装的话,可以根据上面的很简单的命令就解决了,这里没有写本地做源的相关的知识,安装这一块怎么顺手怎么来,不要在安装上面耗费太多的时间

变更记录

Why Who When
创建 武汉-运维-磨渣 2016-07-14