CEPH搭建流程详解

一、环境准备

1.准备三台centos7虚拟机。
2.每台虚拟机安装两块网卡,一块仅主机模式,一块nat模式。
3.准备两块硬盘,一块系统盘,另一块作为ceph使用大小1024G。

二、CEPH搭建前的准备工作

1.修改主机名,和hosts文件。

为每个节点修改主机名
hostnamectl set-hostname ceph01
hostnamectl set-hostname ceph02
hostnamectl set-hostname ceph03

su
vi /etc/hosts

2.关闭所有节点的防火墙

systemctl stop firewalld
systemctl disabled firewalld
setenforce 0
vi /etc/sysconfig/selinux
SELINUX=disabled

3.所有节点做ssh免交互,这是为了ceph在安装时需要节点之间的通信。

#设置免交互秘钥
ssh-keygen -t rsa

#将公钥交给其他节点
ssh-copy-id root@节点主机名

4.下载,更新yum源。

#安装wget命令,方便下载新的yum源。
yum install wget -y

#备份原有yum源。
mkdir /etc/yum.repos.d/backup
mv /etc/yum.repos.d/* backup

#用wget命令下载新的yum源。
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

5.更新系统

yum update -y

6.添加ceph,yum源。

vim /etc/yum.repos.d/local.repo

[ceph]
name=Ceph packages for
baseurl=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/$basearch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
priority=1

[ceph-noarch]
name=Ceph noarch packages
baseurl=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/noarch/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
priority=1

[ceph-source]
name=Ceph source packages
baseurl=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/SRPMS/
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
priority=1

三、安装ceph集群

1.首先安装好相应的工具

yum install ceph-deploy python-setuptools -y

2.创建ceph目录,安装ceph

mkdir /etc/ceph
cd /etc/ceph
yum install ceph -y

3.创建mon监控,并初始化监控和秘钥

ceph-deploy new ceph01 ceph02
ceph-deploy mon create-initial

这里先创建两个节点,后面通过集群扩容将第三个节点加入到集群中。
初始化好了集群状态。
在这里插入图片描述
4.在其中一个节点上创建osd

ceph-deploy osd create --data /dev/sdb ceph01
ceph-deploy osd create --data /dev/sdb ceph02

ceph osd tree,查看osd状态

在这里插入图片描述
5.下发admin秘钥到所有节点之中,并增加执行权限。

ceph-deploy admin ceph01 ceph02
#在每个节点上修改秘钥文件的权限
chmod +x /etc/ceph/ceph.client.admin.keyring

在这里插入图片描述
在这里插入图片描述

5.开始为集群扩容
首先将osd加入到集群之中。

ceph-deploy osd create --data /dev/sdb ceph03

在这里插入图片描述
将扩容节点的mon服务加入到集群。

ceph-deploy mon add ceph03`

配置文件无法自动修改,只能手动添加

vi /etc/ceph/ceph.conf
mon_initial_members = ceph01, ceph02, ceph03
mon_host = 192.168.20.20,192.168.20.21,192.168.20.22
public_network= 192.168.20.0/24

下发配置给所有节点,进行覆盖

ceph-deploy --overwrite-conf config push ceph01 ceph02 ceph03

重启三个节点mon服务

systemctl restart ceph-mon.target

扩容成功!
在这里插入图片描述
最后在为每个节点安装mgr服务整个集群就健康了。

ceph-deploy mgr create ceph01 ceph02 ceph03

在这里插入图片描述

四、模拟故障,重新添加osd到集群之中

1.首先模拟故障,将一个osd从集群中移除。


移除osd,删除osd,删除osd认证
ceph osd out osd.2

ceph osd crush remove osd.2

ceph auth del osd.2

#重启所有节点osd服务,osd.2就down掉了
systemctl restart ceph-osd.target

在这里插入图片描述

2.重新将osd加入到集群中。

查看ceph位置信息
df -hT
显示位置信息:
tmpfs          tmpfs     1.9G   28K  1.9G   1% /var/lib/ceph/osd/ceph-2

查看/var/lib/ceph/osd/ceph-2的fsid
[root@ceph03 ceph-2]# more fsid
418ab936-e99e-4299-bdf3-404a2c428c06

重新添加osd进入集群
ceph osd create 418ab936-e99e-4299-bdf3-404a2c428c06

重新添加认证权限
ceph auth add osd.2 osd 'allow *' mon 'allow rwx' -i /var/lib/ceph/osd/ceph-2/keyring

设置ceph03的权重,ceph osd crush add osdID号 权重 host=主机名
ceph osd crush add 2 0.99899 host=ceph03

将osd加入集群
ceph osd in osd.2

重启所有节点的osd服务
systemctl restart ceph-osd.target

在这里插入图片描述
这样osd就重新加入到集群之中。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐