引出
初衷是自己搭建一套ceph的实验集群,按照官方的quick start,按理说应该是分分钟的事,因为GFW的原因,搞得忙活了一上午,再加上心情烦躁,中间出现了各种差错,这里记录一下。
系统预检并安装ceph-deploy
准备集群系统,网络设置,SSH无密码登录等设置略过,详细参考PREFLIGHT CHECKLIST
这里有一个地方需要注意的是:centos7 在修改HOSTNAME 的时候命令如下,无需重启:
$ sudo hostnamectl --static set-hostname <host-name> |
预检完成后,ceph-deploy 的安装以及 ceph在各节点的安装如果出现错误的话很大可能上是yum 源的问题,所以重点说下如何配置yum国内源。
更换国内 YUM 源
- 更换base源为国内163源:
$ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo |
- 更换epel源为中科大的源(注:随着版本更迭,以下链接可能会失效,如果出现404错误,那就需要更改链接):
$ rpm -Uvh http://mirrors.ustc.edu.cn/centos/7/extras/x86_64/Packages/epel-release-7-9.noarch.rpm |
- 更换ceph源为国内163源
建议不用改变ceph.repo,直接设置环境变量即可,如果更改ceph.repo,那么执行ceph-deploy的时候还是需要在命令行中指定国内源url,否则又会使用官方源。
$ export CEPH_DEPLOY_REPO_URL=http://mirrors.163.com/ceph/rpm-jewel/el7 |
安装并配置ceph cluster
接下来的事情就跟官网的步骤差不多了,大致如下:
# Create monitor node |
一个尚未解决的顽疾
在公司使用国内源安装ceph的时候,出现了一个这样的错误:
http://mirrors.163.com/ceph/rpm-jewel/el7/x86_64/ceph-mds-10.2.5-0.el7.x86_64.rpm: [Errno -1] Package does not match intended download. Suggestion: run yum --enablerepo=ceph clean metadata |
Package does not match intended 这个错误在我安装其他软件的时候也出现过,用尽了各种办法也没有解决该问题,但我在家里的时候却没有出现过该问题。所以推测是公司网络用了类似缓存的机制。
更新-2017-3-18
找到了解决上述问题的方法,就是先直接wget下来rpm包,然后用yum localinstall 或者rpm -ivh 安装,如果出现两个包互相依赖的情况,就两个包同时安装。
wget http://mirrors.163.com/ceph/rpm-jewel/el7/x86_64/ceph-mds-10.2.5-0.el7.x86_64.rpm |