ceph分布式存储 集群部署

实验:

1.ceph的组件和功能
2.ceph的数据读写流程
3.使用ceph-deploy安装一个最少三个节点的ceph集群 推荐3个或以上的磁盘作为专用osd

一、ceph的组件和功能

1.什么是ceph

Ceph是一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式的存储系统

  • “统一的” : 意味着Ceph可以一套存储系统同时提供对象存储、 块存储和文件系统存储三种                       功能, 以便在满足不同应用需求的前提下简化部署和运维。
  • “分布式” : 在Ceph系统中则意味着真正的无中心结构和没有理论上限的系统规模可扩展性。

2.ceph的组件及功能

①:RADOS(Reliable Autonomic Distributed Object Store, RADOS)

RADOS是Ceph 存储集群的基础。Ceph 中的一切都以对象的形式存储,而RADOS 就负责存储这些对象,而不考虑它们的数据类型。RADOS 层确保数据一致性和可靠性。对于数据一致性,它执行数据复制、故障检测和恢复。还包括数据在集群节点间的recovery。

②:OSD

实际存储数据的进程。通常一个OSD daemon绑定一个物理磁盘。Client write/read 数据最终都会走到OSD去执行write/read操作。

③:MON(monitor)

Monitor在Ceph集群中扮演者管理者的角色,维护了整个集群的状态,是Ceph集群中最重要的组件。

④:Librados

简化访问RADOS的一种方法,目前支持PHP、Ruby、Java、Python、C和C++语言。它提供了Ceph 存储集群的一个本地接口RADOS ,并且是其他服务(如RBD 、RGW) 的基础,以及为CephFS 提供POSIX 接口。librados API 支持直接访问RADOS ,使得开发者能够创建自己的接口来访问Ceph 集群存储。

⑤:RBD

Ceph块设备。对外提供块存储。可以像磁盘一样被映射、格式化已经挂载到服务器上。支持snapshot。

⑥:RGW

Ceph对象网关,提供了一个兼容S3和Swift的restful API接口。RGW还支持多租户和Openstack的keyston身份验证服务。

⑦:MDS

Ceph元数据服务器,跟踪文件层次结构并存储只供CephFS使用的元数据。Ceph块设备和RADOS网关不需要元数据。MDS不直接给client提供数据服务。

⑧:CephFS

提供了一个任意大小且兼容POSlX的分布式文件系统。CephFS 依赖Ceph MDS 来跟踪文件层次结构,即元数据。

二、ceph的读写流程

以file写入过程为例

ceph分布式存储 集群部署_第1张图片

► 当某个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) 。

三、安装ceph集群

提前准备四台虚拟机:

ip               name         系统

***137         node1         centos7

***138         node2         centos7

***139         node3         centos7

***140         client          centos7

1.关闭

你可能感兴趣的:(运维,分布式)