使用ceph-ansible部署Ceph集群
使用ceph-ansible部署Ceph集群
一、主机规划
主机 | 系统 | IP | 配置 |
---|---|---|---|
ceph-node1 | centos7.7 | 10.10.10.50 | 4C8G50G+100G |
ceph-node2 | centos7.7 | 10.10.10.51 | 4C8G50G+100G |
ceph-node3 | centos7.7 | 10.10.10.52 | 4C8G50G+100G |
二、安装python3
1# 安装epel源
2yum -y install epel-release
3
4# 使用国内epel源
5sed -e 's!^metalink=!#metalink=!g' \
6 -e 's!^#baseurl=!baseurl=!g' \
7 -e 's!//download\.fedoraproject\.org/pub!//mirrors.tuna.tsinghua.edu.cn!g' \
8 -e 's!http://mirrors\.tuna!https://mirrors.tuna!g' \
9 -i /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel-testing.repo
10
11yum -y install python36
三、下载代码
stable-3.0
分支支持的Ceph版本为jewel
和luminous
,该分支需要Ansible版本为2.4。
stable-3.1
分支支持的Ceph版本为luminous
和mimic
,该分支需要Ansible版本为2.4。
stable-3.2
分支支持的Ceph版本为luminous
和mimic
,该分支需要Ansible版本为2.6。
stable-4.0
分支支持的Ceph版本为nautilus
,该分支需要Ansible版本为2.8。
stable-5.0
分支支持的Ceph版本为octopus
,该分支需要Ansible版本为2.9。
master
分支支持的Ceph主分支版本,该分支需要Ansible版本为2.9。
备注
stable-3.0 stable-3.1分支已经废弃并不在维护。
1yum -y install git
2git clone https://github.com/ceph/ceph-ansible.git
3# stable-4.0支持的Ceph-nautilus版本. 需要Ansible版本>=2.8,<2.9.
4git checkout stable-4.0
四、安装ansible
1pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
2pip3 install netaddr -i https://pypi.tuna.tsinghua.edu.cn/simple
3
4ansible --version
5ansible 2.8.14
6 config file = /root/ceph-ansible-4.0.28/ansible.cfg
7 configured module search path = ['/root/ceph-ansible-4.0.28/library']
8 ansible python module location = /usr/local/lib/python3.6/site-packages/ansible
9 executable location = /usr/local/bin/ansible
10 python version = 3.6.8 (default, Apr 2 2020, 13:34:55) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
五、配置ssh免密码登录
1ssh-keygen -t rsa -b 2048 -P '' -f ~/.ssh/id_rsa
2
3ssh-copy-id ceph-node1
4ssh-copy-id ceph-node2
5ssh-copy-id ceph-node3
六、配置时间同步
1yum -y install chrony
2systemctl enable --now chronyd
3
4timedatectl set-timezone Asia/Shanghai
七、修改配置文件
创建清单文件
1vim ceph-hosts
2[mons]
310.10.10.50
410.10.10.51
510.10.10.52
6
7[osds]
810.10.10.50
910.10.10.51
1010.10.10.52
11
12[mgrs]
1310.10.10.50
1410.10.10.51
1510.10.10.52
16
17[rgws]
1810.10.10.50
1910.10.10.51
2010.10.10.52
21
22[clients]
2310.10.10.50
2410.10.10.51
2510.10.10.52
修改配置文件
1cd group_vars
2cp all.yml.sample all.yml
3grep -Ev '^#|^$' all.yml
4---
5dummy:
6ceph_repository_type: repository # <== repository表示使用新的库,不使用官方仓库
7ceph_origin: repository # <== 安装方式,repository值表示指定使用仓库安装,
8ceph_repository: community # <== 选择使用库的来源类型,community为免费社区版
9ceph_mirror: http://mirrors.tuna.tsinghua.edu.cn/ceph/ # <== ceph仓库的路径
10ceph_stable_key: http://mirrors.tuna.tsinghua.edu.cn/ceph/keys/release.asc # <== ceph key
11ceph_stable_release: nautilus # <== 安装的ceph版本 nautilus为14,最新的stable版本
12ceph_stable_repo: "http://mirrors.tuna.tsinghua.edu.cn/ceph/rpm-nautilus/" # <== ceph nautilus仓库地址
13monitor_interface: eth0 # <== 网卡名
14public_network: 10.10.10.0/24 # <== 公共网段
15cluster_network: "10.10.10.0/24" # <== 集群网段
16osd_objectstore: bluestore # <== ceph存储引擎
17radosgw_civetweb_port: 8080
18radosgw_interface: eth0
19dashboard_enabled: False # <== 是否启用dashboard
20
21cp osds.yml.sample osds.yml
22grep -Ev '^#|^$' osds.yml
23---
24dummy:
25devices:
26- /dev/vdb # 前面准备的磁盘
27
28cp clients.yml.sample clients.yml
29cp mons.yml.sample mons.yml
30cp mgrs.yml.sample mgrs.yml
31cp rgws.yml.sample rgws.yml
32
33cd ..
34cp site.yml.sample site.yml
执行安装
1ansible-playbook -i ceph-hosts site.yml
等待安装结束即可。
八、测试
具体的测试可以参考我之前的博客:Ceph-12.2.13(luminous)安装
- 原文作者:黄忠德
- 原文链接:https://huangzhongde.cn/post/Linux/Deploy_ceph_nautilus_with_ceph_ansible/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。