Ceph-ansible部署三节点J版ceph集群

Ceph-ansible部署三节点J版ceph集群


准备

环境:
ubuntu16.04
10.21.24.12
10.21.24.23
10.21.24.33
每个节点挂载100G的硬盘vdb。


ceph-ansible安装

根据官方文档http://docs.ceph.com/ceph-ansible/master/
首先在主控节点上从github上将代码拉到本地。
本例中在根目录创建/ceph目录,所有文件存在/ceph/ceph-ansible下。

git clone https://github.com/ceph/ceph-ansible.git

然后决定使用哪一个branch,本次我们安装的是J版,所以这里选用3.0分支

git checkout stable-3.0

记下来进入 /ceph/ceph-ansible/tests 根据requirements.txt提空的依赖进行安装

pip install -r requirements.txt

使用 Ansible PPA 在Ubuntu上获取Ansible。

sudo add-apt-repository ppa:ansible/ansible
sudo apt update
sudo apt install ansible

免密登录配置

为了实现三节点之间免密通信,首先修改/etc/hosts文件。在文件中加入如下内容:

10.21.25.14 node1
10.21.25.36 node2
10.21.25.33 node3

然后执行以下命令:

ssh-keygen -t rsa
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3

在每一个节点上重复本小节所有操作


相关配置

首先定义Inventory,该文件定义集群中的主机以及每个主机在您的ceph集群中扮演的roles。此文件可与ansible-playbook的-i flag一起使用。
此文件默认存放位置为/etc/ansible/hosts

[mons]
10.21.24.12
10.21.24.23
10.21.24.33

[osds]
10.21.24.12
10.21.24.23
10.21.24.33

修改ansible变量文件all.yml.sample,文件位于/ceph/ceph-ansible/group_vars下。

ceph_origin: repository
ceph_repository: community
ceph_stable_release: jewel
public_network: "10.21.24.254/24"
cluster_network: "10.21.24.254/24"
monitor_interface: ens3
devices:
  - '/dev/vdb'
osd_scenario: collocated

其中public_network为自己集群的网段,devices为需要部署的新硬盘。osd_scenario为部署场景,此处collocated指定日志盘和数据盘共用一块磁盘,部署的时候不需要分区,只需要指定 devices磁盘就好。修改完后使用mv all.yml.sample all.yml激活yml文件。

修改playbook,playbook在部署时负责给ansible-playbook传递命令。本例使用根目录下默认playbook文件site.yml.sample。使用命令mv site.yml.sample site.yml进行重命名。


开始部署

ansible-playbook site.yml

等待部署完成后提示

完成

可以输入ceph -s检查节点状况:

root@zwk-01:/ceph/ceph-ansible# ceph -s
    cluster b7809ff0-7fc7-45f5-a0e3-60d5959ecbc5
     health HEALTH_OK
     monmap e2: 3 mons at {zwk-01=10.21.25.14:6789/0,zwk-02=10.21.25.36:6789/0,zwk-03=10.21.25.33:6789/0}
            election epoch 6, quorum 0,1,2 zwk-01,zwk-03,zwk-02
     osdmap e14: 3 osds: 3 up, 3 in
            flags sortbitwise,require_jewel_osds
      pgmap v25: 64 pgs, 1 pools, 0 bytes data, 0 objects
            323 MB used, 284 GB / 284 GB avail
                  64 active+clean

你可能感兴趣的:(体系结构)