Ceph存储技术中CRUSH算法的研究与改进
发布时间:2017-09-04 12:38
本文关键词:Ceph存储技术中CRUSH算法的研究与改进
更多相关文章: Ceph分布式存储 CRUSH算法 一致性哈希 温度因子 负载均衡
【摘要】:为了适应大数据应用场景逐步由计算中心向数据中心转变,分布式存储系统作为底层基础设施之一,面临多方面的挑战,包括数据量的增长速度、数据种类的多样性、愈来愈高的性能需求等。针对这些变化,分布式存储技术中首要解决的三大技术难点有:数据一致性、数据可靠性和负载均衡;数据分布问题直接影响集群的负载均衡,优秀的数据分布算法对一个分布式存储系统尤为重要。CRUSH(Controlled Replication Under Scalable Hashing)算法是Ceph分布式存储系统中的数据分布算法,该算法通过实际的集群物理架构,建立一个多层次的映射表,根据层次结构进行迭代,返回一组最适合存储数据对象的存储节点;该算法使用一致性哈希算法来产生伪随机数,并结合了节点权重进行加权运算。因此,该算法分配存储位置的时候考虑了集群当前的存储情况,在大多数情况下能够保证数据分布足够均匀,不会影响集群的负载均衡;由于数据对象的大小、集群规模以及实际的部署结构都作为参数参与了CRUSH算法的运算过程,所以三者之间存在互相影响,互相制约的关系。在实际应用当中,如果存储的单个数据对象太小,影响节点权重的变化较小,容易造成一组相关性高的数据存入同一组存储节点中;针对这一组数据进行访问的时候就会产生负载均衡问题,即某些节点的使用率过高,而大部分节点空闲,使整个集群的性能急剧下降;另外一方面,如果对集群的存储规模进行改动,如扩容、删除历史数据、备份、节点故障等造成集群节点的权重值差异也会导致小文件数据对象落入相同的节点,造成存储分布不均匀,进而影响集群的性能。经研究发现,上述问题是由CRUSH数据分布算法所引起的,CRUSH算法没有充分考虑数据的多样性和集群规模的扩展性对数据分布的影响;因此,论文通过对CRUSH算法进行改进。概括起来论文研究的主要内容如下所示:(1)对Ceph分布式存储系统进行研究,介绍Ceph相比传统的分布式存储架构具有的创新点和实现原理;通过模拟大规模集群,对Ceph分布式存储进行测试,验证了目前Ceph分布式存储系统确实存在数据分布不均匀的缺陷。(2)对CRUSH数据分布算法进行改进,增加温度因子约束小文件数据对象的存储;当CRUSH算法在选择结果时,除了优先考虑weight值高的节点,还要在每一次访问节点时增加被访问节点的温度值,当连续访问同一个节点时,温度值会以更快的速度增长,与weight值相反,CRUSH算法应当优先考虑温度值低的节点。(3)将改进的CRUSH算法以动态链接库的方式应用到Ceph分布式存储系统中,增加了部署Ceph的灵活性,根据实际情况选择是否需要优化,以参数的形式进行调整,无需对整个集群进行备份和重启。基于上述研究内容,建立实验环境,搭建Ceph分布式存储集群,模拟多种应用场景对集群进行测试。最后,论文通过rados bench静态统计数据分布情况;使用iostat动态记录和分析每个存储节点中磁盘使用率;使用不同参数的iozone工具对整个集群进行吞吐量(Throughput)验证对比改进前和改进后的集群性能,验证改进后算法的可行性和优化程度。实验结果表明,改进的CRUSH算法能够解决小文件存储所引起的负载均衡问题。
【关键词】:Ceph分布式存储 CRUSH算法 一致性哈希 温度因子 负载均衡
【学位授予单位】:成都信息工程大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:TP333
【目录】:
- 摘要4-6
- Abstract6-10
- 第一章 绪论10-17
- 1.1 选题背景及意义10-12
- 1.2 国内外研究现状12-13
- 1.2.1 Ceph开源项目的进展状况12-13
- 1.2.2 CRUSH算法的研究现状13
- 1.3 论文的主要工作13-14
- 1.3.1 研究Ceph分布式存储13
- 1.3.2 改进CRUSH数据分布算法13-14
- 1.3.3 优化Ceph存储性能14
- 1.4 论文结构与创新点14-17
- 1.4.1 论文的组织结构14-15
- 1.4.2 论文的创新点15-17
- 第二章 分布式存储系统17-29
- 2.1 分布式存储的架构设计17-21
- 2.1.1 分布式存储通用设计思想17-20
- 2.1.2 Ceph分布式存储的特点20-21
- 2.2 分布式存储中的关键技术21-26
- 2.2.1 分布式系统一致性问题21-24
- 2.2.2 Ceph的一致性问题24-26
- 2.3 Ceph分布式存储的优势26-28
- 2.3.1 Ceph分布式存储系统的“统一性”优势26-27
- 2.3.2 Ceph分布式存储系统的容错能力27-28
- 2.4 本章小结28-29
- 第三章 CRUSH算法的研究与分析29-40
- 3.1 CRUSH算法的目标29
- 3.2 CRUSH算法设计与分析29-36
- 3.2.1 集群映射表的分层设计29-31
- 3.2.2 数据结构Bucket类型31-35
- 3.2.3 数据副本的存放方式35-36
- 3.3 CRUSH算法流程36-38
- 3.4 CRUSH算法可靠性评价38-39
- 3.5 本章小结39-40
- 第四章 改进的CRUSH算法设计与实现40-50
- 4.1 改进算法的提出背景40-41
- 4.2 温度因子计算过程41-44
- 4.3 改进的CRUSH算法原理44-45
- 4.4 改进的CRUSH算法流程45-49
- 4.4.1 改进数据对象45-46
- 4.4.2 选取温度因子46-47
- 4.4.3 基于温度因子的CRUSH算法47-49
- 4.5 本章小结49-50
- 第五章 实验与性能分析50-60
- 5.1 实验环境准备50-53
- 5.1.1 Ceph集群软件环境与硬件配置50-51
- 5.1.2 Ceph集群内部网络配置方案51
- 5.1.3 集群搭建详细步骤51-53
- 5.2 集群性能测试53-57
- 5.2.1 数据分布对比实验53-57
- 5.2.2 集群I/O负载均衡实验57
- 5.3 实验结果分析57-59
- 5.4 本章小结59-60
- 第六章 总结与展望60-62
- 6.1 全文总结60
- 6.2 研究展望60-62
- 参考文献62-66
- 作者在读期间科研成果简介66-67
- 致谢67
【参考文献】
中国期刊全文数据库 前3条
1 詹明非;;软件定义存储技术及其应用研究[J];电信技术;2014年12期
2 沈良好;吴庆波;杨沙洲;;基于Ceph的分布式存储节能技术研究[J];计算机工程;2015年08期
3 陶雪娇;胡晓峰;刘洋;;大数据研究综述[J];系统仿真学报;2013年S1期
,本文编号:791623
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/791623.html