Ceph 的数据分布算法.docx
《Ceph 的数据分布算法.docx》由会员分享,可在线阅读,更多相关《Ceph 的数据分布算法.docx(9页珍藏版)》请在第壹文秘上搜索。
1、1.引言数据分布是分布式存储系统的要解决的首要问题,在分布式存储系统当中,展核心也是最基本的要求就是数据的分布算法或者规则能够解决以下几个问题:(1)数据负载均衡:数据能够均匀地分布在磁盘容量不等的存储节点;(2)故障隔商:保障不同的数据副本分布于不同的故獐隔离域;(3)节点变动与数据迁移:正常节点上的迁移影响达到最小,数据H达到最少.很多分布式存储系统都会用到一致性哈希凭法来支撑其数据的均衡分布.例如在Aamzon的Dyanmo键值存储系统QPenStaCk的Swift对象存储系统.而Ceph的数据分布主要是齐哈希和CRUSH算法支撑的,而CRUSH第法又是其核心箔法.2. Object-P
2、G映射算法2.1 映射过程从客户端维度看Object-PG的过程,需要经过两个关键步骤:(1) File-Object:将文件按照固定粒度大小(2M/4M)进行切分,得到对象(Obj-ID);(2)ObjectPG:通过哈希算法HASH(Obj-ID)%PG.Number,得到PG(PG-ID).首先,通过接口调用保障文件可以平均切分为多个2/4M的对象以及对象的有序标识号.然后,通过哈希算法将有序序列分散,经过取余计算将对象均匀分布在逻辑分区内的PG上。2.2 PG的价值我们知道,在Ceph中的POOl&PG(PlacementGroup)其实是逻辑概念,它是把Ceph的整个存储空间用Poo
3、l划为若干逻辑的分区,每一个Pool又是由很多个PG组成,每一个PG对应于唯一ObjeCt的数据分布控制,它对应于一个OSD的故障隔离组(IPrimary-OSD&2Replic-0SD).结合图2.2所示,我们可以清晰看到PG在数据分布当中的首个核心价值.图2.2FIIe-PG数据映射分布图示结合图2.2,我们回过头来看File.PG的算法过程:首先,从File到ObjeCt的切分过程,会得到一组有序标识的OBjeCtS;然后经过哈希并取余的算法(HASH(Obj-ID)%PG.Number为导到Object对应的PG.Pool和PG的组成结构是个虚拟的概念,在物理节点经常变动的整个过程当中
4、.每一个Pool之内的PG数量是不会发生变化的。不难理解,随着写入文件数量规模理来越大,被切分的一个个有序ObjeCt组会均匀分布在图2.2Pool当中的各个PG上,而且ObjeCt-ID的取值范围远远超过PG.Number,这样就会保障同一个文件当中ObjeCt在整个Pool分布的分散性特点.虽然ObjeCt-PG并不代表数据的物理分布达到了应有的均衡性,但是最起码为后续PG-OSD映射的均衡性英定了基础.读到这里,或许有人会有疑问”为什么不直接完成ObjeCt-OSD的映射,这样不是更直接,住潴更好么?”.那么,顺着这个疑问的思路,我们不妨把算法改变为(HASH(Obj-ID)%OSD_N
5、umber),这里的取余披除数由PG_Number变成了OSD_Number,逻娼节点变成了物理节点,不变的因素变成了经常会发生变化的因素(故障&扩容).一旦发生这种变化,之前存储的所有数据的计算结果大概率发生变化,这样的变化会带来大规模的数据迁移.这显然是与分布式系统数据分布的基本诉求点是相悖的.因此,无论是采用哈希一致性算法还是采用其他数据分布舜法,中间的虚拟对象是必要的.3. PG_OSD映射算法3.1 CIustejMapCeph09clustermap包含的几个主要map分别是MonitormapxOSDmap.CRUSHmap、PGmap.这些clustermap将有助于知晓集群的
6、状态和配置.接下来分别吞看这些Map当中都包含了哪些基础的信息.(1) MOnitOrMap:它包含Monitor基本信息,例如集群ID、monitor节点信息、IP地址和端口号、配首版本、时间战等相关信息.(2) OSDMap:一方面是OSD自身的信息(节点、容量、状态、权重等);另外一方面是存储池相关的信息(存储池名称、ID、类型、制本级别、PGs).(3) PGMap:一方面是PG自身信息(ID、版本、时间裁、OSDmap的最新版本号、容量);另外一方面是对象信息(数量、状态、时间联、OSDSetS等).(4)CRUSHMap:它保存的信息包括集群设备列表、bucket歹IJ表、故障域(
7、failuredomain)分层结构、保存数据时用到的为故障域定义的规则(rules)等.PGJDSD的映射过程主要依赖于PGMap&CRUSHMap.接下来我们来看看CRUSHMap究竟是一个什么样的数据结构.将代码的结构化逻辑提取出来之后,如下所示:早力“devices”:由“types“:一j“buckets”:由“rules”:一1tunables:nchoose_argsn:1.一这里面,4,device即OSD实例,types=root,region,datacenter,room,pod、pdu、row、rack、chassis,host、osd.从types可选项的数据结构不难
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Ceph 的数据分布算法 数据 分布 算法
