使用ceph-deploy安装Ceph 12.x(二) 安装前的准备工作

接上篇: 使用ceph-deploy安装Ceph 12.x(一) 创建虚拟机环境

控制节点(admin node)

Step 1. Enable epel (Extra Packages for Enterprise Linux) repository

yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Step 2. 写ceph.repo配置文件

文件位于控制节点(即admin node)的 /etc/yum.repos.d/ceph.repo

[ceph-noarch]
name=Ceph noarch packages
# baseurl=https://download.ceph.com/rpm/el7/noarch
baseurl=http://mirrors.163.com/ceph/rpm-luminous/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
# gpgkey=https://download.ceph.com/keys/release.asc
gpgkey=http://mirrors.163.com/ceph/keys/release.asc

注意:
上面的注释部分,是Ceph官网的写法。但是对于我们国内的安装,这样几乎无法成功,因为下载Ceph太慢了,会导致失败。因此,需要改写repo文件以更新Ceph源。
常用的Ceph镜像是163镜像。但在使用163镜像之后,必须将rpm写成rpm-luminous,这样才会安装ceph-deploy-2.0.0;若只写成rpm,则实际安装的是ceph-deploy-1.5.

Step 3. 安装ceph-deploy

yum install -y ceph-deploy

Step 4. 修改/etc/hosts文件

/etc/hosts

    node-1
    node-2
    node-3

Step 5. Enable password-less SSH

ssh-keygen

ssh-copy-id fdeploy@node-1
ssh-copy-id fdeploy@node-2
ssh-copy-id fdeploy@node-3

注意:
1. fdeploy 是ceph-deploy安装时所使用的在3个Ceph node上的用户名。至于这个fdeploy用户是如何创建的,请参见下文的Ceph node部分。
2. 在ssh-keygen这一步要求填写passphrase的时候,直接回车,即填写空的passphrase.

Step 6. 填写 ~/.ssh/config 文件

这个文件是给ceph-deploy使用的。通过此文件,ceph-deploy可以知道用户名和Ceph node的信息;这样,就不用每次在执行ceph-deploy的时候都指定–username {username}了。

Host node-1
    Hostname node-1
    User fdeploy
Host node-2
    Hostname node-2
    User fdeploy
Host node-3
    Hostname node-3
    User fdeploy

Step 7. 为ceph-deploy的工作添加国内镜像

这一步很重要,是官网上所没有的。
ceph-deploy在安装的时候,会先给Ceph node的/etc/ceph目录下生成一个ceph.repo文件。而这个文件并不是根据Step 2中的ceph.repo来的,而是有自己的生成规则。
简单来说,ceph-deploy会参考2个环境变量的值来填写ceph.repo.
具体做法是,在 ~/.bashrc 最后添加这么2个环境变量:

export CEPH_DEPLOY_REPO_URL=http://mirrors.163.com/ceph/rpm-luminous/el7
export CEPH_DEPLOY_GPG_URL=http://mirrors.163.com/ceph/keys/release.asc

注意:
上面如果把 rpm-luminous 改成 rpm 的话,那么将安装jewel版本,而不是目前最新的luminous版本。

以上所有步骤都是在admin node上做的。其中Step 5依赖于Ceph node上的添加用户的操作。

Ceph Node

Step 1. 安装ntp和openssh-server

因为将来拥有monitor的Ceph node需要使用ntp来同步时间,因此需要安装ntp相关工具。而openssh-server也是必须的。

yum install -y ntp ntpdate ntp-doc
yum install -y openssh-server

Step 2. 创建一个Ceph Deploy用户 - fdeploy

sudo useradd -d /home/fdeploy -m fdeploy
sudo passwd fdeploy

注意:
该用户名不能过是ceph

然后,给该用户sudo的权限:

echo "fdeploy ALL = (root) NOPASSWD:ALL" | tee /etc/sudoers.d/fdeploy
chmod 0440 /etc/sudoers.d/fdeploy

Step 3. 安装epel-release yum源

yum install -y wget 
cd /etc/pki/rpm-gpg
wget https://archive.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7
yum install -y epel-release 

Step 4. 打开所需port

Ceph monitor使用6789端口,osd默认使用6800-7300端口,而对象存储的RGW默认使用7480端口。要确保这些端口都没有被防火墙(firewalld、iptables)关闭。
因为Cloud image上firewalld和iptables都是关闭的,所以这一步可以省略了。

Step 5. 关闭SELinux

sudo setenforce 0

做完了以上这些步骤,恭喜你,我们下面就可以进入真正的Ceph安装过程了。请看下篇:使用ceph-deploy安装Ceph 12.x(三) 安装Ceph集群

你可能感兴趣的:(存储,Ceph,存储)