本文参照臧学雪园老师的Ceph基础篇视频教程加以归纳整理,再次感谢臧雪园老师。
基础环境的准备

实验拓扑图:
使用ceph-deploy搭建三节点ceph集群

首先准备基础环境,因为我的笔记本电脑内存只有4G,所以三台虚拟机全部使用最小安装。

ceph1:192.168.6.145   每台主机准备四块磁盘,sda作为系统盘,其它三块作为ceph的OSD服务磁盘使用
ceph2:192.168.6.146
ceph3:192.168.6.147

systemctl stop firewalld           
systemctl disable firewalld     //关闭防火墙并设置开机不启动
vim /etc/selimux/config
selinux=disabled                //更改selinux的模式  
hostnamectl set-hostname ceph1   //三台主机名分别设置为ceph1-3,注意这里使用短主机名

然后准备安装ceph集群的环境变量

以下配置三台机器都需要设置
vim /openrc                  //编辑一个文本
export username="ceph-admin"     //安装时使用ceph-admin一般用户安装,这里设置一个变量方便后面调用    
export passwd="ceph-admin"         
export node1="ceph1"                   //设置主机名的环境变量
export node2="ceph2"
export node3="ceph3"
export node1_ip="192.168.6.145"   //设置主机ip地址的环境变量
export node2_ip="192.168.6.146"
export node3_ip="192.168.6.147"
下载ceph的rpm源
wget -O /etc/yum.repos.d/ceph.repo https://raw.githubusercontent.com/aishangwei/ceph-demo/master/ceph-deploy/ceph.repo
配置ntp
yum install -y ntp ntpdate
ntpdate cn.ntp.org.cn
systemctl restart ntpd
systemctl enable ntpd
systemctl enable ntpdate
创建部署用户
useradd  ${username}       //创建ceph-admin用户,用于集群部署
echo "${passwd}"  | passwd --stdin ${username}
echo "${username} ALL = (root) NOPASSWD:ALL"  | sudo tee /etc/sudoers.d/ceph-admin  //设置ceph-admin执行特殊命令时的sudo权限
chmod 0440  /etc/sudoers.d/ceph-admin   更该文件权限
配置三台主机的主机名解析
vim /etc/hosts
192.168.6.145    ceph1                 
192.168.6.146    ceph2
192.168.6.147    ceph3

配置三台主机的ssh免密钥登录

su - ceph-admin
ssh-keygen
ssh-copy-id ceph-admin@ceph1
ssh-copy-id ceph-admin@ceph2
ssh-copy-id ceph-admin@ceph3

使用ceph-deploy部署集群

安装ceph-deploy
sudo yum install -y ceph-deploy python-pip //注意python-pip需要使用epel源,提前将epel源配置好
mkdir  my-cluster      //创建安装目录
cd my-cluster
进行节点部署
ceph-deploy new ceph1 ceph2 ceph3    //这里务必要保证三台主机的网络是互通的
安装完之后my-cluster目录下面会生成三个文件
ceph.conf
ceph-deploy-ceph.log
ceph.mon.keyring
编辑ceph.conf配置文件,在最后添加一下信息
sudo vim  ~/my-cluster/ceph.conf
public network = 192.168.6.0/24
cluster network = 192.168.6.0/24
安装ceph包
sudo  yum install -y ceph ceph-radosgw         //三个节点上都要安装,这两个包需要使用epel源,两外两个节点需要配置好epel源
配置初始的monitor并收集所有密钥:
ceph-deploy mon create-initial
把配置信息拷贝到各节点
ceph-deploy admin ceph1 ceph2 ceph3 
配置osd
使用for循环语句执行(也可以写到文本中做成脚本执行)
for dev in /dev/sdb  /dev/sdc /dev/sdd         //注意磁盘名称,可以使用lsblk命令进行查看
do
        ceph-deploy disk zap ceph1 $dev
        ceph-deploy osd create ceph1 --data  $dev
        ceph-deploy disk zap ceph2 $dev
        ceph-deploy osd create ceph2 --data  $dev
        ceph-deploy disk zap ceph3 $dev
        ceph-deploy osd create ceph3 --data  $dev
done
配置完OSD之后,部署mgr用于监控整个集群
ceph-deploy mgr create ceph1 ceph2 ceph3 
开启dashboard模块,启用浏览器界面
在开启dashboard模块之前要注意,因为我们是使用ceph-admin一般用户进行安装,所有无法调用/etc/ceph/下面的文件,将/etc/ceph目录下面的文件属主属组全部更改为ceph-admin
sudo chown -R ceph-admin /etc/ceph
然后加载dashboard模块
ceph mgr module enable dashboard 
加载完模块之后查看7000号端口号是否正常监听
ss -ntl 
打开浏览器输入192.168.6.145:7000查看ceph存储集群整体状况

此时使用ceph-deploy部署三节点集群配置完毕