1.ceph的组件和功能
ceph重要的核心组件分别是:Ceph OSD、Ceph Monitor和Ceph MDS。一个Ceph存储集群至少需要一个ceph monitor和至少两个Ceph OSD。运行Ceph文件系统的客户端时,Ceph的元数据服务(MDS)必不可少的。
Ceph OSD:全称是Object Storage Device,主要功能是存储数据,处理数据的复制、恢复、回补、平衡数据分布,并将一些相关数据提供给Ceph Monitor,。例如ceph OSD心跳等。一个Ceph的存储集群,至少两个Ceph OSD来实现 active + clean健康状态和有效的保存数据的双副本(默认情况下是双副本,可以调整)。每一个Disk、分区都可以成为一个OSD。
Ceph Monitor: Ceph的监控器,主要功能是维护整个集群健康状态,提供一致性的决策,包含了Monitor map、OSD map、PG(Placement Group)map和CRUSH map。
Ceph MDS:全称是Ceph Metadata Server,主要保存的是Ceph文件系统(File System)的元数据(metadata)。注意:ceph块存储和ceph的对象存储都不需要Ceph MDS。Ceph MDS为基于POSIX文件系统的用户提供一些基础命令。例如:ls、find等命令。
2.ceph的数据读写流程
file写入过程:
当某个client需要向Ceph集群写入一个file时, 首先需要在本地完成寻址流程, 将file变为一个object, 然后找出存储该object的一组三个OSD。
找出三个OSDS, client将直接和Primary OSD通信, 发起写入操作(步驟1 ) 。 Primary OSD收到请求后, 合别向Secondary OSD和 Tertiary OSD发起写入操作(步驟2 、 3) 。 当Secondary OSD和Tertiary OSD各自完成写入操作后, 将分别向Primary OSD发送确认信息(步骤4、 5) 。 当Primary OSD确信其他两个OSD的写入完成后, 则自己也完成数据写入, 并向client确认object写入操作完成( 步骤6)
3.使用ceph-deploy安装一个最少三个节点的ceph集群 推荐3个或以上的磁盘作为专用osd
分别为三个节点添加三个新硬盘:
安装前准备:
关闭防火墙,禁止selinux:
[root@localhost ~]# sestatus
SELinux status: disabled
[root@localhost ~]# firewall-cmd --state
not running
配置主机名和hosts解析:
给主机4配置主机名:
[root@localhost ~]# hostnamectl set-hostname client
都配置hosts解析:
[root@localhost ~]# cat >> /etc/hosts << EOF
> 192.