分布式存储系统之Ceph集群部署

前文我们了解了Ceph的基础架构和相关组件的介绍,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16720234.html;今天我们来部署一个ceph集群;
部署工具介绍
1、ceph-deploy:该部署工具是ceph官方的部署工具,它只依赖SSH访问服务器 , 不需要额外的agent;它可以完全运行在自己的工作站上(比如admin host),不需要服务器,数据库类似的东西;该工具不是一个通用的部署工具,只针对ceph;相比ansible,puppet , 功能相对单一;该工具可以推送配置文件,但它不处理客户端配置,以及客户端部署相关依赖等;
2、ceph-ansible:该工具是用ansible写的剧本角色,我们只需要把对应的项目克隆下来,修改必要的参数,就可以正常的拉起一个ceph集群;但这前提是我们需要熟练使用ansible;项目地址https://github.com/ceph/ceph-ansible;
3、ceph-chef:chef也是类似ansible、puppet这类自动化部署工具,我们需要手动先安装好chef,然后手动写代码实现部署;ceph-chef就是写好部署ceph的一个项目,我们可以下载对应项目在本地修改必要参数,也能正常拉起一个ceph集群;前提是我们要熟练使用chef才行;项目下载地址https://github.com/ceph/ceph-chef;
4、puppet-ceph:很显然该工具就是用puppet写好的部署ceph的模块,也是下载下来修改必要参数,就可以正常拉起一个ceph集群;
不管用什么工具,我们首先都要熟练知道ceph集群架构,它的必要组件 , 每个组件是怎么工作的,有什么作用 , 需要怎么配置等等;除此之外我们还需要熟练使用各种自动化部署工具,才能很好的使用上述工具部署ceph集群;
集群拓扑网络

分布式存储系统之Ceph集群部署

文章插图
提示:Public Network是指公共网络,专供客户端连接ceph集群使用;一般如果节点不多,集群规模和用户的访问量不大的情况下,只有一个public network也是完全ok;存在cluster network主要原因是,集群内部的事务处理,可能影响到客户端在ceph存储数据;所以cluster network是集群私有网络,专门用于集群内部各组件通信协调使用;我们用于部署ceph的admin host 只需要有一个公共网络连入集群下发配置即可;
Ceph集群系统基础环境设定
主机地址角色public network:192.168.0.70/24
admin hostpublic network:192.168.0.71/24
cluster network:172.16.30.71/24
mon01/stor01public network:192.168.0.72/24
cluster network:172.16.30.72/24
mon02/stor02public network:192.168.0.73/24
cluster network:172.16.30.73/24
mon03/stor03public network:192.168.0.74/24
cluster network:172.16.30.74/24
mgr01/stor04
public network:192.168.0.75/24
cluster network:172.16.30.75/24
mgr02/stor05各主机主机名解析
192.168.0.70 ceph-admin ceph-admin.ilinux.io192.168.0.71 ceph-mon01 ceph-mon01.ilinux.io ceph-stor01 ceph-stor01.ilinux.io192.168.0.72 ceph-mon02 ceph-mon02.ilinux.io ceph-stor02 ceph-stor02.ilinux.io192.168.0.73 ceph-mon03 ceph-mon03.ilinux.io ceph-stor03 ceph-stor03.ilinux.io192.168.0.74 ceph-mgr01 ceph-mgr01.ilinux.io ceph-stor04 ceph-stor04.ilinux.io192.168.0.75 ceph-mgr02 ceph-mgr02.ilinux.io ceph-stor05 ceph-stor05.ilinux.io172.16.30.71 ceph-mon01 ceph-mon01.ilinux.io ceph-stor01 ceph-stor01.ilinux.io172.16.30.72 ceph-mon02 ceph-mon02.ilinux.io ceph-stor02 ceph-stor02.ilinux.io172.16.30.73 ceph-mon03 ceph-mon03.ilinux.io ceph-stor03 ceph-stor03.ilinux.io172.16.30.74 ceph-mgr01 ceph-mgr01.ilinux.io ceph-stor04 ceph-stor04.ilinux.io172.16.30.75 ceph-mgr02 ceph-mgr02.ilinux.io ceph-stor05 ceph-stor05.ilinux.io各主机配置ntp服务设定各节点时间精准同步
[root@ceph-admin ~]# sed -i 's@^\(server \).*@\1ntp1.aliyun.com iburst@' /etc/chrony.conf[root@ceph-admin ~]# systemctl restart chronyd
分布式存储系统之Ceph集群部署

文章插图
提示:上述服务器都需要在chrony.conf中配置同步时间的服务器,这里推荐使用阿里云,然后重启chronyd服务即可;
各节点关闭iptables 或firewalld服务
[root@ceph-admin ~]# systemctl stop firewalld[root@ceph-admin ~]# systemctl disable firewalld
分布式存储系统之Ceph集群部署

文章插图
提示:centos7 默认没有安装iptalbes服务 , 我们只需要关闭firewalld即可;
各节点关闭并禁用selinux
[root@ceph-admin ~]# sed -i 's@^\(SELINUX=\).*@\1Disabled@' /etc/sysconfig/selinu[root@ceph-admin ~]# setenforce 0
分布式存储系统之Ceph集群部署

文章插图
提示:上述sed命令表示查找/etc/sysconfig/selinux配置文件中,以SELINUX开头的行当所有内容,并将其替换为SELINUX=Disabled;ok , 准备好集群基础环境以后,接下来我们开始部署ceph;

推荐阅读