ceph是什么?
是一个能提供文件存储、块存储、对象存储的可无限扩容的分布式存储集群。
ceph的组成
由RADOS、CEPH FS、RBD、RADOSGW、LIBRADOS组成。
RADOS是底层原生数据的存储引擎,高可用、负载均衡、都是由这一层来进行存储的。
RADOSGW是基于restful协议的网关,支持S3和swif,也就是支持对象存储。
LIBRADOS供开发人员使用的接口。
CEPH FS通过linux客户端和fuse提供文件系统。
RBD通过linux客户端和QEMU/KVM提供一个分布式的块设备。
ceph集群
集群组件
主要有OSD、Monitor两中守护进程,。
ceph OSD(object storage device):存储数据、处理数据,通过检测其他osd守护进程的心跳向monitor提供监测信息。
ceph Monitor:是一个监视器,监视ceph集群状态和维护集群中的各种关系。
准备三台机器192.168.100.101、192.168.100.102、192.168.100.103,每台需要加一块磁盘,不用分区。
1、更改主机名
hostnamectl set-hostname --static ceph1
hostnamectl set-hostname --static ceph2
hostnamectl set-hostname --static ceph3
添加域名解析
vim /etc/hosts
2、关闭防火墙、selinux、iptables -F
3、时间同步
systemctl start ntpd && systemctl enable ntpd
4、准备好ceph的yum源(所以机器都要准备)
vim /etc/yum.repos.d/ceph.repo
[Ceph]
name=Ceph packages for
b
a
s
e
a
r
c
h
b
a
s
e
u
r
l
=
h
t
t
p
s
:
/
/
m
i
r
r
o
r
.
t
u
n
a
.
t
s
i
n
g
h
u
a
.
e
d
u
.
c
n
/
c
e
p
h
/
r
p
m
−
m
i
m
i
c
/
e
l
7
/
basearch baseurl=https://mirror.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/
basearchbaseurl=https://mirror.tuna.tsinghua.edu.cn/ceph/rpm−mimic/el7/basearch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://mirror.tuna.tsinghua.edu.cn/ceph/keys/release.asc
priority=1
[Ceph-noarch]
name=Ceph noarch packages
baseurl=https://mirror.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://mirror.tuna.tsinghua.edu.cn/ceph/keys/release.asc
priority=1
[ceph-source]
name=Ceph source packages
baseurl=https://mirror.tuna.tsinghua.edu.cn/ceph/rpm-mimic/el7/SRPMS
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://mirror.tuna.tsinghua.edu.cn/ceph/keys/release.asc
priority=1
开始正式部署集群
1、ssh免密
在ceph1上进行
ssh-keygen
ssh-copy-id ceph1
ssh-copy-id ceph2
ssh-copy-id ceph3
2、在ceph1上安装部署工具
yum install ceph-deploy -y
3、安装ceph、ceph-radosgw(所以节点都安装)
yum install ceph ceph-radosgw -y
ceph -v
4、在ceph1上创建集群
mkdir /etc/ceph && cd /etc/ceph
创建一个集群
ceph-deploy new ceph1
会生成三个文件
ceph.conf 集群配置文件
ceph-deploy-ceph.log 使用ceph-deploy部署的日志记录
ceph.mon.keyring mon的验证key文件
5、创建mon
vim /etc/ceph/ceph.conf
public network = 192.168.100.0/24 ceph机器所在的网段
部署mon管理节点
ceph-deploy mon create-initial
将配置文件信息同步到所有节点
ceph-deploy admin ceph1 ceph2 ceph3
查看集群状态
ceph -s
6、创建mgr
ceph luminous版本中新增加了一个组件:Ceph Manager Daemon,简称ceph-mgr。
该组件的主要作用是分担和扩展monitor的部分功能,减轻monitor的负担,让更好地管理ceph存储系统。
小结: 把mon比作管理者,mgr就是mon职责分出来的另一个管理者
创建一个mgr
ceph-deploy mgr create ceph1
添加多个mgr
ceph-deploy mgr create ceph2
ceph-deploy mgr create ceph3
7、创建osd,每个ceph集群至少1个mon、2个osd
查看节点上的磁盘
ceph-deploy disk list ceph1
ceph-deploy disk list ceph2
ceph-deploy disk list ceph3
创建osd
ceph-deploy osd create --data /dev/sdb ceph1
ceph-deploy osd create --data /dev/sdb ceph2
ceph-deploy osd create --data /dev/sdb ceph3
查看集群信息
ceph -s
到这里集群就算是搭建成功了。
集群扩容方法
假设再加一个新的集群节点ceph4
1, 主机名配置和绑定
2, 在node4上 yum install ceph ceph-radosgw -y 安装软件
3, 在部署节点ceph1上同步配置文件给ceph4. ceph-deploy admin ceph4
4, 按需求选择在ceph4上添加mon或mgr或osd等