赞
踩
实验:
1.ceph的组件和功能
2.ceph的数据读写流程
3.使用ceph-deploy安装一个最少三个节点的ceph集群 推荐3个或以上的磁盘作为专用osd
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 来跟踪文件层次结构,即元数据。
以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) 。
提前准备四台虚拟机:
ip name 系统
***137 node1 centos7
***138 node2 centos7
***139 node3 centos7
***140 client centos7
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。