最近在学习DevOps,其中讲到了Ceph,Ceph环境的部署是学习Ceph的第一步。安装Ceph的过程也可以让我们学习理解一些Ceph的相关概念。虽然Ceph安装部署比较简单,没有什么难度,但是在实际操作,还是会遇到不少问题,我在ceph集群节点做初始化的时候搞了很久,最后把整个node1 ,node2,node3系统全部重装安装后才可以,也没有搞清楚啥原因,反正是系统原因。
一、 环境准备:
1.三台虚拟机。CenOS7.6
- node1 192.168.68.127(三块硬盘) Mon、mgr、rgs、osd
- node2 192.168.68.128(三块硬盘) Mon、mgr、rgs、osd
- node3 192.168.68.129(三块硬盘) Mon、mgr、rgs、osd
- 关闭防火墙
firewalld 和 selinux
systemctl stop firewalld
systemctl disable firewalld
sed -i '/SELINUX/s/enforcing/disabled/g' /etc/sysconfig/selinux
setenforce 0
- 修改节点主机名
hostnamectl set-hostname node1
hostnamectl set-hostname node2
hostnamectl set-hostname node3
- 添加hosts解析
cat >/etc/hosts<<EOF
127.0.0.1 localhost localhost.localdomain
192.168.68.127 node1
192.168.68.128 node2
192.168.68.129 node3
EOF
- 同步节点时间
yum install ntpdate -y
ntpdate pool.ntp.org
- 配置免秘钥
ssh-keygen
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3
测试是否可免秘钥登录
7. 配置Ceph EPEL 国内yum源
cat <<EOM > /etc/yum.repos.d/ceph.repo
[noarch]
name=ceph noarch
baseurl=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/noarch
enabled=1
gpgcheck=0
[x86_64]
name=ceph x86_64
baseurl=https://mirrors.aliyun.com/ceph/rpm-nautilus/el7/x86_64
enabled=1
gpgcheck=0
EOM
yum install epel-release
yum makecache
- 在部署机上安装ceph-deploy (2.0版本以上),2.0以下版本会出现问题。
yum -y install ceph-deploy python-setuptools
- 更新node2,node3节点的yum源
for host in node{2..3};do scp -r /etc/yum.repos.d/* $host:/etc/yum.repos.d/ ;done
10.在node1上安装相关包
for host in node{1..3};do ssh -l root $host yum install ceph ceph-radosgw -y ;done
ceph -v
rpm -qa |grep ceph
二、部署ceph集群
部署机node1上
1.部署ceph集群主要是通过ceph-deploy来进行。
mkdir -p cluster
cd cluster/
ceph-deploy new node1 node2 node3
ceph-deploy mon create-initial
ceph-deploy admin node1 node2 node3
ceph -s
说明:
- ceph-deploy new来初始化三个monitor,node1,node2,node3,主要是生成最基本的配置文件ceph.conf,ceph.mon.keyring
- ceph-deploy mon create-initial来初始化节点,主要是创建monitor,会根据ceph.conf进行创建mon,判断morintor都创建成功后,会进行keyring收集。
- ceph-deploy admin 来分发秘钥,将集群admin.keyring分发给指定的节点。这个节点就可以使用ceph命令了,如ceph -s。接下来创建mgr。
2.创建mgr;
mgr分担了很多原本monitor的工作,根据集群的规模,可以创建2-3个mgr,不过也没有必要创建太多。接下来可以创建osd
ceph-deploy mgr create node1 node2 node3
3. 创建osd
ceph-deploy osd create node1 --data /dev/sdb
ceph-deploy osd create node1 --data /dev/sdc
ceph-deploy osd create node2 --data /dev/sdb
ceph-deploy osd create node2 --data /dev/sdc
ceph-deploy osd create node3 --data /dev/sdb
ceph-deploy osd create node3 --data /dev/sdc
以下可以看到,osd全部创建成功。
至此,ceph部署完成。最后就可以创建存储池来使用了。