Ceph概念介绍及组件介绍

发布时间:2020-07-15 08:42:08 作者:腿快抖断了
来源:网络 阅读:972

一:Ceph基础介绍



二:核心组件介绍

全称是Object Storage Device,主要功能包括存储数据,处理数据的复制、恢复、回补、平衡数据分布,并将一些相关数据提供给Ceph Monitor





三:基础组件介绍






四:术语介绍,名词解释

crush
是Ceph使用的数据分布算法,类似一致性哈希,让数据分配到预期的地方


map
上面说过,monitor组件负责监视整个集群的运行状况,如各节点之间的状态、集群配置信息,这些信息由维护集群成员的守护程序来提供,如何存放这些信息呢,答案就是map,ceph monitor map主要包括如下这几个


副本
副本是ceph存放数据的份数,可以理解为对一个文件备份的份数,ceph默认的副本数是3,即一个主(primary ),一个次(secondary),一个次次(tertiary),只有primary osd的副本才解释客户端请求,它将数据写入其他osd
如下,可以看到这个叫做testpool的pool中有一个叫做object1的object,他的map信息获取后可以看到
这个对象在osd1上面是主,在osd0和osd2上是次和次次,也就是说在副本数为3的情况下,每个osd存储一个副本

[root@ceph-1 ~]# ceph osd map testpool object1
osdmap e220 pool 'testpool' (38) object 'object1' -> pg 38.bac5debc (38.0) -> up ([1,0,2], p1) acting ([1,0,2], p1)

其他内容解释


object

ceph最底层的存储单元,即对象,每个对象包含元数据和原始数据,当用户要将数据存储到ceph集群时,存储数据会被分为多个对象,每个对象的大小是可以设置的,默认是4MB,可以将object堪称是ceph存储的最小单元


pg和pgp

pg是用来存放object的
pgp是相当于pg存放在osd的一种排列组合,他不影响副本个数,只影响副本排列顺序


pool
pool是一个逻辑存储概念,我们创建pool的时候,需要指定pg和pgp,Ceph 的池是一个用来存储对象的逻辑分区 ,Ceph每个池都包含一定数量 PG 进而实现把一定数量的对象映射到集群内部不同 OSD
此,因此, 每一个池都是交叉分布在集群所有节点上的 ,也就是说pool是分布在整个集群上面的,这样就能够提供足够的弹性

五:易混点辨析

object与pg的关系
由于object的数量很多,所以Ceph引入了pg的概念用于管理object,每个object最后都会通过CRUSH计算映射到某个pg中,一个pg可以包含多个object


pg与osd的关系
pg也需要通过CRUSH计算映射到osd中去存储,如果是三副本的,则每个pg都会映射到三个osd,比如[osd.0,osd.1,osd.2],那么osd.0是存放该pg的主副本,osd.1和osd.2是存放该pg的从副本,保证了数据的冗余


pg和pool的关系
pool也是一个逻辑存储概念,我们创建存储池pool的时候,都需要指定pg和pgp的数量,逻辑上来说pg是属于某个存储池的,就有点像object是属于某个pg的


pg和pgp的关系


存储数据, object, pg,pgp, pool, osd, 存储磁盘的关系

Ceph概念介绍及组件介绍

另外,这里又另一张图,是我在别的大佬的文章里发现的也不错,就也放到这里把
Ceph概念介绍及组件介绍

推荐阅读:
  1. (0)ceph 学习站点介绍
  2. Openstack Mitika组件介绍

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

ceph ce cep

上一篇:复习二进制位的一些操作

下一篇:C#中一些易混淆概念总结--------数据类型存储位置,方法调用,out和ref参数的使用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》